Invalid patch location
When I tried to apply patch in a RAC environment, I got error "Invalid patch location".
[root@primary01 ~]# export PATH=$PATH:/u01/app/12.1.0/grid/OPatch
[root@primary01 ~]# opatchauto apply /home/grid/31305174 -analyze
OPatchauto session is initiated at Tue Aug 18 19:10:17 2020
OPATCHAUTO-72080: Invalid patch location.
OPATCHAUTO-72080: Patch location supplied is not found.
OPATCHAUTO-72080: Please provide a correct patch location.
OPatchauto session completed at Tue Aug 18 19:10:19 2020
Time taken to complete the session 0 minute, 3 seconds
opatchauto bootstrapping failed with error code 255.
This is because the directory permission of /home/grid prevents user oracle to access all files underneath.
Let's check the readme of the patch once again.
This directory must be empty and not be /tmp. Additionally, the directory should have read permission for the ORA_INSTALL group.
In this case, ORA_INSTALL group means oinstall.
[root@primary01 ~]# ll /home
drwx------. 4 grid oinstall 4096 Aug 18 14:02 grid
drwx------. 3 oracle oinstall 4096 Aug 18 13:02 oracle
As you can see, the directory cannot be read by oinstall. Now, we have two choices, the first one is to change the permission of the directory into a wider set (e.g. chmod -R 770 /home/grid), the second one is to move the patches to the upper level, say, put patches into /home/patches/. After that, you can see that opatchauto completed successfully.