Apply to CM/DB node first with the following options if you have enough CPU. Use no more than 4X workers per CPU on the middle tiers.
adpatch defaultsfile=$APPL_TOP/admin/$TWO_TASK/adalldefaults.txt workers=16 options=compiledb,hotpatch logfile=
Then apply to the second node with the following:
adpatch defaultsfile=$APPL_TOP/admin/$TWO_TASK/adalldefaults.txt workers=16 options=compiledb,hotpatch,nodatabaseportion logfile=
Can we assume you do NOT have a shared appltop ?
The answer is very different, either this being in use or not.
The database location is not relevant for Adpatch, it could be another server, it doesn't matter ... well, not for Adpatch that is.
When you state a maximum of 4 workers per CPU, how do you end up with 16, without knowing the number of CPU's, on each of the involved machines, and without knowing how much CPU is being used by the database ?
And, assuming nothing else is running on any of the machines ...
Sixteen (16) is quite high, actually
1. You apply the patch on the admin node first. This is your main node, the node you
start first and stop last when bouncing the apps tier.
If you have a shared appltop, you only apply the patches to the admin node. T
The patch will do what it needs to on the 2nd node from the admin node.
You don't apply them on the 2nd node.
2. You don't have to use special commands depending on the type of server, web or concurrent manager, From the Patching guide,
it say's the driver knows what to apply.
The unified driver, named u<patchnum>.drv, contains the commands necessary to
change files and database objects, and to generate new objects. It contains a sequential
list of copy, database, and generate instructions, which are arranged in sections. You
typically run the unified driver on all APPL_TOPs. AutoPatch runs only the actions that
are required for the current APPL_TOP. However, there may be scenarios where you
run only the applicable portion of the driver. In these cases, the readme file directs you
to run PAA to generate the specific instructions.
2 cool things you can do when applying a patch.
1. Use a defaults file
2. Set max_parallel_servers and job_queue_processes
show parameter cpu
7.5.1 AD Parallel Workers and parallel_max_servers
The typical recommendation is to set:
parallel_max_servers = 2 x number of CPU cores.
job_queue_processes = 2 x number of CPU cores is normally recommended
AD Parallel workers – start with 1.5 x number of CPU cores. Possibly increase to 2.0 x number of CPU cores.
However, note that lower values may turn out to be more optimal, for the following reasons:
if the number of CPU cores is 32 and above, then start with parallel_max_servers and AD Parallel workers below the above levels. For example:
parallel_max_servers = 1.5 x number of CPU cores.
AD Parallel workers to between 1.0 and 1.5 x number of CPU cores.
Set the number of workers=1+NumberOfCPU, not more, you want to take advantage of max_parallel_servers and job_queue_processes. The patching manual says to use 2 to 4 X cpu but does not take into account job_queue_processes or max_parallel_servers.
This is were performance tuning your patch application comes in, if it's a small patch it doesn't matter, but if it's a large patch that takes more than 15 minutes, this will make a difference.
If you want to experiment
unset-> this does NOT mean=0 -> this means unset the following parameters so it takes the default number of
max_parallel_servers and job_queue_processes.
If you unset these parameters, you will also need to increase the processes /sessions parameters accordingly.
You will know if the processes are not set high enough because the patch will stop doing anything and you will have to
bounced the database, then set processes higher. Also, the workers = cpu or 1+cpu, not more.
If you don't want to exeriment, just use the formula of 2XCPU for job_queue_processes and max_parallel_servers. Always use workers=1+cpu.
Something you should never do is apply a patch in hotpatch mode if the patch readme doesn't say specifically to apply it in hotpatch mode.
You gotta know your patch to apply in hotpatch mode.
I think he was just giving you an example of the command. The number of workers depends on the number of cpu's.