5 Replies Latest reply on Mar 15, 2019 9:37 PM by lmu

    Adpatch in R12.1.3




      I have EBS R12.1.3 version in 2 node.


      1 - Node apps

      2 - CM and DB


      EBS - R12.1.3

      DB -


      Now I want to apply patch. Please help me below query


      1 - On which node I need to apply patch first -  CM or App node?

      2 - And what is the command to run in second node ? adpatch options= ?

        • 1. Re: Adpatch in R12.1.3

          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=

          • 2. Re: Adpatch in R12.1.3
            Mr. C

            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.

            • 3. Re: Adpatch in R12.1.3
              Mr. C

              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

              • 4. Re: Adpatch in R12.1.3

                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.


                My experience:

                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.



                • 5. Re: Adpatch in R12.1.3

                  I think he was just giving you an example of the command.  The number of workers depends on the number of cpu's.