Advertisements
Skip to content
September 9, 2017 / Shivananda Rao P

Flex ASM configuration in Oracle 12c

This article speaks of how Flex ASM is configured and the advantage of having it. Flex ASM feature was introduced in 12c which allows the ASM instance to run on different node and not intended to run on each of the nodes in the cluster. This is configured based on the cardinality of the ASM. In versions prior to 12c, the ASM instance needed to be run on each of the nodes of the cluster. If the ASM instance was unable to start on any of the nodes, then the associated database instances too could not be started. But, from 12c, this is no more a concern.

 

Let’s see how Flex ASM can be configured and how it works.

 

Environment:

 

RAC nodes : 12cnode1, 12cnode2, 12cnode3
Cluster version: 12.1.0.2
Database Name: srprim
Instance Name: srprim1 on 12cnode1, srprim2 on 12cnode2, srprim3 on 12cnode3
OS Platform: OEL 6

 

Below shows the list of nodes within the cluster.

 

[oracle@12cnode1 ~]$ olsnodes
12cnode1
12cnode2
12cnode3
[oracle@12cnode1 ~]$

 

Check the Cluster mode through ASMCMD. It’s obvious that Flex mode would be disabled.

 

[oracle@12cnode1 ~]$ asmcmd
ASMCMD> showclustermode
ASM cluster : Flex mode disabled

 

Flex ASM requires a separate listener called ASMLISTENER to be configured on a different port number which is not being used by any other Listener. The other important thing is that FLEX ASM requires a separate network with which the ASM instances and it’s clients communicate. You can also make use of the private network ethernet (used for inter node communication) as the network for the ASM instances and it’s clients to communicate. In my case, I’m using the private network itself as ASM network too.

 

We now need to convert the Normal ASM to FlexASM. This can be done via ASMCA utility. Here I’m doing this using “ASMCA” in silent mode and not through GUI.

 

The options passed to ASMCA are:

 

-silent: to run in silent mode
-convertToFlexASM : to convert to FlexASM
-asmNetworks: ASM Network to be used in the form of "interface_name/Subnet"
-asmListenerPort: ASM Listener Port number to be used

 

Run this command on one node of the cluster.

 

[oracle@12cnode1 ~]$ asmca -silent -convertToFlexASM -asmNetworks eth1/192.168.1.0 -asmListenerPort 1526

To complete ASM conversion, run the following script as privileged user in local node.
/u01/app/oracle/cfgtoollogs/asmca/scripts/converttoFlexASM.sh

 

Once done, as directed we need to run the “converttoFlexASM.sh” script as ROOT user on the node where ASMCA was run.
This script configures ASM NET LISTENER on all the nodes of the cluster as well as stops and starts all cluster resources on all the nodes of the cluster sequentially.

 

[root@12cnode1 ~]# /u01/app/oracle/cfgtoollogs/asmca/scripts/converttoFlexASM.sh
CRS-2673: Attempting to stop 'ora.crsd' on '12cnode1'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on '12cnode1'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on '12cnode1'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on '12cnode1'
CRS-2673: Attempting to stop 'ora.FRA.dg' on '12cnode1'
CRS-2673: Attempting to stop 'ora.DATA.dg' on '12cnode1'
CRS-2673: Attempting to stop 'ora.mgmtdb' on '12cnode1'
CRS-2673: Attempting to stop 'ora.srprim.db' on '12cnode1'
CRS-2677: Stop of 'ora.FRA.dg' on '12cnode1' succeeded
CRS-2677: Stop of 'ora.DATA.dg' on '12cnode1' succeeded
CRS-2677: Stop of 'ora.LISTENER.lsnr' on '12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.12cnode1.vip' on '12cnode1'
CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr' on '12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.scan1.vip' on '12cnode1'
CRS-2677: Stop of 'ora.12cnode1.vip' on '12cnode1' succeeded
CRS-2672: Attempting to start 'ora.12cnode1.vip' on '12cnode3'
CRS-2677: Stop of 'ora.mgmtdb' on '12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.MGMTLSNR' on '12cnode1'
CRS-2677: Stop of 'ora.scan1.vip' on '12cnode1' succeeded
CRS-2672: Attempting to start 'ora.scan1.vip' on '12cnode3'
CRS-2677: Stop of 'ora.MGMTLSNR' on '12cnode1' succeeded
CRS-2672: Attempting to start 'ora.MGMTLSNR' on '12cnode3'
CRS-2677: Stop of 'ora.srprim.db' on '12cnode1' succeeded
CRS-2676: Start of 'ora.12cnode1.vip' on '12cnode3' succeeded
CRS-2676: Start of 'ora.scan1.vip' on '12cnode3' succeeded
CRS-2672: Attempting to start 'ora.LISTENER_SCAN1.lsnr' on '12cnode3'
CRS-2676: Start of 'ora.MGMTLSNR' on '12cnode3' succeeded
CRS-2672: Attempting to start 'ora.mgmtdb' on '12cnode3'
CRS-2676: Start of 'ora.LISTENER_SCAN1.lsnr' on '12cnode3' succeeded
CRS-2676: Start of 'ora.mgmtdb' on '12cnode3' succeeded
CRS-2673: Attempting to stop 'ora.ons' on '12cnode1'
CRS-2677: Stop of 'ora.ons' on '12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.net1.network' on '12cnode1'
CRS-2677: Stop of 'ora.net1.network' on '12cnode1' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on '12cnode1' has completed
CRS-2677: Stop of 'ora.crsd' on '12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on '12cnode1'
CRS-2673: Attempting to stop 'ora.evmd' on '12cnode1'
CRS-2673: Attempting to stop 'ora.storage' on '12cnode1'
CRS-2677: Stop of 'ora.storage' on '12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on '12cnode1'
CRS-2677: Stop of 'ora.ctssd' on '12cnode1' succeeded
CRS-2677: Stop of 'ora.evmd' on '12cnode1' succeeded
CRS-2677: Stop of 'ora.asm' on '12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on '12cnode1'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on '12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on '12cnode1'
CRS-2677: Stop of 'ora.cssd' on '12cnode1' succeeded
CRS-2672: Attempting to start 'ora.evmd' on '12cnode1'
CRS-2672: Attempting to start 'ora.cssdmonitor' on '12cnode1'
CRS-2676: Start of 'ora.evmd' on '12cnode1' succeeded
CRS-2676: Start of 'ora.cssdmonitor' on '12cnode1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on '12cnode1'
CRS-2672: Attempting to start 'ora.diskmon' on '12cnode1'
CRS-2676: Start of 'ora.diskmon' on '12cnode1' succeeded
CRS-2676: Start of 'ora.cssd' on '12cnode1' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on '12cnode1'
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on '12cnode1'
CRS-2676: Start of 'ora.ctssd' on '12cnode1' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on '12cnode1' succeeded
CRS-2672: Attempting to start 'ora.asm' on '12cnode1'
CRS-2676: Start of 'ora.asm' on '12cnode1' succeeded
CRS-2672: Attempting to start 'ora.storage' on '12cnode1'
CRS-2676: Start of 'ora.storage' on '12cnode1' succeeded
CRS-2672: Attempting to start 'ora.crsd' on '12cnode1'
CRS-2676: Start of 'ora.crsd' on '12cnode1' succeeded
Oracle Grid Infrastructure restarted in node 12cnode1
PRCC-1014 : ASMNET1LSNR_ASM was already running
PRCR-1004 : Resource ora.ASMNET1LSNR_ASM.lsnr is already running
PRCR-1079 : Failed to start resource ora.ASMNET1LSNR_ASM.lsnr
CRS-5702: Resource 'ora.ASMNET1LSNR_ASM.lsnr' is already running on '12cnode2'
CRS-5702: Resource 'ora.ASMNET1LSNR_ASM.lsnr' is already running on '12cnode1'
CRS-5702: Resource 'ora.ASMNET1LSNR_ASM.lsnr' is already running on '12cnode3'
ASM listener ASMNET1LSNR_ASM running already
CRS-2673: Attempting to stop 'ora.crsd' on '12cnode2'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on '12cnode2'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on '12cnode2'
CRS-2673: Attempting to stop 'ora.cvu' on '12cnode2'
CRS-2673: Attempting to stop 'ora.oc4j' on '12cnode2'
CRS-2673: Attempting to stop 'ora.ASMNET1LSNR_ASM.lsnr' on '12cnode2'
CRS-2673: Attempting to stop 'ora.srprim.db' on '12cnode2'
CRS-2677: Stop of 'ora.cvu' on '12cnode2' succeeded
CRS-2672: Attempting to start 'ora.cvu' on '12cnode1'
CRS-2677: Stop of 'ora.ASMNET1LSNR_ASM.lsnr' on '12cnode2' succeeded
CRS-2677: Stop of 'ora.LISTENER.lsnr' on '12cnode2' succeeded
CRS-2677: Stop of 'ora.srprim.db' on '12cnode2' succeeded
CRS-2673: Attempting to stop 'ora.12cnode2.vip' on '12cnode2'
CRS-2677: Stop of 'ora.12cnode2.vip' on '12cnode2' succeeded
CRS-2672: Attempting to start 'ora.12cnode2.vip' on '12cnode3'
CRS-2676: Start of 'ora.12cnode2.vip' on '12cnode3' succeeded
CRS-2676: Start of 'ora.cvu' on '12cnode1' succeeded
CRS-2677: Stop of 'ora.oc4j' on '12cnode2' succeeded
CRS-2672: Attempting to start 'ora.oc4j' on '12cnode1'
CRS-2673: Attempting to stop 'ora.DATA.dg' on '12cnode2'
CRS-2673: Attempting to stop 'ora.FRA.dg' on '12cnode2'
CRS-2677: Stop of 'ora.DATA.dg' on '12cnode2' succeeded
CRS-2677: Stop of 'ora.FRA.dg' on '12cnode2' succeeded
CRS-2676: Start of 'ora.oc4j' on '12cnode1' succeeded
CRS-2673: Attempting to stop 'ora.ons' on '12cnode2'
CRS-2677: Stop of 'ora.ons' on '12cnode2' succeeded
CRS-2673: Attempting to stop 'ora.net1.network' on '12cnode2'
CRS-2677: Stop of 'ora.net1.network' on '12cnode2' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on '12cnode2' has completed
CRS-2677: Stop of 'ora.crsd' on '12cnode2' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on '12cnode2'
CRS-2673: Attempting to stop 'ora.evmd' on '12cnode2'
CRS-2673: Attempting to stop 'ora.storage' on '12cnode2'
CRS-2677: Stop of 'ora.storage' on '12cnode2' succeeded
CRS-2673: Attempting to stop 'ora.asm' on '12cnode2'
CRS-2677: Stop of 'ora.evmd' on '12cnode2' succeeded
CRS-2677: Stop of 'ora.ctssd' on '12cnode2' succeeded
CRS-2677: Stop of 'ora.asm' on '12cnode2' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on '12cnode2'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on '12cnode2' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on '12cnode2'
CRS-2677: Stop of 'ora.cssd' on '12cnode2' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on '12cnode2'
CRS-2672: Attempting to start 'ora.evmd' on '12cnode2'
CRS-2676: Start of 'ora.evmd' on '12cnode2' succeeded
CRS-2676: Start of 'ora.cssdmonitor' on '12cnode2' succeeded
CRS-2672: Attempting to start 'ora.cssd' on '12cnode2'
CRS-2672: Attempting to start 'ora.diskmon' on '12cnode2'
CRS-2676: Start of 'ora.diskmon' on '12cnode2' succeeded
CRS-2676: Start of 'ora.cssd' on '12cnode2' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on '12cnode2'
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on '12cnode2'
CRS-2676: Start of 'ora.ctssd' on '12cnode2' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on '12cnode2' succeeded
CRS-2672: Attempting to start 'ora.asm' on '12cnode2'
CRS-2676: Start of 'ora.asm' on '12cnode2' succeeded
CRS-2672: Attempting to start 'ora.storage' on '12cnode2'
CRS-2676: Start of 'ora.storage' on '12cnode2' succeeded
CRS-2672: Attempting to start 'ora.crsd' on '12cnode2'
CRS-2676: Start of 'ora.crsd' on '12cnode2' succeeded
Oracle Grid Infrastructure restarted in node 12cnode2
CRS-2673: Attempting to stop 'ora.crsd' on '12cnode3'
CRS-2677: Stop of 'ora.crsd' on '12cnode3' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on '12cnode3'
CRS-2673: Attempting to stop 'ora.evmd' on '12cnode3'
CRS-2673: Attempting to stop 'ora.storage' on '12cnode3'
CRS-2677: Stop of 'ora.storage' on '12cnode3' succeeded
CRS-2673: Attempting to stop 'ora.asm' on '12cnode3'
CRS-2677: Stop of 'ora.evmd' on '12cnode3' succeeded
CRS-2677: Stop of 'ora.ctssd' on '12cnode3' succeeded
CRS-2675: Stop of 'ora.asm' on '12cnode3' failed
CRS-2679: Attempting to clean 'ora.asm' on '12cnode3'
CRS-2681: Clean of 'ora.asm' on '12cnode3' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on '12cnode3'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on '12cnode3' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on '12cnode3'
CRS-2677: Stop of 'ora.cssd' on '12cnode3' succeeded
CRS-2672: Attempting to start 'ora.evmd' on '12cnode3'
CRS-2672: Attempting to start 'ora.cssdmonitor' on '12cnode3'
CRS-2676: Start of 'ora.evmd' on '12cnode3' succeeded
CRS-2676: Start of 'ora.cssdmonitor' on '12cnode3' succeeded
CRS-2672: Attempting to start 'ora.cssd' on '12cnode3'
CRS-2672: Attempting to start 'ora.diskmon' on '12cnode3'
CRS-2676: Start of 'ora.diskmon' on '12cnode3' succeeded
CRS-2676: Start of 'ora.cssd' on '12cnode3' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on '12cnode3'
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on '12cnode3'
CRS-2676: Start of 'ora.ctssd' on '12cnode3' succeeded
CRS-2676: Start of 'ora.cluster_interconnect.haip' on '12cnode3' succeeded
CRS-2672: Attempting to start 'ora.asm' on '12cnode3'
CRS-2676: Start of 'ora.asm' on '12cnode3' succeeded
CRS-2672: Attempting to start 'ora.storage' on '12cnode3'
CRS-2676: Start of 'ora.storage' on '12cnode3' succeeded
CRS-2672: Attempting to start 'ora.crsd' on '12cnode3'
CRS-2676: Start of 'ora.crsd' on '12cnode3' succeeded
Oracle Grid Infrastructure restarted in node 12cnode3
[root@12cnode1 ~]#

 

Now that the execution of the “converttoFlexASM.sh” script is completed, let’s check the cluster mode.
We should see as “Flex mode enabled”.

 

[oracle@12cnode1 ~]$ asmcmd
ASMCMD> showclustermode
ASM cluster : Flex mode enabled

 

Let’s check the configuration of the ASM listener. It’s clear below that the ASM cluster listener is configured on port 1526 and subnet that was specified while running ASMCA.

 

[oracle@12cnode1 ~]$ srvctl config listener -l ASMNET1LSNR_ASM
Name: ASMNET1LSNR_ASM
Type: ASM Listener
Owner: oracle
Subnet: 192.168.1.0
Home: <CRS home>
End points: TCP:1526
Listener is enabled.
Listener is individually enabled on nodes:
Listener is individually disabled on nodes:
[oracle@12cnode1 ~]$

 

Let’s check the status of this listener. It needs to be running on all the nodes of the cluster.

 

[oracle@12cnode1 ~]$
[oracle@12cnode1 ~]$ srvctl status listener -l ASMNET1LSNR_ASM
Listener ASMNET1LSNR_ASM is enabled
Listener ASMNET1LSNR_ASM is running on node(s): 12cnode3,12cnode2,12cnode1

 

Also, we shall check the configuration of the ASM to check the cardinality and see if the cluster ASM listener is being listed.

 

[oracle@12cnode1 ~]$ srvctl config asm
ASM home: <CRS home>
Password file: +DATA/orapwASM
ASM listener: LISTENER
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM
[oracle@12cnode1 ~]$

 

We see that ASM cardinality has been set to 3. Since this is a 3 node cluster and in order to check the functionality of FlexASM, I would change the cardinality of ASM to 2. By doing so, only 2 ASM instances will have to run.

 

[oracle@12cnode1 ~]$ srvctl modify asm -count 2
[oracle@12cnode1 ~]$
[oracle@12cnode1 ~]$ srvctl config asm
ASM home: <CRS home>
Password file: +DATA/orapwASM
ASM listener: LISTENER
ASM instance count: 2
Cluster ASM listener: ASMNET1LSNR_ASM

 

We can see below that ASM is running only on 2 nodes (12cnode1 and 12cnode3) and no ASM instance is running on 12cnode2.

 

[oracle@12cnode1 ~]$ srvctl status asm
ASM is running on 12cnode3,12cnode1

 

Since ASM is not running on node 12cnode2, let’s check if the associated database instance is running on node 12cnode2 or not.

 

[oracle@12cnode3 ~]$ srvctl status database -db srprim -v -f
Instance srprim1 is running on node 12cnode1. Instance status: Open.
Instance srprim2 is running on node 12cnode2. Instance status: Open.
Instance srprim3 is running on node 12cnode3. Instance status: Open.

 

We can notice above that all the instances of database “srprim” are running on all the 3 nodes of the cluster which means that there is no impact seen on the associated database instance even if ASM is not running on a particular node.

 

So now, that ASM is not running on 12cnode2 but database instance “srprim2” is running, we need to figure out which ASM instance is used by database instance “srprim2”.

 

Let’s check this from ASM3 instance: (anyways I’m using “gv$” views-so can be run on any ASM instance that’s running)

 

SQL> select adg.name,adg.state,ac.instance_name,ac.db_name,adg.inst_id,ac.status,ac.cluster_name from gv$asm_diskgroup adg,gv$asm_client ac where adg.GROUP_NUMBER=ac.GROUP_NUMBER and adg.inst_id=ac.inst_id and ac.db_name='srprim' and adg.name='DATA' order by adg.inst_id;

NAME            STATE       INSTANCE_NAME        DB_NAME     INST_ID STATUS       CLUSTER_NAME
--------------- ----------- -------------------- -------- ---------- ------------ -------------------------------
DATA            MOUNTED     srprim1              srprim            1 CONNECTED    node12c-scan
DATA            MOUNTED     srprim3              srprim            3 CONNECTED    node12c-scan
DATA            MOUNTED     srprim2              srprim            3 CONNECTED    node12c-scan

 

It’s very clear from above that “srprim2” instance is being served by ASM instance 3 on node “12cnode3”. In other words, ASM instance 3 has 2 clients — 1. srprim2 from 12cnode2 and srprim3 from 12cnode3.

 

The same can be viewed from the alert log file of ASM3 instance:

 

NOTE: Flex client id 0x0 [srprim3:srprim:node12c-scan] attempting to connect
NOTE: registered owner id 0x10002 for srprim3:srprim:node12c-scan
NOTE: Flex client srprim3:srprim:node12c-scan registered, osid 23500, mbr 0x0, asmb 23305 (reg:4024785090)
NOTE: client srprim3:srprim:node12c-scan mounted group 1 (DATA)
NOTE: client srprim3:srprim:node12c-scan mounted group 2 (FRA)
Sat Feb 25 12:28:03 2017
NOTE: Flex client id 0x0 [srprim2:srprim:node12c-scan] attempting to connect
NOTE: registered owner id 0x10003 for srprim2:srprim:node12c-scan
NOTE: Flex client srprim2:srprim:node12c-scan registered, osid 23757, mbr 0x0, asmb 24702 (reg:1349866226)
NOTE: client srprim2:srprim:node12c-scan mounted group 1 (DATA)
NOTE: client srprim2:srprim:node12c-scan mounted group 2 (FRA)

 

 

COPYRIGHT

© Shivananda Rao P, 2012 to 2017. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Shivananda Rao and http://www.shivanandarao-oracle.com with appropriate and specific direction to the original content.

 

 

DISCLAIMER

The views expressed here are my own and do not necessarily reflect the views of any other individual, business entity, or organisation. The views expressed by visitors on this blog are theirs solely and may not reflect mine

 

 

Advertisements
September 6, 2017 / Shivananda Rao P

Manual Upgrade of RAC Database from 11.2.0.3 to 12.1.0.2

In the previous post, we have seen on upgrading the Grid Infrastructure from 11.2.0.3 to 12.1.0.2. In this, we shall see the steps involved in the database upgrade from 11.2.0.3 to 12.1.0.2

 
 

Environment:

 

RAC nodes: drnode1, drnode2
DB Name: srprim
DB Instances: srprim1, srprim2
Current DB version: 11.2.0.3.0
DB to be upgraded to version: 12.1.0.2.0
Cluster Storage used: ASM
Platform: OEL 6
Current DB HOME: /u01/app/oracle/product/11.2.0.3/db_1
New 12c DB HOME: /u01/app/oracle/product/12.1.0.2/db_1

 

Since this is an out-of-place upgrade, firstly install Oracle 12.1.0.2 database software. In this environment, the software here has been unzipped to location “/u03” and then the database software is installed using a response file in silent mode.

 

Here is the response file used to install the 12.1.0.2 database software.

 

[oracle@drnode1 ~]$ cd /u03/database
[oracle@drnode1 database]$ ./runInstaller -silent -responseFile /u02/db_install.rsp -ignoreSysPrereqs
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 32711 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 10229 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-02-21_07-55-11PM. Please wait ...[oracle@drnode1 database]$ You can find the log of this install session at:
 /u01/app/oraInventory/logs/installActions2017-02-21_07-55-11PM.log
The installation of Oracle Database 12c was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2017-02-21_07-55-11PM.log' for more details.

As a root user, execute the following script(s):
        1. /u01/app/oracle/product/12.1.0.2/db_1/root.sh

Execute /u01/app/oracle/product/12.1.0.2/db_1/root.sh on the following nodes:
[drnode1, drnode2]


Successfully Setup Software.

 

Once the 12.1.0.2 database software has been installed, it’s time for us to upgrade our database.

 

Run the “preupgrd.sql” script available from the newly installed oracle 12c home on the 11.2 database. This script performs pre-requisite checks on the database to be upgraded and generates 2 scripts:

 

1. preupgrade_fixups.sql which needs to be run on the database to fix any issues reported while performing the pre-checks.
2. postupgrade_fixups.sql which needs to be run on the database once upgraded to 12.1.0.2 version.

 

Let’s run the “preupgrd.sql” script from the newly installed oracle 12.1.0.2 home (/u01/app/oracle/product/12.1.0.2/db_1) on the database.

 

[oracle@drnode1 ~]$ ls -lrt /u01/app/oracle/product/12.1.0.2/db_1/rdbms/admin/preupgrd.sql
-rw-r--r--. 1 oracle oinstall 14083 May 15  2014 /u01/app/oracle/product/12.1.0.2/db_1/rdbms/admin/preupgrd.sql

 

[oracle@drnode1 ~]$
[oracle@drnode1 ~]$ sqlplus sys/oracle@srprim as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 21 21:22:35 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> @/u01/app/oracle/product/12.1.0.2/db_1/rdbms/admin/preupgrd.sql



Loading Pre-Upgrade Package...


***************************************************************************
Executing Pre-Upgrade Checks in SRPRIM...
***************************************************************************


      ************************************************************

                  ====>> ERRORS FOUND for SRPRIM <<====

 The following are *** ERROR LEVEL CONDITIONS *** that must be addressed
                    prior to attempting your upgrade.
            Failure to do so will result in a failed upgrade.

           You MUST resolve the above errors prior to upgrade

      ************************************************************

      ************************************************************

              ====>> PRE-UPGRADE RESULTS for SRPRIM <<====

ACTIONS REQUIRED:

1. Review results of the pre-upgrade checks:
 /u01/app/oracle/product/11.2.0.3/db_1/cfgtoollogs/srprim/preupgrade/preupgrade.log

2. Execute in the SOURCE environment BEFORE upgrade:
 /u01/app/oracle/product/11.2.0.3/db_1/cfgtoollogs/srprim/preupgrade/preupgrade_fixups.sql

3. Execute in the NEW environment AFTER upgrade:
 /u01/app/oracle/product/11.2.0.3/db_1/cfgtoollogs/srprim/preupgrade/postupgrade_fixups.sql

      ************************************************************

***************************************************************************
Pre-Upgrade Checks in SRPRIM Completed.
***************************************************************************

***************************************************************************
***************************************************************************

 

 

We see above that the preupgrd.sql script generated “preupgrade_fixups.sql” ( to fix any issues reported during pre-check phase) and “postupgrade_fixups.sql” (to be run post the upgrade) scripts that needs to be run on the database. Review the “preupgrade.log” and take necessary actions on the recommendations made.

 

================================================================================================

 

Preupgrade warning log:

[oracle@drnode1 ~]$ cat /u01/app/oracle/product/11.2.0.3/db_1/cfgtoollogs/srprim/preupgrade/preupgrade.log
Oracle Database Pre-Upgrade Information Tool 02-21-2017 21:24:39
Script Version: 12.1.0.2.0 Build: 006
**********************************************************************
   Database Name:  SRPRIM
  Container Name:  Not Applicable in Pre-12.1 database
    Container ID:  Not Applicable in Pre-12.1 database
         Version:  11.2.0.3.0
      Compatible:  11.2.0.0.0
       Blocksize:  8192
        Platform:  Linux x86 64-bit
   Timezone file:  V14
**********************************************************************
                           [Update parameters]
         [Update Oracle Database 11.2.0.3.0 init.ora or spfile]

--> If Target Oracle is 32-bit, refer here for Update Parameters:
WARNING: --> "processes" needs to be increased to at least 300

--> If Target Oracle is 64-bit, refer here for Update Parameters:
WARNING: --> "processes" needs to be increased to at least 300
**********************************************************************
**********************************************************************
                          [Renamed Parameters]
                     [No Renamed Parameters in use]
**********************************************************************
**********************************************************************
                    [Obsolete/Deprecated Parameters]
             [No Obsolete or Desupported Parameters in use]
**********************************************************************
                            [Component List]
**********************************************************************
--> Oracle Catalog Views                   [upgrade]  VALID
--> Oracle Packages and Types              [upgrade]  VALID
--> JServer JAVA Virtual Machine           [upgrade]  VALID
--> Oracle XDK for Java                    [upgrade]  VALID
--> Real Application Clusters              [upgrade]  VALID
--> Oracle Workspace Manager               [upgrade]  VALID
--> OLAP Analytic Workspace                [upgrade]  VALID
--> Oracle Enterprise Manager Repository   [upgrade]  VALID
--> Oracle Text                            [upgrade]  VALID
--> Oracle XML Database                    [upgrade]  VALID
--> Oracle Java Packages                   [upgrade]  VALID
--> Oracle Multimedia                      [upgrade]  VALID
--> Oracle Spatial                         [upgrade]  VALID
--> Expression Filter                      [upgrade]  VALID
--> Rule Manager                           [upgrade]  VALID
--> Oracle Application Express             [upgrade]  VALID
--> Oracle OLAP API                        [upgrade]  VALID
**********************************************************************
                              [Tablespaces]
**********************************************************************
--> SYSTEM tablespace is adequate for the upgrade.
     minimum required size: 1225 MB
--> SYSAUX tablespace is adequate for the upgrade.
     minimum required size: 1509 MB
--> UNDOTBS1 tablespace is adequate for the upgrade.
     minimum required size: 400 MB
--> TEMP tablespace is adequate for the upgrade.
     minimum required size: 60 MB
--> EXAMPLE tablespace is adequate for the upgrade.
     minimum required size: 310 MB

                      [No adjustments recommended]

**********************************************************************
**********************************************************************
                          [Pre-Upgrade Checks]
**********************************************************************
WARNING: --> Process Count may be too low

     Database has a maximum process count of 150 which is lower than the
     default value of 300 for this release.
     You should update your processes value prior to the upgrade
     to a value of at least 300.
     For example:
        ALTER SYSTEM SET PROCESSES=300 SCOPE=SPFILE
     or update your init.ora file.

WARNING: --> Enterprise Manager Database Control repository found in the database

     In Oracle Database 12c, Database Control is removed during
     the upgrade. To save time during the Upgrade, this action
     can be done prior to upgrading using the following steps after
     copying rdbms/admin/emremove.sql from the new Oracle home
   - Stop EM Database Control:
    $> emctl stop dbconsole

   - Connect to the Database using the SYS account AS SYSDBA:

   SET ECHO ON;
   SET SERVEROUTPUT ON;
   @emremove.sql
     Without the set echo and serveroutput commands you will not
     be able to follow the progress of the script.

INFORMATION: --> OLAP Catalog(AMD) exists in database

     Starting with Oracle Database 12c, OLAP Catalog component is desupported.
     If you are not using the OLAP Catalog component and want
     to remove it, then execute the
     ORACLE_HOME/olap/admin/catnoamd.sql script before or
     after the upgrade.

INFORMATION: --> Older Timezone in use

     Database is using a time zone file older than version 18.
     After the upgrade, it is recommended that DBMS_DST package
     be used to upgrade the 11.2.0.3.0 database time zone version
     to the latest version which comes with the new release.
     Please refer to My Oracle Support note number 977512.1 for details.

INFORMATION: --> There are existing Oracle components that will NOT be
     upgraded by the database upgrade script.  Typically, such components
     have their own upgrade scripts, are deprecated, or obsolete.
     Those components are:  OLAP Catalog,OWB

INFORMATION: --> Oracle Application Express (APEX) can be
     manually upgraded prior to database upgrade

     APEX is currently at version 3.2.1.00.12 and will need to be
     upgraded to APEX version 4.2.5 in the new release.
     Note 1: To reduce database upgrade time, APEX can be manually
             upgraded outside of and prior to database upgrade.
     Note 2: See MOS Note 1088970.1 for information on APEX
             installation upgrades.


**********************************************************************
                      [Pre-Upgrade Recommendations]
**********************************************************************

                        *****************************************
                        ********* Dictionary Statistics *********
                        *****************************************

Please gather dictionary statistics 24 hours prior to
upgrading the database.
To gather dictionary statistics execute the following command
while connected as SYSDBA:
    EXECUTE dbms_stats.gather_dictionary_stats;

^^^ MANUAL ACTION SUGGESTED ^^^


**********************************************************************
                     [Post-Upgrade Recommendations]
**********************************************************************

                        *****************************************
                        ******** Fixed Object Statistics ********
                        *****************************************

Please create stats on fixed objects two weeks
after the upgrade using the command:
   EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

^^^ MANUAL ACTION SUGGESTED ^^^

**********************************************************************
                   ************  Summary  ************

 0 ERRORS exist in your database.
 2 WARNINGS that Oracle suggests are addressed to improve database performance.
 4 INFORMATIONAL messages that should be reviewed prior to your upgrade.

 After your database is upgraded and open in normal mode you must run
 rdbms/admin/catuppst.sql which executes several required tasks and completes
 the upgrade process.

 You should follow that with the execution of rdbms/admin/utlrp.sql, and a
 comparison of invalid objects before and after the upgrade using
 rdbms/admin/utluiobj.sql

 If needed you may want to upgrade your timezone data using the process
 described in My Oracle Support note 1509653.1
                   ***********************************

 

 

Oracle suggested a few recommendations as seen above that needs to be carried out before performing the upgrade. Let’s try running “fixup.sql” script that got generated previously.

 

Fixup sql:

 

[oracle@drnode1 ~]$ sqlplus sys/oracle@srprim as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 21 21:50:00 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> @/u01/app/oracle/product/11.2.0.3/db_1/cfgtoollogs/srprim/preupgrade/preupgrade_fixups.sql

 

If the “fixup.sql” script is unable to fix the recommendations made, then fix them manually.

 

Upgrade:

 

Now that the recommendations have been fixed, let’s move with the upgrade.

 

Create a pfile from the spfile on first instance of 11.2.0.3 database to a temporary location and comment out the following parameters.

 

1. instance_number
2. thread
3. 2nd instance's undo tablespace.
4. cluster_database

 


[oracle@drnode1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 21 22:10:00 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL>
SQL> create pfile='/u02/srprim.ora' from spfile;

File created.

 

[oracle@drnode1 u02]$ cat /u02/srprim.ora | grep ^#
#*.cluster_database=true
#srprim1.instance_number=1
#srprim2.instance_number=2
#srprim2.thread=2
#srprim1.thread=1
#srprim2.undo_tablespace='UNDOTBS2'

 

Stop the database on 11.2.0.3 home

 

[oracle@drnode1 u02]$ srvctl stop database -d srprim

 

Now on the first node, set the environment variables pointing to the newly oracle 12c Home

 

[oracle@drnode1 ~]$ export ORACLE_SID=srprim1
[oracle@drnode1 ~]$ export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
[oracle@drnode1 ~]$ export PATH=$ORACLE_HOME/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oracle/bin
[oracle@drnode1 ~]$ which sqlplus
/u01/app/oracle/product/12.1.0.2/db_1/bin/sqlplus

 

Start the first instance in upgrade mode from oracle 12c home using the pfile that was created previously in the temporary location.

 

[oracle@drnode1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Tue Feb 21 22:18:19 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup upgrade pfile='/u02/srprim.ora';
ORACLE instance started.

Total System Global Area 1073741824 bytes
Fixed Size                  2932632 bytes
Variable Size             729809000 bytes
Database Buffers          335544320 bytes
Redo Buffers                5455872 bytes
Database mounted.
Database opened.

 

Now it’s time to run the “catupgrd.sql” script available at 12c ORACLE HOME. Here, I’m running this using the parallel utility “catctl.pl” with 5 number of parallel processes.

 

[oracle@drnode1 ~]$ cd /u01/app/oracle/product/12.1.0.2/db_1/rdbms/admin/
[oracle@drnode1 admin]$
[oracle@drnode1 admin]$ nohup /u01/app/oracle/product/12.1.0.2/db_1/perl/bin/perl catctl.pl -n 5 catupgrd.sql > /u02/upgrade.log &

 

Here is the sample of the upgrade process log. Review the log that was spooled for the execution of “catupgrd.sql” and once the execution is completed successfully, copy the pfile and password file of the instances from 11.2.0.3 home to 12.1.0.2 oracle home.
Make sure that the pfile consists of the path to spfile and nothing else.

 

On first node:

 

[oracle@drnode1 admin]$ cat /u01/app/oracle/product/11.2.0.3/db_1/dbs/initsrprim1.ora
SPFILE='+DATA/srprim/spfilesrprim.ora'          # line added by Agent

 

[oracle@drnode1 admin]$ cp /u01/app/oracle/product/11.2.0.3/db_1/dbs/orapwsrprim1 /u01/app/oracle/product/12.1.0.2/db_1/dbs/
[oracle@drnode1 admin]$
[oracle@drnode1 admin]$ cp /u01/app/oracle/product/11.2.0.3/db_1/dbs/initsrprim1.ora /u01/app/oracle/product/12.1.0.2/db_1/dbs/
[oracle@drnode1 admin]$

 

On second node:

 

[oracle@drnode2 ~]$ cat /u01/app/oracle/product/11.2.0.3/db_1/dbs/initsrprim2.ora
SPFILE='+DATA/srprim/spfilesrprim.ora'          # line added by Agent
[oracle@drnode2 ~]$

 

[oracle@drnode2 ~]$ cp /u01/app/oracle/product/11.2.0.3/db_1/dbs/orapwsrprim2 /u01/app/oracle/product/12.1.0.2/db_1/dbs/
[oracle@drnode2 ~]$ cp /u01/app/oracle/product/11.2.0.3/db_1/dbs/initsrprim2.ora /u01/app/oracle/product/12.1.0.2/db_1/dbs/
[oracle@drnode2 ~]$

 

Now, start the first instance from new 12c Home and review the parameters. Post that, run the postupgrade_fixups.sql script that was generated earlier.

 

[oracle@drnode1 admin]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Wed Feb 22 01:43:55 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 1073741824 bytes
Fixed Size                  2932632 bytes
Variable Size             775946344 bytes
Database Buffers          289406976 bytes
Redo Buffers                5455872 bytes
Database mounted.
Database opened.
SQL>
SQL> show parameter cluster

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cluster_database                     boolean     TRUE
cluster_database_instances           integer     2
cluster_interconnects                string
SQL>

 

Execution of postupgrade_fixups.sql:

 

SQL> @/u01/app/oracle/product/11.2.0.3/db_1/cfgtoollogs/srprim/preupgrade/postupgrade_fixups.sql


SQL> EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;


SQL> select count(*) from dba_objects where status = 'INVALID';

  COUNT(*)
----------
      6376

SQL> @?/rdbms/admin/utlrp.sql


SQL> select count(*) from dba_objects where status='INVALID';

  COUNT(*)
----------
         0


SQL> @?/rdbms/admin/catuppst.sql		 


SQL> @?/rdbms/admin/utlu121s.sql

PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.



CATCTL REPORT = /u01/app/oracle/product/12.1.0.2/db_1/cfgtoollogs/srprim/upgrade/upg_summary.log

PL/SQL procedure successfully completed.



Oracle Database 12.1 Post-Upgrade Status Tool           02-22-2017 02:17:23

Component                               Current         Version  Elapsed Time
Name                                    Status          Number   HH:MM:SS

Oracle Server                             VALID      12.1.0.2.0  00:45:29
JServer JAVA Virtual Machine              VALID      12.1.0.2.0  00:13:46
Oracle Real Application Clusters          VALID      12.1.0.2.0  00:00:06
Oracle Workspace Manager                  VALID      12.1.0.2.0  00:02:58
OLAP Analytic Workspace                   VALID      12.1.0.2.0  00:01:12
OLAP Catalog                         OPTION OFF      11.2.0.3.0  00:00:00
Oracle OLAP API                           VALID      12.1.0.2.0  00:02:09
Oracle XDK                                VALID      12.1.0.2.0  00:02:17
Oracle Text                               VALID      12.1.0.2.0  00:03:09
Oracle XML Database                       VALID      12.1.0.2.0  00:06:44
Oracle Database Java Packages             VALID      12.1.0.2.0  00:00:54
Oracle Multimedia                         VALID      12.1.0.2.0  00:07:37
Spatial                                   VALID      12.1.0.2.0  00:19:07
Oracle Application Express                VALID     4.2.5.00.08  01:02:58
Final Actions                                                    00:05:38
Post Upgrade                                                     00:00:11

Total Upgrade Time: 02:55:35

PL/SQL procedure successfully completed.

SQL>
SQL> --
SQL> -- Update Summary Table with con_name and endtime.
SQL> --
SQL> UPDATE sys.registry$upg_summary SET reportname = :ReportName,
  2                                  con_name = SYS_CONTEXT('USERENV','CON_NAME'),
  3                                  endtime  = SYSDATE
  4         WHERE con_id = -1;

1 row updated.

SQL> commit;

Commit complete.

SQL>

SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

 

From 11.2 home, crosscheck if the database is down and then remove its 11.2 configuration from the clusterware managing. (In this post, I’m removing the 11.2 database configuration from clusterware management and adding it back with 12c database configuration settings. You can avoid removing the old configuration and adding the new one by just running “srvctl upgrade database -db -oraclehome ” from the 12c ORACLE HOME.

 

[oracle@drnode1 ~]$ cd /u01/app/oracle/product/11.2.0.3/db_1/bin/
[oracle@drnode1 bin]$ ./srvctl status database -d srprim
Instance srprim1 is not running on node drnode1
Instance srprim2 is not running on node drnode2

 

[oracle@drnode1 bin]$ ./srvctl remove database -d srprim
Remove the database srprim? (y/[n]) y
[oracle@drnode1 bin]$

 

Now, add this database “srprim” with 12c home configuration to the clusterware managing.

 

[oracle@drnode1 bin]$ cd $ORACLE_HOME/bin
[oracle@drnode1 bin]$ pwd
/u01/app/oracle/product/12.1.0.2/db_1/bin
[oracle@drnode1 bin]$
[oracle@drnode1 bin]$ ./srvctl add database -d srprim -o /u01/app/oracle/product/12.1.0.2/db_1
[oracle@drnode1 bin]$
[oracle@drnode1 bin]$
[oracle@drnode1 bin]$ ./srvctl add instance -i srprim1 -d srprim -n drnode1
[oracle@drnode1 bin]$
[oracle@drnode1 bin]$
[oracle@drnode1 bin]$ ./srvctl add instance -i srprim2 -d srprim -n drnode2

 

[oracle@drnode1 bin]$
[oracle@drnode1 bin]$ ./srvctl status database -d srprim -v -f
Instance srprim1 is not running on node drnode1
Instance srprim2 is not running on node drnode2

 

If there were any services configured previously, then create them as such from 12c ORACLE HOME.
Start the database now using srvctl and also it’s services.

 

 

[oracle@drnode1 bin]$ ./srvctl add service -s srprim_any -d srprim -r srprim1,srprim2
[oracle@drnode1 bin]$ ./srvctl start database -d srprim
[oracle@drnode1 bin]$ ./srvctl start service -s srprim_any -d srprim
[oracle@drnode1 bin]$ ./srvctl status database -d srprim -v -f
Instance srprim1 is running on node drnode1 with online services srprim_any. Instance status: Open.
Instance srprim2 is running on node drnode2 with online services srprim_any. Instance status: Open.

 

 

COPYRIGHT

© Shivananda Rao P, 2012 to 2017. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Shivananda Rao and http://www.shivanandarao-oracle.com with appropriate and specific direction to the original content.

 

 

DISCLAIMER

The views expressed here are my own and do not necessarily reflect the views of any other individual, business entity, or organisation. The views expressed by visitors on this blog are theirs solely and may not reflect mine

 

August 21, 2017 / Shivananda Rao P

Grid Infrastructure (GI) upgrade from 11.2.0.3 to 12.1.0.2 in silent mode on RAC

In this article, we shall see the steps involved in upgrading the Grid Infrastructure (CRS) from version 11.2.0.3 to 12.1.0.2 in silent mode.

 

Environment:

 

RAC nodes: drnode1, drnode2
Current GI (CRS) version: 11.2.0.3.0
GI to be upgraded to version: 12.1.0.2.0
Cluster Storage used: ASM
Platform: OEL 6
Current CRS HOME: /u01/app/11.2.0.3/grid
New 12c CRS HOME: /u01/app/12.1.0.2/grid

 

 

Below shows the current version of the CRS. The output is shown only for the first node.

 

[oracle@drnode1 ~]$ crsctl query crs softwareversion drnode1
Oracle Clusterware version on node [drnode1] is [11.2.0.3.0]

 

[oracle@drnode1 ~]$ crsctl query crs softwareversion drnode2
Oracle Clusterware version on node [drnode2] is [11.2.0.3.0]

 

[oracle@drnode1 ~]$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.3.0]

 

 

Download oracle 12.1.0.2 Grid Infrastructure and unzip. Here, the software is unzipped under “/u03”.
Let’s run the “cluvfy” utility to perform pre-requisite checks before upgrading. This is achieved by running the “runcluvfy.sh” script from the unzipped 12c Grid Infrastructure software location.

 

The parameters passed to this script are:

 

-pre crsinst: To perform pre-checks before the CRS installation
-upgrade: To perform upgrade pre-checks
-rolling: To perform rolling upgrade
-src_crshome: Location of the Source GI home
-dest_crshome: Location of the Destination GI Home
-dest_version: The version to which GI will be upgraded

 

[oracle@drnode1 ~]$ cd /u03/grid
[oracle@drnode1 grid]$ ./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /u01/app/11.2.0.3/grid -dest_crshome /u01/app/12.1.0.2/grid -dest_version 12.1.0.2.0

Performing pre-checks for cluster services setup

Checking node reachability...
Node reachability check passed from node "drnode1"


Checking user equivalence...
User equivalence check passed for user "oracle"
Package existence check passed for "cvuqdisk"

Check: Grid Infrastructure home writeability of path /u01/app/12.1.0.2/grid
PRVG-11932 : Path "/u01/app/12.1.0.2/grid" cannot be created on node "drnode1".
PRVG-11932 : Path "/u01/app/12.1.0.2/grid" cannot be created on node "drnode2".
Grid Infrastructure home check failed

Checking CRS user consistency
CRS user consistency check successful
Checking network configuration consistency.
Check for network configuration consistency passed.
Checking ASM disk size consistency
All ASM disks are correctly sized
Checking if default discovery string is being used by ASM
ASM discovery string "/dev/DSK*" is not the default discovery string
Checking if ASM parameter file is in use by an ASM instance on the local node
ASM instance is using parameter file "+DATA/drnode-scan/asmparameterfile/registry.253.936445691" on node "drnode1" on which upgrade is requested.

Checking OLR integrity...
Check of existence of OLR configuration file "/etc/oracle/olr.loc" passed
Check of attributes of OLR configuration file "/etc/oracle/olr.loc" passed

WARNING:
This check does not verify the integrity of the OLR contents. Execute 'ocrcheck -local' as a privileged user to verify the contents of OLR.

OLR integrity check passed

Checking node connectivity...

Checking hosts config file...

Verification of the hosts config file successful

Check: Node connectivity using interfaces on subnet "192.168.1.0"
Node connectivity passed for subnet "192.168.1.0" with node(s) drnode1,drnode2
TCP connectivity check passed for subnet "192.168.1.0"


Check: Node connectivity using interfaces on subnet "192.168.0.0"
Node connectivity passed for subnet "192.168.0.0" with node(s) drnode1,drnode2
TCP connectivity check passed for subnet "192.168.0.0"

Checking subnet mask consistency...
Subnet mask consistency check passed for subnet "192.168.0.0".
Subnet mask consistency check passed for subnet "192.168.1.0".
Subnet mask consistency check passed.

Node connectivity check passed

Checking multicast communication...

Checking subnet "192.168.1.0" for multicast communication with multicast group "224.0.0.251"...
Check of subnet "192.168.1.0" for multicast communication with multicast group "224.0.0.251" passed.

Check of multicast communication passed.
Task ASM Integrity check started...


Starting check to see if ASM is running on all cluster nodes...

ASM Running check passed. ASM is running on all specified nodes
Disk Group Check passed. At least one Disk Group configured

Task ASM Integrity check passed...

Checking OCR integrity...
Disks "+DATA" are managed by ASM.

OCR integrity check passed

Checking ASMLib configuration.
Check for ASMLib configuration passed.
Total memory check failed
Check failed on nodes:
        drnode2,drnode1
Available memory check passed
Swap space check passed
Free disk space check passed for "drnode2:/usr,drnode2:/var,drnode2:/etc,drnode2:/sbin"
Free disk space check passed for "drnode1:/usr,drnode1:/var,drnode1:/etc,drnode1:/sbin"
Free disk space check passed for "drnode2:/u01/app/11.2.0.3/grid"
Free disk space check passed for "drnode1:/u01/app/11.2.0.3/grid"
Free disk space check passed for "drnode2:/tmp"
Free disk space check passed for "drnode1:/tmp"
Check for multiple users with UID value 501 passed
User existence check passed for "oracle"
Group existence check passed for "oinstall"
Group existence check passed for "dba"
Membership check for user "oracle" in group "oinstall" [as Primary] passed
Membership check for user "oracle" in group "dba" passed
Run level check passed
Hard limits check passed for "maximum open file descriptors"
Soft limits check passed for "maximum open file descriptors"
Hard limits check passed for "maximum user processes"
Soft limits check passed for "maximum user processes"
There are no oracle patches required for home "/u01/app/11.2.0.3/grid".
There are no oracle patches required for home "/u01/app/11.2.0.3/grid".
Source home "/u01/app/11.2.0.3/grid" is suitable for upgrading to version "12.1.0.2.0".
System architecture check passed
Kernel version check failed
Check failed on nodes:
        drnode2,drnode1
Kernel parameter check passed for "semmsl"
Kernel parameter check passed for "semmns"
Kernel parameter check passed for "semopm"
Kernel parameter check passed for "semmni"
Kernel parameter check passed for "shmmax"
Kernel parameter check passed for "shmmni"
Kernel parameter check passed for "shmall"
Kernel parameter check passed for "file-max"
Kernel parameter check passed for "ip_local_port_range"
Kernel parameter check passed for "rmem_default"
Kernel parameter check passed for "rmem_max"
Kernel parameter check passed for "wmem_default"
Kernel parameter check passed for "wmem_max"
Kernel parameter check passed for "aio-max-nr"
Kernel parameter check passed for "panic_on_oops"
Package existence check passed for "binutils"
Package existence check passed for "compat-libcap1"
Package existence check passed for "compat-libstdc++-33(x86_64)"
Package existence check passed for "libgcc(x86_64)"
Package existence check passed for "libstdc++(x86_64)"
Package existence check passed for "libstdc++-devel(x86_64)"
Package existence check passed for "sysstat"
Package existence check passed for "gcc"
Package existence check passed for "gcc-c++"
Package existence check passed for "ksh"
Package existence check passed for "make"
Package existence check passed for "glibc(x86_64)"
Package existence check passed for "glibc-devel(x86_64)"
Package existence check passed for "libaio(x86_64)"
Package existence check passed for "libaio-devel(x86_64)"
Package existence check passed for "nfs-utils"
Check for multiple users with UID value 0 passed
Current group ID check passed

Starting check for consistency of primary group of root user

Check for consistency of root user's primary group passed

Starting Clock synchronization checks using Network Time Protocol(NTP)...
NTP configuration file "/etc/ntp.conf" existence check passed
No NTP Daemons or Services were found to be running
PRVF-5507 : NTP daemon or service is not running on any node but NTP configuration file exists on the following node(s):
drnode2,drnode1
Clock synchronization check using Network Time Protocol(NTP) failed

Core file name pattern consistency check passed.

User "oracle" is not part of "root" group. Check passed
Default user file creation mask check passed
Checking integrity of file "/etc/resolv.conf" across nodes

"domain" and "search" entries do not coexist in any "/etc/resolv.conf" file
All nodes have same "search" order defined in file "/etc/resolv.conf"
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: drnode1,drnode2

Check for integrity of file "/etc/resolv.conf" failed


UDev attributes check for OCR locations started...
UDev attributes check passed for OCR locations


UDev attributes check for Voting Disk locations started...
UDev attributes check passed for Voting Disk locations

Time zone consistency check passed
Checking VIP configuration.
Checking VIP Subnet configuration.
Check for VIP Subnet configuration passed.
Checking VIP reachability
Check for VIP reachability passed.

Checking Oracle Cluster Voting Disk configuration...

Oracle Cluster Voting Disk configuration check passed

Clusterware version consistency passed.

Checking integrity of name service switch configuration file "/etc/nsswitch.conf" ...
All nodes have same "hosts" entry defined in file "/etc/nsswitch.conf"
Check for integrity of name service switch configuration file "/etc/nsswitch.conf" passed


Checking daemon "avahi-daemon" is not configured and running
Daemon not configured check passed for process "avahi-daemon"
Daemon not running check passed for process "avahi-daemon"

Starting check for Reverse path filter setting ...

Check for Reverse path filter setting passed

Starting check for Network interface bonding status of private interconnect network interfaces ...

Check for Network interface bonding status of private interconnect network interfaces passed

Starting check for /dev/shm mounted as temporary file system ...

Check for /dev/shm mounted as temporary file system passed

Starting check for /boot mount ...

Check for /boot mount passed

Starting check for zeroconf check ...

Check for zeroconf check passed

Pre-check for cluster services setup was unsuccessful on all the nodes.
[oracle@drnode1 grid]$

 

Some of the checks failed such as “Clock synchronization check using Network Time Protocol(NTP)” where NTP daemon or service was not running, “DNS response check failed”. I safely ignore these checks as both NTP and DNS are not configured on these nodes.

 

Now, update the “grid_install.rsp” file available under the unzipped location of the 12c GI software. The response file needs to be updated appropriately based on the environment. Here is the updated grid_install.rsp file used for this upgrade.

 

Before proceeding with the upgrade, unset the CRS HOME if set any on the environment and run the “runInstaller” from the unzipped location of the 12c GI software. Also, pass the parameters “-silent” to run the upgrade in SILENT mode and “-responsefile” specifying the location of the above updated response file.

 

[oracle@drnode1 u02]$ cd /u03/grid
[oracle@drnode1 grid]$
[oracle@drnode1 grid]$ unset ORA_CRS_HOME
[oracle@drnode1 grid]$ echo $ORA_CRS_HOME

[oracle@drnode1 grid]$ nohup ./runInstaller -silent -ignorePrereq -responsefile /u02/grid_install.rsp &
[1] 16082
[oracle@drnode1 grid]$ nohup: ignoring input and appending output to 'nohup.out'

 

Let’s view the output file to see what’s happening.

 

[oracle@drnode1 grid]$ cat nohup.out
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 415 MB.   Actual 32905 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 10237 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-02-21_10-10-33AM. Please wait ...[WARNING] [INS-41813] OSDBA for ASM, OSOPER for ASM, and OSASM are the same OS group.
   CAUSE: The group you selected for granting the OSDBA for ASM group for database access, and the OSOPER for ASM group for startup and shutdown of Oracle ASM, is the same group as the OSASM group, whose members have SYSASM privileges on Oracle ASM.
   ACTION: Choose different groups as the OSASM, OSDBA for ASM, and OSOPER for ASM groups.
[WARNING] [INS-41874] Oracle ASM Administrator (OSASM) Group specified is same as the inventory group.
   CAUSE: Operating system group oinstall specified for OSASM Group is same as the inventory group.
   ACTION: It is not recommended to have OSASM group same as inventory group. Select any of the group other than the inventory group to avoid incorrect configuration.
You can find the log of this install session at:
 /u01/app/oraInventory/logs/installActions2017-02-21_10-10-33AM.log
The installation of Oracle Grid Infrastructure 12c was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2017-02-21_10-10-33AM.log' for more details.

As a root user, execute the following script(s):
        1. /u01/app/12.1.0.2/grid/rootupgrade.sh

Execute /u01/app/12.1.0.2/grid/rootupgrade.sh on the following nodes:
[drnode1, drnode2]

Run the script on the local node first. After successful completion, you can start the script in parallel on all other nodes, except a node you designate as the last node. When all the nodes except the last node are done successfully, run the script on the last node.

Successfully Setup Software.
As install user, execute the following script to complete the configuration.
        1. /u01/app/12.1.0.2/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<response_file>

        Note:
        1. This script must be run on the same host from where installer was run.
        2. This script needs a small password properties file for configuration assistants that require passwords (refer to install guide documentation).

 

We now need to run the “rootupgrade.sh” script from the new 12c GI home as ROOT user on all the nodes. Post that, the runInstaller demands to run “configToolAllCommands” on the first node drnode1 where runInstaller was run.

 

Below is the output of the execution of the rootupgrade.sh script on first node drnode1.

 


[root@drnode1]# /u01/app/12.1.0.2/grid/rootupgrade.sh
Check /u01/app/12.1.0.2/grid/install/root_drnode1.mydomain_2017-02-21_11-08-09.log for the output of root script
[root@drnode1]#

=====================================================================================================================
[oracle@drnode1 grid]$ cat /u01/app/12.1.0.2/grid/install/root_drnode1.mydomain_2017-02-21_11-08-09.log
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/12.1.0.2/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/12.1.0.2/grid/crs/install/crsconfig_params
2017/02/21 11:08:21 CLSRSC-4015: Performing install or upgrade action for Oracle Trace File Analyzer (TFA) Collector.

2017/02/21 11:09:12 CLSRSC-4003: Successfully patched Oracle Trace File Analyzer (TFA) Collector.

2017/02/21 11:09:19 CLSRSC-464: Starting retrieval of the cluster configuration data

2017/02/21 11:09:38 CLSRSC-465: Retrieval of the cluster configuration data has successfully completed.

2017/02/21 11:09:38 CLSRSC-363: User ignored prerequisites during installation

2017/02/21 11:09:58 CLSRSC-515: Starting OCR manual backup.

2017/02/21 11:10:03 CLSRSC-516: OCR manual backup successful.

2017/02/21 11:10:10 CLSRSC-468: Setting Oracle Clusterware and ASM to rolling migration mode

2017/02/21 11:10:10 CLSRSC-482: Running command: '/u01/app/12.1.0.2/grid/bin/asmca -silent -upgradeNodeASM -nonRolling false -oldCRSHome /u01/app/11.2.0.3/grid -oldCRSVersion 11.2.0.3.0 -nodeNumber 1 -firstNode true -startRolling true'


ASM configuration upgraded in local node successfully.

2017/02/21 11:10:27 CLSRSC-469: Successfully set Oracle Clusterware and ASM to rolling migration mode

2017/02/21 11:10:27 CLSRSC-466: Starting shutdown of the current Oracle Grid Infrastructure stack

2017/02/21 11:12:46 CLSRSC-467: Shutdown of the current Oracle Grid Infrastructure stack has successfully completed.

OLR initialization - successful
2017/02/21 11:20:36 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.conf'

CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
2017/02/21 11:27:18 CLSRSC-472: Attempting to export the OCR

2017/02/21 11:27:18 CLSRSC-482: Running command: 'ocrconfig -upgrade oracle oinstall'

2017/02/21 11:27:32 CLSRSC-473: Successfully exported the OCR

2017/02/21 11:27:39 CLSRSC-486:
 At this stage of upgrade, the OCR has changed.
 Any attempt to downgrade the cluster after this point will require a complete cluster outage to restore the OCR.

2017/02/21 11:27:39 CLSRSC-541:
 To downgrade the cluster:
 1. All nodes that have been upgraded must be downgraded.

2017/02/21 11:27:39 CLSRSC-542:
 2. Before downgrading the last node, the Grid Infrastructure stack on all other cluster nodes must be down.

2017/02/21 11:27:39 CLSRSC-543:
 3. The downgrade command must be run on the node drnode1 with the '-lastnode' option to restore global configuration data.

2017/02/21 11:28:05 CLSRSC-343: Successfully started Oracle Clusterware stack

clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 11g Release 2.
Successfully taken the backup of node specific configuration in OCR.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
2017/02/21 11:28:37 CLSRSC-474: Initiating upgrade of resource types

2017/02/21 11:29:48 CLSRSC-482: Running command: 'upgrade model  -s 11.2.0.3.0 -d 12.1.0.2.0 -p first'

2017/02/21 11:29:48 CLSRSC-475: Upgrade of resource types successfully initiated.

2017/02/21 11:30:23 CLSRSC-325:	Configure Oracle Grid Infrastructure for a Cluster ... succeeded

=====================================================================================================================

 

Below is the output of the execution of the rootupgrade.sh script on the second (last) node drnode2.

 

[root@drnode2 u01]# /u01/app/12.1.0.2/grid/rootupgrade.sh
Check /u01/app/12.1.0.2/grid/install/root_drnode2.mydomain_2017-02-21_12-22-07.log for the output of root script
[root@drnode2 u01]#

==============================================================================================================

[root@drnode2 u01]# cat /u01/app/12.1.0.2/grid/install/root_drnode2.mydomain_2017-02-21_12-22-07.log
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/12.1.0.2/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/12.1.0.2/grid/crs/install/crsconfig_params
2017/02/21 12:22:13 CLSRSC-4015: Performing install or upgrade action for Oracle Trace File Analyzer (TFA) Collector.

2017/02/21 12:22:13 CLSRSC-4012: Shutting down Oracle Trace File Analyzer (TFA) Collector.

2017/02/21 12:22:22 CLSRSC-4013: Successfully shut down Oracle Trace File Analyzer (TFA) Collector.

2017/02/21 12:22:35 CLSRSC-4003: Successfully patched Oracle Trace File Analyzer (TFA) Collector.

2017/02/21 12:22:38 CLSRSC-464: Starting retrieval of the cluster configuration data

2017/02/21 12:22:47 CLSRSC-465: Retrieval of the cluster configuration data has successfully completed.

2017/02/21 12:22:47 CLSRSC-363: User ignored prerequisites during installation


ASM configuration upgraded in local node successfully.

2017/02/21 12:23:11 CLSRSC-466: Starting shutdown of the current Oracle Grid Infrastructure stack

2017/02/21 12:25:21 CLSRSC-467: Shutdown of the current Oracle Grid Infrastructure stack has successfully completed.

OLR initialization - successful
2017/02/21 12:26:47 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.conf'

CRS-4133: Oracle High Availability Services has been stopped.
CRS-4123: Oracle High Availability Services has been started.
2017/02/21 12:34:02 CLSRSC-343: Successfully started Oracle Clusterware stack

clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 12c Release 1.
Successfully taken the backup of node specific configuration in OCR.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Start upgrade invoked..
2017/02/21 12:34:31 CLSRSC-478: Setting Oracle Clusterware active version on the last node to be upgraded

2017/02/21 12:34:31 CLSRSC-482: Running command: '/u01/app/12.1.0.2/grid/bin/crsctl set crs activeversion'

Started to upgrade the Oracle Clusterware. This operation may take a few minutes.
Started to upgrade the OCR.
Started to upgrade the CSS.
The CSS was successfully upgraded.
Started to upgrade the CRS.
The CRS was successfully upgraded.
Successfully upgraded the Oracle Clusterware.
Oracle Clusterware operating version was successfully set to 12.1.0.2.0
2017/02/21 12:37:03 CLSRSC-479: Successfully set Oracle Clusterware active version

2017/02/21 12:37:14 CLSRSC-476: Finishing upgrade of resource types

2017/02/21 12:37:27 CLSRSC-482: Running command: 'upgrade model  -s 11.2.0.3.0 -d 12.1.0.2.0 -p last'

2017/02/21 12:37:27 CLSRSC-477: Successfully completed upgrade of resource types

2017/02/21 12:38:31 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

=======================================================================================================

 

 

Now let’s run the “configToolAllCommands” on drnode1. This script perform PostInstallation tasks such as creation of the “Grid Infrastructure Management Repository Database” with the Container Database Name as “MGMTDB” and it’s Pluggabe Database Name as “”.

 

[oracle@drnode1 bin]$ /u01/app/12.1.0.2/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/u02/grid_install.rsp
Setting the invPtrLoc to /u01/app/12.1.0.2/grid/oraInst.loc

perform - mode is starting for action: configure

Feb 21, 2017 1:39:07 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: UpdateNodelist data:
Feb 21, 2017 1:39:07 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: oracle.installer.oui_loc:/u01/app/12.1.0.2/grid/oui
Feb 21, 2017 1:39:07 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: oracle.installer.jre_loc:/u01/app/12.1.0.2/grid/jdk/jre
Feb 21, 2017 1:39:07 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: oracle.installer.doNotUpdateNodeList:true
Feb 21, 2017 1:39:07 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: oracle.installer.rootOwnedHome:true
Feb 21, 2017 1:39:07 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: OracleHomeToUpdate:/u01/app/11.2.0.3/grid;isCRS:false;isCFS:false;isLocal:false
Feb 21, 2017 1:39:07 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: From map: Hosts:[drnode1, drnode2] => Nodelist:[drnode1, drnode2]
Feb 21, 2017 1:39:07 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: Before calling api: Hosts:[drnode1, drnode2] => Nodelist:[drnode1, drnode2], update localnode? true
Feb 21, 2017 1:40:47 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: UpdateNodelist data:
Feb 21, 2017 1:40:47 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: oracle.installer.oui_loc:/u01/app/12.1.0.2/grid/oui
Feb 21, 2017 1:40:47 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: oracle.installer.jre_loc:/u01/app/12.1.0.2/grid/jdk/jre
Feb 21, 2017 1:40:47 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: oracle.installer.doNotUpdateNodeList:true
Feb 21, 2017 1:40:47 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: oracle.installer.rootOwnedHome:
Feb 21, 2017 1:40:47 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: OracleHomeToUpdate:/u01/app/12.1.0.2/grid;isCRS:true;isCFS:false;isLocal:false
Feb 21, 2017 1:40:47 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: From map: Hosts:[drnode1, drnode2] => Nodelist:[drnode1, drnode2]
Feb 21, 2017 1:40:47 PM oracle.install.driver.oui.UpdateNodelistJob call
INFO: Before calling api: Hosts:[drnode1, drnode2] => Nodelist:[drnode1, drnode2], update localnode? true
Feb 21, 2017 1:44:03 PM oracle.install.config.crs.MgmtDBCDBInternalPlugIn invoke
INFO: MgmtDBCDBInternalPlugin: ... adding </oui_internal>
Feb 21, 2017 1:44:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn invoke
INFO: Executing MGMTDBCDB
Feb 21, 2017 1:44:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn invoke
INFO: Command /u01/app/12.1.0.2/grid/bin/dbca  -silent -createDatabase -createAsContainerDatabase true -templateName MGMTSeed_Database.dbc -sid -MGMTDB -gdbName _mgmtdb -storageType ASM -diskGroupName DATA -datafileJarLocation /u01/app/12.1.0.2/grid/assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -skipUserTemplateCheck   -oui_internal
Feb 21, 2017 1:44:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: ... GenericInternalPlugIn.handleProcess() entered.
Feb 21, 2017 1:44:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: ... GenericInternalPlugIn: getting configAssistantParmas.
Feb 21, 2017 1:44:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: ... GenericInternalPlugIn: checking secretArguments.
Feb 21, 2017 1:44:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: No arguments to pass to stdin
Feb 21, 2017 1:44:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: ... GenericInternalPlugIn: starting read loop.
Feb 21, 2017 1:44:45 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Registering database with Oracle Grid Infrastructure
Feb 21, 2017 1:44:45 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Registering database with Oracle Grid Infrastructure
Feb 21, 2017 1:44:45 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: End of argument passing to stdin
Feb 21, 2017 1:44:46 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 5% complete
Feb 21, 2017 1:44:46 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 5% complete
Feb 21, 2017 1:44:46 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:44:46 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Copying database files
Feb 21, 2017 1:44:46 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Copying database files
Feb 21, 2017 1:44:46 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:44:46 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 7% complete
Feb 21, 2017 1:44:46 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 7% complete
Feb 21, 2017 1:44:46 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:46:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 9% complete
Feb 21, 2017 1:46:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 9% complete
Feb 21, 2017 1:46:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:46:27 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 16% complete
Feb 21, 2017 1:46:27 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 16% complete
Feb 21, 2017 1:46:27 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:46:47 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 23% complete
Feb 21, 2017 1:46:47 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 23% complete
Feb 21, 2017 1:46:47 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:47:37 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 30% complete
Feb 21, 2017 1:47:37 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 30% complete
Feb 21, 2017 1:47:37 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:48:57 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 37% complete
Feb 21, 2017 1:48:57 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 37% complete
Feb 21, 2017 1:48:57 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:49:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 41% complete
Feb 21, 2017 1:49:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 41% complete
Feb 21, 2017 1:49:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:49:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Creating and starting Oracle instance
Feb 21, 2017 1:49:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Creating and starting Oracle instance
Feb 21, 2017 1:49:03 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:49:40 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 43% complete
Feb 21, 2017 1:49:40 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 43% complete
Feb 21, 2017 1:49:40 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:50:22 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 48% complete
Feb 21, 2017 1:50:22 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 48% complete
Feb 21, 2017 1:50:22 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:50:26 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 49% complete
Feb 21, 2017 1:50:26 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 49% complete
Feb 21, 2017 1:50:26 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:51:43 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 50% complete
Feb 21, 2017 1:51:43 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 50% complete
Feb 21, 2017 1:51:43 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:53:07 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 55% complete
Feb 21, 2017 1:53:07 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 55% complete
Feb 21, 2017 1:53:07 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:53:08 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 60% complete
Feb 21, 2017 1:53:08 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 60% complete
Feb 21, 2017 1:53:08 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:54:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 61% complete
Feb 21, 2017 1:54:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 61% complete
Feb 21, 2017 1:54:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:54:26 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 64% complete
Feb 21, 2017 1:54:26 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 64% complete
Feb 21, 2017 1:54:26 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:54:26 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Completing Database Creation
Feb 21, 2017 1:54:26 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Completing Database Creation
Feb 21, 2017 1:54:26 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:54:27 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 68% complete
Feb 21, 2017 1:54:27 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 68% complete
Feb 21, 2017 1:54:27 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 1:54:34 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 79% complete
Feb 21, 2017 1:54:34 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 79% complete
Feb 21, 2017 1:54:34 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 89% complete
Feb 21, 2017 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 89% complete
Feb 21, 2017 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 100% complete
Feb 21, 2017 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 100% complete
Feb 21, 2017 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/_mgmtdb/_mgmtdb.log" for further details.
Feb 21, 2017 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/_mgmtdb/_mgmtdb.log" for further details.
Feb 21, 2017 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:00:18 PM oracle.install.config.crs.MgmtDBPDBInternalPlugIn invoke
INFO: MgmtDBPDBInternalPlugin: ... adding </oui_internal>
Feb 21, 2017 2:00:18 PM oracle.install.driver.oui.config.GenericInternalPlugIn invoke
INFO: Executing MGMTDBPDB
Feb 21, 2017 2:00:18 PM oracle.install.driver.oui.config.GenericInternalPlugIn invoke
<strong>INFO: Command /u01/app/12.1.0.2/grid/bin/dbca  -silent -createPluggableDatabase -sourceDB -MGMTDB -pdbName drnode_scan -createPDBFrom RMANBACKUP -PDBBackUpfile /u01/app/12.1.0.2/grid/assistants/dbca/templates/mgmtseed_pdb.dfb -PDBMetadataFile /u01/app/12.1.0.2/grid/assistants/dbca/templates/mgmtseed_pdb.xml -createAsClone true -internalSkipGIHomeCheck -oui_internal</strong>
Feb 21, 2017 2:00:18 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: ... GenericInternalPlugIn.handleProcess() entered.
Feb 21, 2017 2:00:18 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: ... GenericInternalPlugIn: getting configAssistantParmas.
Feb 21, 2017 2:00:18 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: ... GenericInternalPlugIn: checking secretArguments.
Feb 21, 2017 2:00:18 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: No arguments to pass to stdin
Feb 21, 2017 2:00:18 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: ... GenericInternalPlugIn: starting read loop.
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Creating Pluggable Database
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Creating Pluggable Database
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: End of argument passing to stdin
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 4% complete
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 4% complete
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 12% complete
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 12% complete
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 21% complete
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 21% complete
Feb 21, 2017 2:01:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:04:28 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 38% complete
Feb 21, 2017 2:04:28 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 38% complete
Feb 21, 2017 2:04:28 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:04:38 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 55% complete
Feb 21, 2017 2:04:38 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 55% complete
Feb 21, 2017 2:04:38 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:05:10 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 85% complete
Feb 21, 2017 2:05:10 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 85% complete
Feb 21, 2017 2:05:10 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:05:10 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Completing Pluggable Database Creation
Feb 21, 2017 2:05:10 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Completing Pluggable Database Creation
Feb 21, 2017 2:05:10 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:07:31 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 100% complete
Feb 21, 2017 2:07:31 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 100% complete
Feb 21, 2017 2:07:31 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
Feb 21, 2017 2:07:31 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/_mgmtdb/drnode_scan/_mgmtdb.log" for further details.
Feb 21, 2017 2:07:31 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/_mgmtdb/drnode_scan/_mgmtdb.log" for further details.
Feb 21, 2017 2:07:31 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0

perform - mode finished for action: configure

You can see the log file: /u01/app/12.1.0.2/grid/cfgtoollogs/oui/configActions2017-02-21_01-39-03-PM.log

 

 

Post execution of all the demanded scripts, let’s check the latest CRS version on both the nodes.

 

On drnode1:

 

[oracle@drnode1 ~]$ crsctl query crs activeversion -f
Oracle Clusterware active version on the cluster is [12.1.0.2.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [0].
[oracle@drnode1 ~]$

 

[oracle@drnode1 ~]$ /u01/app/12.1.0.2/grid/bin/crsctl query crs releaseversion
Oracle High Availability Services release version on the local node is [12.1.0.2.0]
[oracle@drnode1 ~]$

 

[oracle@drnode1 ~]$ /u01/app/12.1.0.2/grid/bin/crsctl query crs softwareversion
Oracle Clusterware version on node [drnode1] is [12.1.0.2.0]

 

On drnode2:

 

[oracle@drnode2 ~]$ crsctl query crs activeversion -f
Oracle Clusterware active version on the cluster is [12.1.0.2.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [0].
[oracle@drnode2 ~]$

 

[oracle@drnode2 ~]$ /u01/app/12.1.0.2/grid/bin/crsctl query crs softwareversion
Oracle Clusterware version on node [drnode2] is [12.1.0.2.0]

 

[oracle@drnode2 ~]$ /u01/app/12.1.0.2/grid/bin/crsctl query crs releaseversion
Oracle High Availability Services release version on the local node is [12.1.0.2.0]
[oracle@drnode2 ~]$

 

Verify that all ASM instances and all the diskgroups are MOUNTED on both the nodes.

 

Finally, you can detach the Old GI home (11.2.0.3) from the ORAINVENTORY file.

 

[oracle@drnode1 ~]$ cd /u01/app/11.2.0.3/grid/oui/bin/
[oracle@drnode1 bin]$ ./runInstaller -detachHome -silent ORACLE_HOME=/u01/app/11.2.0.3/grid
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 10236 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
'DetachHome' was successful.

 

 

COPYRIGHT

© Shivananda Rao P, 2012 to 2017. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Shivananda Rao and http://www.shivanandarao-oracle.com with appropriate and specific direction to the original content.

 

 

DISCLAIMER

The views expressed here are my own and do not necessarily reflect the views of any other individual, business entity, or organisation. The views expressed by visitors on this blog are theirs solely and may not reflect mine

 

January 16, 2017 / Shivananda Rao P

Cache Fusion – Internals of Block Transfer within RAC DB instances

We all know that each instance of a RAC database has it’s own buffer cache in its SGA and all these caches put together forms the cache fusion. The blocks within the RAC instances are transferred using a high speed private interconnect. In order to make sure that no two or more instances are updating the same block at the same time and also to track what each instance is performing with the block, cache coherency and consistency needs to be maintained. Oracle RAC maitains this cache coherency and consistency using two main services GCS (Global Cache Service)and GES (Global Enqueue Service).

 

GCS with the help of LMS processes, co-ordinates within the RAC instances and records the status of the cached data blocks in the GRD (Global Resource Directory). The GRD is distributed across all the active instances and contains the information of the cached block such as the block number, which instance is owning the current version of the block, mode of the block, role of the block.

 

GES maintains the coherency of enqueues on the dictionary and library cache. It keeps track of all global enqueues of the resources in the RAC environment.

 

Based on what a resource holder is requesting to perform, a data block can be of any of the 3 modes.
 
1. NULL (N): A null mode indicates just a resource holder and has no access rights.

2. Exclusive (X): An exclusive mode signifies exclusive access of the block. This means that the resource holder needs to perform a write operation on the block and no other resource can write over it. However, other resources can perform read operation on the block.

3. Shared (S): A shared mode indicates that the resource holder has a shared lock on the block and is performing a read operation. As the mode name, since the lock is shared, any other resource can also read the block.

 

In addition to the modes, GCS also has roles for the resources.
 
1. Local role: When a data block is first read from the disk into the cache, it’s role is said to be LOCAL. This also means that no other modified/dirty copy of the block exists in the cache.

2. Global Role: When a data block is acquired from a remote instance and if this data block is already modified in the remote instance, then the role of the block is said to be GLOBAL. If multiple copies of modified/dirtied data block exists across multiple instances, then the role of this data block is considered to be GLOBAL.

 

Another important concept that we need to know of is the “Past Image” (PI). As the name says, an image copy of the modified/updated data block is saved by the modifying instance before passing on this data block to the other requesting instance that would like to perform either read or write operation. A PI block is considered to be the current version of the block and in case of a node failure, GCS would start the recovery from this PI block thereby reducing the recovery time. Once the latest version of the data block is written to the disk (checkpoint), GCS informs all the instances having PI to discard those images.

 

All the above details speak about the data blocks, but when a block is read into the memory, it would be stored in the buffer. The state of a buffer is determined based on the 3 characters.
 

1. Lock mode – N (NULL), S (Shared), X (Exclusive)

2. Role – L(Local), G(Global)

3. Past Image(PI): Number indicating the number of past images

 

GV$BH view can be used to check the status of the block against an instance of the database. The values represent:

1. “cr“: This represents a NULL lock mode on the block.

2. “SCUR“: This represents that a SHARED lock is held on the block by that particular instance.

3. “XCUR“: This represents an EXCLUSIVE lock is held on the block by that particular instance.
 
Lets consider a 3 node RAC as an example to see how the block transfer works with user A connected to instance 1, user B connected to instance 2 and user C connected to instance 3.
 
Assuming that the the table EMP under schema BTTEST is created freshly and no connections from any of the 3 instances have accessed this table, the following scenarios have been defined. But before moving on to the scenarios, let’s capture the block relevant information for a row of this EMP table. This can be done with the help of dbms_rowid.
 


SQL> select * from bttest.emp;

CODE       NAME
---------- --------------------------------------------------
100        JAMES
200        SCOTT
300        SMITH
400        JOHN

 


SQL>select owner,object_name,data_object_id from dba_objects where object_name='EMP';

OWNER     OBJECT_NAME  DATA_OBJECT_ID
--------- ------------ ----------------
BTTEST    EMP          91791

 


SQL>select dbms_rowid.rowid_relative_fno(rowid) FILE#,dbms_rowid.rowid_block_number(rowid) BLOCK# from bttest.emp where code=300;

FILE#      BLOCK#
---------- ----------
11         135

 
Considering the block 135 which holds a row of the table EMP whose value for column CODE is 300, we are explaining the following scenarios.
 
Scenario 1:

User B on instance 2 performs a SELECT operation on this table which access the contents of the block 135.

SQL statement run: select * from bttest.emp where code=300;

1. Since no other connections from other instances have accessed this table previously, the data block 135 needs to be read from the disk and written on to the buffer.
 
2. User B will now hold a Shared (S) lock on this block as it’s performing only a READ and not WRITE operation. Since the block is being read for the first time from the disk and that there exists no dirty copy of this block in the buffer cache, the role of the block is LOCAL (L). The third consideration is that has been no modification done to this block by USER B and hence there exists no PAST IMAGES (0). With this, the mode of the block on instance 2 would be SL0 and nothing with respect to instance 1 and 3.
 
Querying the GV$BH view to capture the details of the block, we see that the status of the block for instance 2 is SCUR which indicates that the block is held in SHARED lock by instance 2. There is no information for instance 1 and 3 as they haven’t yet accessed this block.
 


SQL> select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135;

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        scur       N 91791      2

 
===========================================================================
 
Scenario 2:

Now user C on instance 3 performs an UPDATE operation on the row in the block 135. The SQL statement run is:

update bttest.emp set name=’UPDATE3′ where code=300;

Since the block is already available in the cache of instance B, there would be no requirement to read the block from the disk and thereby avoiding physical read.
 
1. Instance 3 would send the request to GCS which knows who currently owns the block (using the information from GRD).
 
2. GCS forwards the request to instance B who is currently holding the SHARED lock.
 
3. Instance 2 would downgrade it’s lock on the block from SHARED to NULL and since there is no modification done on this block by instance 2, the role of the block remains LOCAL and Past Image (PI) count is 0. Thereby, the mode of the block on instance 2 would be NL0.
 
4. Instance 2 would then send the requested block to instance 3 and updates this to the GCS.
 
5. Instance 3 will now go for an EXCLUSIVE lock (X) on the block and the role of the block still remains LOCAL as the instance previously holding this block (instance 2) hasn’t made any modification to this block and so would the PI count be 0. The mode of the block on instance 3 would be XL0.
 
6. Instance 1 has not come into picture yet with respect to this block.
 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135;

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        cr         N 91791      2
11         135        xcur       Y 91791      3

 
From the above result, we can see that the buffer status on instance 2 is CR (NULL) and no modifications being done to the block. While on instance 3, the buffer status is XCUR (EXCLUSIVE) and instance 3 has dirtied (modified) (column DIRTY – Value “Y”) the block.
 
===========================================================================
 
Scenario 3:
 
User A on instance 1 runs a “select” statement to access the row in block 135.
 
1. Instance 1 requests GCS for the data block. GCS knows that instance 3 owns the block and has an EXCLUSIVE lock on it.
 
2. GCS forwards the request to instance 3.
 
3. Instance 3 would now bring down it’s lock from Exclusive to Shared on the requested block. The lock would have been lowered to NULL if instance 1 would have requested the block to be modified (WRITE operation), instead, it has requested for a READ operation. Since instance 3 has modified the block in the previous scenario, the role of the block would be GLOBAL and GCS be informed that the requesting instance needs to have this block in the GLBOAL role.
 
4. Since instance 3 has modified the block in scenario 2, it retains a copy (PI) of the modified block and sends the requested block. Instance 3 will now have SG1 mode on the block.
 
5. Instance 1 receives the block and will hold a Shared (S) lock with Global Role (as informed previously) with 0 Past Images (there exists no past images for this block on instance 1). So, instance 1 will now have SG0 mode on the block.
 
6. The mode of the block on instance 2 will be NG0. The role of the block will be changed to GLOBAL as instance 3 has modified the block in the previous scenario.
 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135;

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        cr         N 91791      2
11         135        scur       N 91791      1
11         135        scur       Y 91791      3

 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135 and status <> 'cr';

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        scur       N 91791      1
11         135        scur       Y 91791      3

 
When I query the GV$BH view, I could see that both instance 1 and 3 have SHARED lock on the block 135 whereas instance 2 with just CR mode (NULL). Since instance 3 has dirtied this block previously, the value for column DIRTY against instance 3 remains as Y (YES).
 
===========================================================================
 
Scenario 4:
 
Now, I run an “Update” statement on the same block through User B from instance 2.
 
1. Instance 2 requests GCS for the data block. The block was last accessed by instance 1 and GCS would forward the request to instance 1.
 
2. Instance 1 would send the block to the requesting instance 2 through GCS. But, before passing on the block, instance 1 would downgrade it’s lock on the block from Shared to NULL with the role of the block being “GLOBAL” and not holding any Past Images. The mode of the block on instance 1 would now be NG0.
 
3. Since instance 2 has requested for WRITE operation, instance 3 will also downgrade it’s lock on the block from SHARED to NULL. The role of the block remains GLOBAL and since it holds 1 PAST IMAGE (as per Scenario 3), the mode of the block on instance 3 will be NG1.
 
4. Instance 2 will acquire an EXCLUSIVE (X) lock on the block with the role of the block retained as GLOBAL and the PI count remains 0. The PI count remains 0 for instance 2 is because this instance has never performed any modifications to this block and thereby not retaining any copies of the modifications. The mode of the block on instance 2 would be XG0.
 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135;

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        xcur       Y 91791      2
11         135        cr         N 91791      2
11         135        cr         N 91791      2
11         135        pi         Y 91791      3
11         135        cr         N 91791      3

 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135 and status <> 'cr';

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        pi         Y 91791      3
11         135        xcur       Y 91791      2

 
Querying GV$BH, one can see that the status of the buffer on instance 2 is XCUR with the value for the column DIRTY being “Y”. Also, it shows a clear image of the status of the buffer being shown as “PI” with the value for the column DIRTY being “Y” against instance 3. This is related to the scenario 2 where instance 3 performed an UPDATE operation on the block 135. The values “CR” for the column “STATUS” against instance 2 or instance 3 represent the status of the block in the previous scenarios and not to the current one.
 
===========================================================================
 
Scenario 5:
 
User C on instance 3 runs a “SELECT” statement to access row in block 135.
 
1. Instance 3 requests GCS for the block 135. GCS then forwards the request to instance 2 which is holding the block with an EXCLUSIVE lock.
 
2. Instance 2 downgrades its lock from “EXCLUSIVE” to “SHARED”, adds a flag that it modified the block as stated in scenario 4 and thereby declaring that it has 1 PAST IMAGE. However the role of the block still remains GLBOAL and the mode of this block would be SG1 on instance 2.
 
3. The block is then received by instance 3 and since it requested for a READ operation, it would acquire a SHARED lock on the block. The role of the block would be GLBOAL (as multiple changes have occurred to this block by remoted instances too). The PAST IMAGE count for this bock on instance 3 would be 1 (Reason – there has been only 1 change made to this block by instance 3 (as explained in scenario 2)). Finally, the mode of the block on instance 3 will be SG1.
 
4. Since instance 1 hasn’t come into picture in this scenario, it would retain it’s mode as it had in the previous scenario i.e, NG0.
 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135;

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        scur       Y 91791      2
11         135        cr         N 91791      2
11         135        cr         N 91791      2
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        pi         Y 91791      3
11         135        scur       N 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3

11 rows selected.

 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135 and status <> 'cr';

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        pi         Y 91791      3
11         135        scur       N 91791      3
11         135        scur       Y 91791      2

 
From the above result, we can see that the status of the block against instance 2 and instance 3 is SCUR (SHARED lock) and that NULL (cr) for instance 1.
 
===========================================================================
 
Scenario 6:
 
User A on instance 1 performs an UPDATE operation on the same block 135.
 
SQL statement run: “update bttest.emp set name=’UPDATE2′ where code=300;
 
1. Instance 1 requests for the block with GCS. GCS knows that the block was last modified by instance 2 and is the latest one. Hence, it would request instance 2 to transfer the block to instance 1.
 
2. Since instance 1 wants to perform a WRITE operation on the block, it would acquire an EXCLUSIVE lock. This in turn means that all other instances should downgrade their locks on this block to NULL. The role of the block would be GLBOAL and the PAST IMAGE count of this block on instance 1 would be 0 as this is the first time that this instance has requested for an UPDATE operation on this block. So no PAST IMAGES exist. As a result, the mode of the block on instance 1 would be XG0.
 
3. As explained in previous step, instance 2 would have NULL lock on the block with GLBOAL role. The PAST IMAGE count would still be 1 because of the update operation it did as per scenario 4. The mode of the block 135 with respect to instance 2 would be NG1.
 
4. Similarly the mode of the block on instance 3 would be NG1.
 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135;

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        pi         Y 91791      2
11         135        cr         N 91791      2
11         135        cr         N 91791      2
11         135        pi         Y 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        xcur       Y 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1

13 rows selected.

 

SYS@srprim1&gt;select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135 and status <> 'cr';

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        pi         Y 91791      2
11         135        pi         Y 91791      3
11         135        xcur       Y 91791      1

 
We now have the status as “PI” which is in dirty state for instance 2 (scenario 4) and instance 3 (scenario 2) each and that for instance 1, the block status is XCUR (EXCLUSIVE).
 
===========================================================================
 
Scenario 7:
 
User A on instance 1 performs another UPDATE operation on the same block.
 
SQL statement run: “update bttest.emp set name=’UPDATE11′ where code=300;
 
1. GCS knows that the last update operation performed on this block was instance 1 itself. Now, again instance 1 has requested for an EXCLUSIVE lock.
 
2. Mode of the block on instance 1 would be XG1 (The Past image count is 1 for instance 1 as it previously performed as UPDATE operation as per scenario 6).
 
3. The mode of the block with respect to instance 2 and 3 would remain as in the previous stage (NG1).
 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135;

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        pi         Y 91791      2
11         135        cr         N 91791      2
11         135        cr         N 91791      2
11         135        xcur       Y 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        pi         Y 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3

14 rows selected.

 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135 and status <> 'cr';

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        pi         Y 91791      2 
11         135        xcur       Y 91791      1
11         135        pi         Y 91791      3

 
From the above result, instance 1 holds an XCUR status on the block 135 which indicates an EXCLUSIVE lock is held. While the other 2 instances (2 and 3) hold NULL lock which is why the value is “cr”.
 
===========================================================================
 
Scenario 8:
 
User B on instance 2 performs a CHECKPOINT. (This signifies that the dirty blocks in the buffer needs to be written to the disk.)
 
1. Instance 2 requests GCS for a checkpoint.
 
2. GCS forwards the request to instance 1 who held the block in EXCLUSIVE mode in scenario 7, to write the block to disk.
 
3. Instance 1 does the write operation of the block to disk and informs GCS of the completion of the operation, but would still retain it’s lock as EXCLUSIVE on the block.
 
4. GCS then informs all the instances holding PIs to discard or flush those PIs and requests the instances to change the role of the block from GLOBAL to LOCAL.
 
5. Thus, instance 1 will now have the block with mode XL0, instance 2 and instance 3 with NULL.
 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135;

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        cr         N 91791      2
11         135        cr         N 91791      2
11         135        cr         N 91791      2
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        cr         N 91791      3
11         135        xcur       N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1
11         135        cr         N 91791      1

14 rows selected.

 

SQL>select file#,block#,status,dirty,objd,inst_id from gv$bh where objd=91791 and block#=135 and status <> 'cr';

FILE#      BLOCK#     STATUS     D OBJD       INST_ID
---------- ---------- ---------- - ---------- ----------
11         135        xcur       N 91791      1

 
Here, one can see that the block is currently held by instance 1 in EXCLUSIVE mode while all other instances have NULL lock on this block. All the past images that instance 2 and 3 had have been flushed.
 

 

COPYRIGHT

© Shivananda Rao P, 2012 to 2017. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Shivananda Rao and http://www.shivanandarao-oracle.com with appropriate and specific direction to the original content.

 

 

DISCLAIMER

The views expressed here are my own and do not necessarily reflect the views of any other individual, business entity, or organisation. The views expressed by visitors on this blog are theirs solely and may not reflect mine

 

July 25, 2016 / Shivananda Rao P

Overview of Global Data Services in oracle 12c

This article should give you an overview of the new feature in Oracle 12c – Global Services. We are aware of database services in oracle. These services provide a workload management by ensuring that clients connect to the optimal instance which is offering the service. It also serves the purpose of high availability by failing over the client connections to the other survival instances that are offering the same service. This is referred to as local data services.

 

Oracle 12c came up with a new feature of Global Data Services which extends the above feature with automated and centralized workload management across the set of replicated databases like dataguard, golden gate. In addition to this, GDS provides replication lag based workload routing, role based global services and region based global services. Note that the global services can be configured only for databases of version 12c. For databases prior 12c, only local data services can be configured.

 

One of the major question that would be raised is the difference between local and global data services – A global data service is created across a set of multiple databases, whereas local data services is created only across a set of instances of a single database. With local data services, there is more of manual intervention needed such as a local data service for a standby needs to be first created on the primary database and then on the standby database. Whereas, with GDS, it’s managed globally with a single service.

 

A global data service configuration consists of some of the major components.

 

GDS Pool: A GDS Pool is a set of databases containing replicated data in the GDS configuration that provide unique Global Data Services and are administered by different administrator.
A database can belong to only one GDS pool. All databases in a GDS pool need not provide the same global service, but all databases that provide the same global service must belong to the same GDS pool.

 

GDS Catalog: Just as we have a catalog database in RMAN which acts as a repository for the backup configuration of the registered database, likewise, a GDS Catalog is a repository that is used to store the GDS configuration. This catalog must reside in an oracle database of version 12c.
This database may reside inside or outside the GDS configuration. Please note that a catalog is associated with only one GDS configuration.

 

GSM (Global Service Manager): As the name says, GSM serves the role of a manager in managing the Global services, failover and load balancing of global services.
It acts as a middle layer between the clients and the databases, just as a remote listener does in RAC databases. In addition to this, it measures the network latency between regions of the configuration by collecting the performance metrics from the databases in the configuration, monitors the databases and global services in the GDS configuration and notifies the clients when they fail.

 

Client first connects to the GSM and requests for a connection to the global service. The GSM, then, forwards the connection request to the database instance in the GDS configuration that is offering the requested Global Service.

 

GDS Region: A GDS region is a set of databases within the GDS configuration and the clients that share a very little network latency. A region can contain multiple GDS pools.

 

You can configure, modify, start or stop global services using GDSCTL utility. To use this, you need to download and install the Oracle Global Service Manager software from the Oracle site.

 

In the coming posts, we shall see on the installation of GSM software, configuring global services for the databases, how Global Services work with Dataguard and how effective it serves when there is a replication lag.

 

 

COPYRIGHT

© Shivananda Rao P, 2012 to 2017. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Shivananda Rao and http://www.shivanandarao-oracle.com with appropriate and specific direction to the original content.

 

 

DISCLAIMER

The views expressed here are my own and do not necessarily reflect the views of any other individual, business entity, or organisation. The views expressed by visitors on this blog are theirs solely and may not reflect mine

 

July 9, 2016 / Shivananda Rao P

Upgrade OEM 12c to 13c

Here, in this article, I’m demonstrating an upgrade from cloud control 12c to 13c on a linux machine. It is required to take a look at the https://docs.oracle.com/cd/E63000_01/EMUPG/preface.htm#EMUPG101 upgrade document before proceeding further and make sure that all the pre-requisites are met.

 

Few things to consider before you proceed with the upgrade.

 

1. OMS 13c repository database needs to be on 12.1.0.2 version. So, if the repository database is on a pre-12c release, then you need to upgrade it before upgrading the Cloud control.

 

2. Cloud control 13c is not supported on OEL/RHEL 5 and so are the 13c agents. You cannot upgrade cloud control 12c on linux machine less than version 6 to 13c.

 

Environment details is as below:

 

The environment used here has the Cloud control 12c installed on OEL 6 with the repository database of version 12.1.0.2 which is a non-CDB and has the 12c agents deployed on linux machine of release 6 (OEL 6).

 

Cloud Control 12c OMS hostname: ora1-2
Repository database version: 12.1.0.2

 

Make sure that the “COMPATIBLE” parameter on the OMS respository database is set to 12.1.0.2.0.

 

SYS@omsdb> show parameter compatible

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      12.1.0.2.0
noncdb_compatible                    boolean     FALSE
SYS@omsdb&gt;
SYS@omsdb> show parameter adaptive

 

If the adaptive optimizer feature (optimizer_adaptive_features) is enabled, then it needs to be disabled on the OMS repository database before upgrading it.

 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
optimizer_adaptive_features          boolean     TRUE
optimizer_adaptive_reporting_only    boolean     FALSE
parallel_adaptive_multi_user         boolean     TRUE
SYS@omsdb>
SYS@omsdb> alter system set optimizer_adaptive_features=false;

System altered.

SYS@omsdb> show parameter adaptive

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
optimizer_adaptive_features          boolean     FALSE
optimizer_adaptive_reporting_only    boolean     FALSE
parallel_adaptive_multi_user         boolean     TRUE

 

If there are any invalid objects in the OMS Repository database, then those need to be validated.

 

Take a backup of the current OMS. Refer the documentation “http://docs.oracle.com/cd/E24628_01/install.121/e24089/ha_backup_recover.htm#EMADV9639&#8221; on how to backup the OMS.

 

Copy the EMKEY from the exsting OMS to the existing management repository. EMKEY is the encryption key which is used by Enterprise Manager to encrypt/decrypt sensitive data such as passwords, preferred credentials.

 

[oracle@ora1-2 ~]$ echo $OMS_HOME
/u02/oms12c/oms

[oracle@ora1-2 ~]$ $OMS_HOME/bin/emctl config emkey -copy_to_repos
Oracle Enterprise Manager Cloud Control 12c Release 4
Copyright (c) 1996, 2014 Oracle Corporation.  All rights reserved.
Enter Enterprise Manager Root (SYSMAN) Password :
The EMKey has been copied to the Management Repository. This operation will cause the EMKey to become unsecure.
After the required operation has been completed, secure the EMKey by running "emctl config emkey -remove_from_repos".


[oracle@ora1-2 ~]$ $OMS_HOME/bin/emctl status emkey
Oracle Enterprise Manager Cloud Control 12c Release 4
Copyright (c) 1996, 2014 Oracle Corporation.  All rights reserved.
Enter Enterprise Manager Root (SYSMAN) Password :
The EMKey  is configured properly, but is not secure. Secure the EMKey by running "emctl config emkey -remove_from_repos".
[oracle@ora1-2 ~]$

 

Stop all the components of OMS which includes WebTier, OMS and AdminServer.

 

[oracle@ora1-2 u03]$ /u02/oms12c/oms/bin/emctl stop oms -all
Oracle Enterprise Manager Cloud Control 12c Release 4
Copyright (c) 1996, 2014 Oracle Corporation.  All rights reserved.
Stopping WebTier...
WebTier Successfully Stopped
Stopping Oracle Management Server...
Oracle Management Server Successfully Stopped
AdminServer Successfully Stopped
Oracle Management Server is Down
[oracle@ora1-2 u03]$

 

If there is an agent configured for the OMS server, then stop that too.

 

[oracle@ora1-2 ~]$ /u02/12cagent/core/12.1.0.4.0/bin/emctl stop agent
Oracle Enterprise Manager Cloud Control 12c Release 4
Copyright (c) 1996, 2014 Oracle Corporation.  All rights reserved.
Stopping agent ... stopped.

 

Copy all the EM13c software parts into a staging directory. I have them copied into directory “/u03/em13csoftware”.

 

[oracle@ora1-2 u03]$ ls -lrt /u03/em13csoftware | grep -i "em"
-rw-r--r--. 1 oracle oinstall 1315250699 Jun 11 15:54 em13100_linux64-2.zip
-rw-r--r--. 1 oracle oinstall 2145473190 Jun 11 16:05 em13100_linux64-3.zip
-rw-r--r--. 1 oracle oinstall 2141357330 Jun 11 16:15 em13100_linux64-4.zip
-rw-r--r--. 1 oracle oinstall  331590923 Jun 11 16:16 em13100_linux64-5.zip
-rw-r--r--. 1 oracle oinstall  841114290 Jun 11 16:20 em13100_linux64.bin

 

Set the executable permission on the file “em13100_linux64.bin” which is the executable binary file.
Execute the em13100_linux64.bin file to invoke the 13c GUI component.

 

[oracle@ora1-2 em13csoftware]$ chmod +x em13100_linux64.bin
[oracle@ora1-2 em13csoftware]$ ls -lrt em13100_linux64.bin
-rwxr-xr-x. 1 oracle oinstall 841114290 Jun 11 16:20 em13100_linux64.bin

 

[oracle@ora1-2 em13csoftware]$ ./em13100_linux64.bin
0%...............................................................100%
Launcher log file is /tmp/OraInstall2016-06-12_11-28-00AM/launcher2016-06-12_11-28-00AM.log.
Starting Oracle Universal Installer

Checking if CPU speed is above 300 MHz.   Actual 3180.718 MHz    Passed
Checking monitor: must be configured to display at least 256 colors.   Actual 16777216    Passed
Checking swap space: must be greater than 512 MB.   Actual 10236 MB    Passed
Checking if this platform requires a 64-bit JVM.   Actual 64    Passed (64-bit not required)
Checking temp space: must be greater than 300 MB.   Actual 22122 MB    Passed


Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2016-06-12_11-28-00AM
====Prereq Config Location main===
/tmp/OraInstall2016-06-12_11-28-00AM/stage/prereq
EMGCInstaller args -scratchPath
EMGCInstaller args /tmp/OraInstall2016-06-12_11-28-00AM
EMGCInstaller args -sourceType
EMGCInstaller args network
EMGCInstaller args -timestamp
EMGCInstaller args 2016-06-12_11-28-00AM
EMGCInstaller args -paramFile
EMGCInstaller args /tmp/sfx_Wr9ToQ/Disk1/install/linux64/oraparam.ini
EMGCInstaller args -nocleanUpOnExit
DiskLoc inside SourceLoc/u03/em13csoftware
EMFileLoc:/tmp/OraInstall2016-06-12_11-28-00AM/oui/em/
ScratchPathValue :/tmp/OraInstall2016-06-12_11-28-00AM

 

Provide the mail ID followed by password if you wish to receive the support updates and click NEXT.

 

1

 

I would not like to search for the software update and hence chosing the SKIP option and clicking NEXT.

 

2

 

Run the pre-requisite checks and if any discrepancy, then fix them before proceeding further.

 

3

 

Since we are upgrading to 13c EM, select the “Upgrade an existing Enterprise Manager system” option and under this select the “One-System Upgrade” by selecting the 12c EM home.

 

4

 

Enter the middleware home location. I’m installing 13c under the location “/u02/13c”.

 

5

 

Oracle automatically captures the connect description details for the repository database. Provide the SYS and SYSMAN password.
Also confirm that the Management Repository is backed up by checking the box. If you wish to stop the Enterprise Manager for post-upgradation maintenance, then check the “Disable DDMP jobs” and click NEXT button. In that case, the post-upgradation maintenance activity needs to be carried out manually. DDMP is Deferred Data Migration which is to migrate the format of the data from the previous release Enterprise Manager to the format used in 13c.

 

6

 

If there are any pre-requisite checks at OMS repository database level failed, then review the recommendations provided. Click YES, if you would like the installer to take necessary actions else NO for a manual fix.

 

7

 

Review the information on the plugins that will be upgraded and click Next.

 

8

 

Select the additional plugins that you want to deploy and click Next.

 

9

 

Fill in the WebLogic server details by specifying the password for the Weblogic User Name and also providing the OMS Instance Base Location.

 

10

 

If you want to configure and enable BI publisher, you can select it here, else click Next.

 

11

 

Review the default ports listed and click Next.

 

12

 

Review the list of information provided and click on Upgrade to begin the upgrade.

 

13

 

14

 

Run the “allroot.sh” script as ROOT user when prompted.

 

[root@ora1-2 ~]# /u02/13c/allroot.sh

Starting to execute allroot.sh .........

Starting to execute /u02/13c/root.sh ......
/etc exist
/u02/13c
Finished execution of  /u02/13c/root.sh ......

 

15

 

Review and note down the URLs

 

16

 

Login to the EM 13c through the browser with SYSMAN as the user and the password which was being used previously.

 

17

 

Accept the License Agreement to proceed further.

 

18

 

Review the OEM 13c summary page.

 

19

 

If you had disabled DDMP jobs while upgrading EM, you should consider to carry out the post upgrade tasks.

 

Login to the EM 13c through the browser. On the summary page, click SETUP. Under this, select “Manage Cloud Control” and then the “Post Upgrade Tasks” option.

 

24

 

Click the “Start” option to start the post upgrade tasks.

 

25

 

Review the status of the post upgrade tasks.

 

26

 

Upgrading a 12c agent to 13c:

 

As said previously, 13c agents can be configured on a Linux target machine whose version is not below 6. So, if you already have the 12c agent installed on a Linux machine which is less than version 6, then this cannot be considered to upgrade to 13c agent. But, you can still use the old agent (12c agent) with EM 13c.

 

For the purpose of this demo, I had a 12c agent installed on my OMS host which is of version 6. So, I’m considering to upgrade this agent to 13c.

 

Agent Host name: ora1-2
Agent Version: 12c
Agent Host Flavor: OEL 6

 

Login to the EM 13c through the browser. On the summary page, click SETUP. Under this, select “Manage Cloud Control” and then the “Upgrade Agents” option.

 

Click on the Add option under the “Agents for upgrade” option to view the list of agents that can be upgraded to 13c.

 

20

 

Select the agent you desire to upgrade and click OK.

 

21

 

Review the information and click on Submit to upgrade the agent.

 

22

 

After the agent upgrade, review the status manually.

 

12c agent under location:

 

[oracle@ora1-2 bin]$ cd /u02/12cagent/
[oracle@ora1-2 12cagent]$ ls -lrt
total 32
drwxr-xr-x.  3 oracle oinstall 4096 May 24  2014 core
drwxr-xr-x. 12 oracle oinstall 4096 Jun  7 13:24 plugins
-rw-rw-r--.  1 oracle oinstall  179 Jun 13 20:30 agentimage.properties
-rw-r--r--.  1 oracle oinstall  693 Jun 13 20:35 agentInstall.rsp
drwxr-xr-x.  3 oracle oinstall 4096 Jun 13 20:35 backup_agtup
drwxr-xr-x.  5 oracle oinstall 4096 Jun 13 20:40 sbin
drwxr-xr-x.  9 oracle oinstall 4096 Jun 13 20:49 agent_inst
drwxr-xr-x. 28 oracle oinstall 4096 Jun 13 20:50 agent_13.1.0.0.0

 

Agent upgrade installer creates a new directory called “agent_13.1.0.0.0” under the previous 12c agent directory.

 

[oracle@ora1-2 12cagent]$ cd agent_13.1.0.0.0/bin/
[oracle@ora1-2 bin]$ ./emctl status agent
Oracle Enterprise Manager Cloud Control 13c Release 1
Copyright (c) 1996, 2015 Oracle Corporation.  All rights reserved.
---------------------------------------------------------------
Agent Version          : 13.1.0.0.0
OMS Version            : 13.1.0.0.0
Protocol Version       : 12.1.0.1.0
Agent Home             : /u02/12cagent/agent_inst
Agent Log Directory    : /u02/12cagent/agent_inst/sysman/log
Agent Binaries         : /u02/12cagent/agent_13.1.0.0.0
Core JAR Location      : /u02/12cagent/agent_13.1.0.0.0/jlib
Agent Process ID       : 28044
Parent Process ID      : 27922
Agent URL              : https://ora1-2.mydomain:3872/emd/main/
Local Agent URL in NAT : https://ora1-2.mydomain:3872/emd/main/
Repository URL         : https://ora1-2.mydomain:4903/empbs/upload
Started at             : 2016-06-13 20:40:14
Started by user        : oracle
Operating System       : Linux version 2.6.32-71.el6.x86_64 (amd64)
Number of Targets      : 36
Last Reload            : 2016-06-13 20:43:33
Last successful upload                       : 2016-06-13 20:50:53
Last attempted upload                        : 2016-06-13 20:50:53
Total Megabytes of XML files uploaded so far : 0.29
Number of XML files pending upload           : 0
Size of XML files pending upload(MB)         : 0
Available disk space on upload filesystem    : 30.18%
Collection Status                            : Collections enabled
Heartbeat Status                             : Ok
Last attempted heartbeat to OMS              : 2016-06-13 20:50:38
Last successful heartbeat to OMS             : 2016-06-13 20:50:38
Next scheduled heartbeat to OMS              : 2016-06-13 20:51:39

---------------------------------------------------------------
Agent is Running and Ready
[oracle@ora1-2 bin]$

 

 

COPYRIGHT

© Shivananda Rao P, 2012 to 2017. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Shivananda Rao and http://www.shivanandarao-oracle.com with appropriate and specific direction to the original content.

 

 

DISCLAIMER

The views expressed here are my own and do not necessarily reflect the views of any other individual, business entity, or organisation. The views expressed by visitors on this blog are theirs solely and may not reflect mine

 

June 17, 2016 / Shivananda Rao P

OEM 12c Cloud Control – Agent Silent installation using RPM

In the previous article we have seen how to install OEM agent in silent mode using a response file. In the present articl, we shall look at an alternative way of silent installation of agent using RPM.

 

Environment details:

 

OMS Hostname: ora1-2
Agent to be deployed on : ora1-5

 

Below is the detail of the OMS status. This is checked from the OMS server.

 

[oracle@ora1-2 bin]$ ./emctl status oms -details
Oracle Enterprise Manager Cloud Control 12c Release 4
Copyright (c) 1996, 2014 Oracle Corporation.  All rights reserved.
Enter Enterprise Manager Root (SYSMAN) Password :
SYSMAN password provided is invalid
[oracle@ora1-2 bin]$ ./emctl status oms -details
Oracle Enterprise Manager Cloud Control 12c Release 4
Copyright (c) 1996, 2014 Oracle Corporation.  All rights reserved.
Enter Enterprise Manager Root (SYSMAN) Password :
Console Server Host        : ora1-2.mydomain
HTTP Console Port          : 7788
HTTPS Console Port         : 7802
HTTP Upload Port           : 4889
HTTPS Upload Port          : 4903
EM Instance Home           : /u01/app/oracle/gc_inst1/em/EMGC_OMS1
OMS Log Directory Location : /u01/app/oracle/gc_inst1/em/EMGC_OMS1/sysman/log
OMS is not configured with SLB or virtual hostname
Agent Upload is locked.
OMS Console is locked.
Active CA ID: 1
Console URL: https://ora1-2.mydomain:7802/em
Upload URL: https://ora1-2.mydomain:4903/empbs/upload

WLS Domain Information
Domain Name            : GCDomain
Admin Server Host      : ora1-2.mydomain
Admin Server HTTPS Port: 7102
Admin Server is RUNNING

Oracle Management Server Information
Managed Server Instance Name: EMGC_OMS1
Oracle Management Server Instance Host: ora1-2.mydomain
WebTier is Up
Oracle Management Server is Up

BI Publisher is not configured to run on this host.
[oracle@ora1-2 bin]$

 

Login to the “Enterprise Manager Command Line Interface” client from the OMS host with username as SYSMAN and it’s password.

 

[oracle@ora1-2 ~]$ cd /u01/app/oracle/oms12c/oms/bin
[oracle@ora1-2 bin]$ ./emcli login -username=sysman -password=Micromot10n
Login successful
[oracle@ora1-2 bin]$

 

Once logged in successfully, synchronize the EMCLI.

 

[oracle@ora1-2 bin]$ ./emcli sync
Synchronized successfully
[oracle@ora1-2 bin]$

 

Identify the list of Operating Systems for which the Agent software is available. This can be obtained by running the “get_supported_platforms” from the EMCLI interface.

 

[oracle@ora1-2 bin]$ ./emcli get_supported_platforms
-----------------------------------------------
Version = 12.1.0.4.0
 Platform = Linux x86-64
-----------------------------------------------
Platforms list displayed successfully.
[oracle@ora1-2 bin]$

 

Get the Agent “.rpm” for the required Operating system by specifying the “platform” option and the relevant agent version by passing “version” option. This will be saved on to the OMS host at the location specifed under the “destination” option.

Here, I’m getting the “.rpm” for “Linux x86-64” platform and of version “12.1.0.4.0” as stated above and saving it to “/u03/agent_software” location on the OMS host.

As a pre-requisite, make sure that the directory “/usr/lib/oracle” exists and has write permissions on the OMS server. Else the “get_agentimage_rpm” command might fail as shown below.

 

[oracle@ora1-2 bin]$ ./emcli get_agentimage_rpm -destination=/u03/agent_software -platform="Linux x86-64" -version="12.1.0.4.0"
Platform:Linux x86-64
Destination:/u03/agent_software
Exalogic:false
 Checking for disk space requirements...
 === Partition Detail ===
Space free : 15 GB
Space required : 1 GB
Space check pereq has failed. Make sure that you have 2 GB of space on /usr/lib/oracle directory
[oracle@ora1-2 bin]$

 

[oracle@ora1-2 bin]$ su -
Password:
[root@ora1-2 ~]# mkdir -p /usr/lib/oracle
[root@ora1-2 ~]#
[root@ora1-2 ~]# chmod 777 /usr/lib/oracle

 

Retry to get the agent image rpm after creating “/usr/lib/oracle” directory with write permission.

 

[oracle@ora1-2 bin]$ ./emcli get_agentimage_rpm -destination=/u03/agent_software -platform="Linux x86-64" -version="12.1.0.4.0"
Platform:Linux x86-64
Destination:/u03/agent_software
Exalogic:false
 Checking for disk space requirements...
 === Partition Detail ===
Space free : 15 GB
Space required : 1 GB
RPM Creation in progress ...
Check the logs at /u01/app/oracle/gc_inst1/em/EMGC_OMS1/sysman/emcli/setup/.emcli/get_agentimage_rpm_2016-05-12_12-29-54-PM.log
This operation may take few minutes, please wait ...
Agent image to rpm conversion completed successfully

 

Copy this downloaded AgentImage RPM on to the target server where the Agent needs to be installed. In my case, it’s host ora1-5 where the agent will be installed.

 

[oracle@ora1-2 agent_software]$ pwd
/u03/agent_software
[oracle@ora1-2 agent_software]$ scp oracle-agt-12.1.0.4.0-1.0.x86_64.rpm oracle@ora1-5:/u03/agent_software/
The authenticity of host 'ora1-5 (192.168.56.107)' can't be established.
RSA key fingerprint is cb:5b:3b:bd:51:e9:86:77:e8:f5:8f:be:59:f9:fa:73.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ora1-5,192.168.56.107' (RSA) to the list of known hosts.
oracle@ora1-5's password:
oracle-agt-12.1.0.4.0-1.0.x86_64.rpm                                                                                                 100%  224MB  11.2MB/s   00:20
[oracle@ora1-2 agent_software]$

 

On the target server, as ROOT user, install the copied agent-image rpm

 

[oracle@ora1-5 ~]$ cd /u03/agent_software/
[oracle@ora1-5 agent_software]$ ls -lrt
total 229736
-rw-r-----. 1 oracle oinstall 235009376 May 13 10:23 oracle-agt-12.1.0.4.0-1.0.x86_64.rpm
[oracle@ora1-5 agent_software]$

 

[root@ora1-5 ~]# rpm -Uivh /u03/agent_software/oracle-agt-12.1.0.4.0-1.0.x86_64.rpm
Preparing...                ########################################### [100%]
Running the prereq
   1:oracle-agt             ########################################### [100%]
Agent RPM installation is completed successfully. Now to configure the agent follow the below steps:
1. Edit the properties file: /usr/lib/oracle/agent/agent.properties with the correct values
2. Execute the script /etc/init.d/oracle-agt RESPONSE_FILE=/usr/lib/oracle/agent/agent.properties
[root@ora1-5 ~]#

 

Please note that when a “.rpm” file is used to install the agent, the default agent base directory location is “/usr/lib/oracle/agent”. So before installing the rpm, make sure the directory “/usr/lib/oracle” exists with write permissions on the target server where the agent will be installed.

If the agent needs to be installed on to a custom agent base directory location, then specify the “–relocate” option while installing the copied “.rpm” file.

 

For example:

 

rpm -Uivh --relocate /usr/lib/oracle/agent=<your_custom_agent_base_directory_location> <copied_rpm_file_with_complete_path>

rpm -Uivh --relocate /usr/lib/oracle/agent=/u01/app/oracle/agent /u03/agent_software/oracle-agt-12.1.0.4.0-1.0.x86_64.rpm

 

Also note that, when an agent is installed using rpm file, the inventory location is the AGENT_BASE_DIR/oraInventory. So, by default the inventory location will be “/usr/lib/oracle/agent/oraInventory”.

Once the agent rpm is installed successfully, we would be provided with sequence of steps to be followed to complete the cnfiguration.

 

Edit the “/usr/lib/oracle/agent/agent.properties” file with appropriate values such as OMS Hostname, OMS Port number (upload port number to communicate with OMS), Agent registration password (used to secure the agent), Agent username (username with which the agent needs to be installed), agent group (group to which the agent user belongs), agent port (optional – port where agent process will be started), hostname where you want the agent to be installed.

 

[root@ora1-5 ~]# cat /usr/lib/oracle/agent/agent.properties
#-------------------------------------------------------------------------------
#OMS_HOST:<String> OMS host info required to connect to OMS
#OMS_PORT:<String> OMS port info required to connect to OMS
#AGENT_REGISTRATION_PASSWORD:<String> Agent Registration Password needed to
#     establish a secure connection to the OMS.
#-------------------------------------------------------------------------------
OMS_HOST=ora1-2.mydomain
OMS_PORT=4903
AGENT_REGISTRATION_PASSWORD=oracle123
#-------------------------------------------------------------------------------
#AGENT_USERNAME:<String> User name with which the agent should be installed.
#AGENT_GROUP:<String> Group to which the agent user belogs.
#AGENT_PORT:<String> Port in which the agent process will come up.
#-------------------------------------------------------------------------------
AGENT_USERNAME=oracle
AGENT_GROUP=oinstall
#AGENT_PORT=3873
#-------------------------------------------------------------------------------
#ORACLE_HOSTNAME:<String> Virtual hostname where the agent is deployed.
#Example: ORACLE_HOSTNAME=hostname.domain
#-------------------------------------------------------------------------------
ORACLE_HOSTNAME=ora1-5.mydomain

 

As ROOT user using the above edited properties file, run the below command to cofigure the agent as directed after the agent rpm installation.

 

[root@ora1-5 ~]# /etc/init.d/oracle-agt RESPONSE_FILE=/usr/lib/oracle/agent/agent.properties
/usr/lib/oracle/agent/parameter.lst
Response File:/usr/lib/oracle/agent/agent.properties


Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 10239 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2016-05-13_10-29-42AM. Please wait ...
LD_LIBRARY_PATH environment variable :
-------------------------------------------------------
Total args: 31
Command line argument array elements ...
Arg:0:/tmp/OraInstall2016-05-13_10-29-42AM/jre/bin/java:
Arg:1:-Doracle.installer.library_loc=/tmp/OraInstall2016-05-13_10-29-42AM/oui/lib/linux64:
Arg:2:-Doracle.installer.oui_loc=/tmp/OraInstall2016-05-13_10-29-42AM/oui:
Arg:3:-Doracle.installer.bootstrap=TRUE:
Arg:4:-Doracle.installer.startup_location=/usr/lib/oracle/agent/core/12.1.0.4.0/oui/bin:
Arg:5:-Doracle.installer.jre_loc=../../jre:
Arg:6:-Doracle.installer.nlsEnabled="TRUE":
Arg:7:-Doracle.installer.prereqConfigLoc= :
Arg:8:-Doracle.installer.unixVersion=2.6.32-71.el6.x86_64:
Arg:9:-mx160m:
Arg:10:-cp:
Arg:11:/tmp/OraInstall2016-05-13_10-29-42AM::/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/OraInstaller.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/oneclick.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/xmlparserv2.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/share.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/OraInstallerNet.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/emocmutl.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/emCfg.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/OraPrereq.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/jsch.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/ssh.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/remoteinterfaces.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/http_client.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/OraSuiteInstaller.jar:/tmp/OraInstall2016-05-13_10-29-42AM/OPatch/jlib/opatch.jar:/tmp/OraInstall2016-05-13_10-29-42AM/OPatch/jlib/opatchactions.jar:/tmp/OraInstall2016-05-13_10-29-42AM/OPatch/jlib/opatchprereq.jar:/tmp/OraInstall2016-05-13_10-29-42AM/OPatch/jlib/opatchutil.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstImages.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp_de.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp_es.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp_fr.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp_it.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp_ja.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp_ko.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp_pt_BR.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp_zh_CN.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/InstHelp_zh_TW.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/oracle_ice.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/help4.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/help4-nls.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/ewt3.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/ewt3-swingaccess.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/ewt3-nls.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/swingaccess.jar::/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/jewt4.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/jewt4-nls.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/orai18n-collation.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/orai18n-mapping.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/ojmisc.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/xml.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/srvm.jar:/tmp/OraInstall2016-05-13_10-29-42AM/oui/jlib/classes12.jar:
Arg:12:oracle.sysman.oii.oiic.OiicInstaller:
Arg:13:-scratchPath:
Arg:14:/tmp/OraInstall2016-05-13_10-29-42AM:
Arg:15:-sourceType:
Arg:16:network:
Arg:17:-timestamp:
Arg:18:2016-05-13_10-29-42AM:
Arg:19:-clone:
Arg:20:-forceClone:
Arg:21:-force:
Arg:22:-silent:
Arg:23:ORACLE_HOME=/usr/lib/oracle/agent/core/12.1.0.4.0:
Arg:24:ORACLE_HOME_NAME=agent12c0:
Arg:25:-waitForCompletion:
Arg:26:-debug:
Arg:27:OMS_HOST=ora1-2.mydomain:
Arg:28:EM_UPLOAD_PORT=4903:
Arg:29:AGENT_BASE_DIR=/usr/lib/oracle/agent:
Arg:30:EM_PROTOCOL=https:
-------------------------------------------------------
Initializing Java Virtual Machine from /tmp/OraInstall2016-05-13_10-29-42AM/jre/bin/java. Please wait...
Oracle Universal Installer, Version 11.1.0.12.0 Production
Copyright (C) 1999, 2014, Oracle. All rights reserved.

You can find the log of this install session at:
 /u01/app/oraInventory/logs/cloneActions2016-05-13_10-29-42AM.log
.................................................................................................... 100% Done.



Installation in progress (Friday, May 13, 2016 10:30:06 AM IST)
...................................................              51% Done.
Install successful

Linking in progress (Friday, May 13, 2016 10:30:15 AM IST)
Link successful

Setup in progress (Friday, May 13, 2016 10:30:15 AM IST)
...............................                                 100% Done.
Setup successful

End of install phases.(Friday, May 13, 2016 10:30:29 AM IST)
The cloning of agent12c0 was successful.
Please check '/u01/app/oraInventory/logs/cloneActions2016-05-13_10-29-42AM.log' for more details.
copying /u01/app/oraInventory/logs/silentInstall2016-05-13_10-29-42AM.log to /usr/lib/oracle/agent/core/12.1.0.4.0/cfgtoollogs/oui/silentInstall2016-05-13_10-29-42AM.log
copying /u01/app/oraInventory/logs/cloneActions2016-05-13_10-29-42AM.log to /usr/lib/oracle/agent/core/12.1.0.4.0/cfgtoollogs/oui/cloneActions2016-05-13_10-29-42AM.log
copying /u01/app/oraInventory/logs/oraInstall2016-05-13_10-29-42AM.err to /usr/lib/oracle/agent/core/12.1.0.4.0/cfgtoollogs/oui/oraInstall2016-05-13_10-29-42AM.err
copying /u01/app/oraInventory/logs/oraInstall2016-05-13_10-29-42AM.out to /usr/lib/oracle/agent/core/12.1.0.4.0/cfgtoollogs/oui/oraInstall2016-05-13_10-29-42AM.out
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 10239 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2016-05-13_10-30-30AM. Please wait ...
LD_LIBRARY_PATH environment variable :
-------------------------------------------------------
Total args: 26
Command line argument array elements ...
Arg:0:/tmp/OraInstall2016-05-13_10-30-30AM/jre/bin/java:
Arg:1:-Doracle.installer.library_loc=/tmp/OraInstall2016-05-13_10-30-30AM/oui/lib/linux64:
Arg:2:-Doracle.installer.oui_loc=/tmp/OraInstall2016-05-13_10-30-30AM/oui:
Arg:3:-Doracle.installer.bootstrap=TRUE:
Arg:4:-Doracle.installer.startup_location=/usr/lib/oracle/agent/core/12.1.0.4.0/oui/bin:
Arg:5:-Doracle.installer.jre_loc=../../jre:
Arg:6:-Doracle.installer.nlsEnabled="TRUE":
Arg:7:-Doracle.installer.prereqConfigLoc= :
Arg:8:-Doracle.installer.unixVersion=2.6.32-71.el6.x86_64:
Arg:9:-mx160m:
Arg:10:-cp:
Arg:11:/tmp/OraInstall2016-05-13_10-30-30AM::/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/OraInstaller.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/oneclick.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/xmlparserv2.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/share.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/OraInstallerNet.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/emocmutl.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/emCfg.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/OraPrereq.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/jsch.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/ssh.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/remoteinterfaces.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/http_client.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/OraSuiteInstaller.jar:/tmp/OraInstall2016-05-13_10-30-30AM/OPatch/jlib/opatch.jar:/tmp/OraInstall2016-05-13_10-30-30AM/OPatch/jlib/opatchactions.jar:/tmp/OraInstall2016-05-13_10-30-30AM/OPatch/jlib/opatchprereq.jar:/tmp/OraInstall2016-05-13_10-30-30AM/OPatch/jlib/opatchutil.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstImages.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp_de.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp_es.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp_fr.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp_it.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp_ja.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp_ko.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp_pt_BR.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp_zh_CN.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/InstHelp_zh_TW.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/oracle_ice.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/help4.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/help4-nls.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/ewt3.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/ewt3-swingaccess.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/ewt3-nls.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/swingaccess.jar::/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/jewt4.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/jewt4-nls.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/orai18n-collation.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/orai18n-mapping.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/ojmisc.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/xml.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/srvm.jar:/tmp/OraInstall2016-05-13_10-30-30AM/oui/jlib/classes12.jar:
Arg:12:oracle.sysman.oii.oiic.OiicAttachHome:
Arg:13:-scratchPath:
Arg:14:/tmp/OraInstall2016-05-13_10-30-30AM:
Arg:15:-sourceType:
Arg:16:network:
Arg:17:-timestamp:
Arg:18:2016-05-13_10-30-30AM:
Arg:19:-attachHome:
Arg:20:ORACLE_HOME=/usr/lib/oracle/agent/sbin:
Arg:21:ORACLE_HOME_NAME=sbin12c0:
Arg:22:-waitForCompletion:
Arg:23:-debug:
Arg:24:-invPtrLoc:
Arg:25:/usr/lib/oracle/agent/core/12.1.0.4.0/oraInst.loc:
-------------------------------------------------------
Initializing Java Virtual Machine from /tmp/OraInstall2016-05-13_10-30-30AM/jre/bin/java. Please wait...
The inventory pointer is located at /usr/lib/oracle/agent/core/12.1.0.4.0/oraInst.loc
'AttachHome' was successful.
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 10239 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2016-05-13_10-30-34AM. Please wait ...
LD_LIBRARY_PATH environment variable :
-------------------------------------------------------
Total args: 25
Command line argument array elements ...
Arg:0:/tmp/OraInstall2016-05-13_10-30-34AM/jre/bin/java:
Arg:1:-Doracle.installer.library_loc=/tmp/OraInstall2016-05-13_10-30-34AM/oui/lib/linux64:
Arg:2:-Doracle.installer.oui_loc=/tmp/OraInstall2016-05-13_10-30-34AM/oui:
Arg:3:-Doracle.installer.bootstrap=TRUE:
Arg:4:-Doracle.installer.startup_location=/usr/lib/oracle/agent/core/12.1.0.4.0/oui/bin:
Arg:5:-Doracle.installer.jre_loc=../../jre:
Arg:6:-Doracle.installer.nlsEnabled="TRUE":
Arg:7:-Doracle.installer.prereqConfigLoc= :
Arg:8:-Doracle.installer.unixVersion=2.6.32-71.el6.x86_64:
Arg:9:-mx160m:
Arg:10:-cp:
Arg:11:/tmp/OraInstall2016-05-13_10-30-34AM::/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/OraInstaller.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/oneclick.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/xmlparserv2.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/share.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/OraInstallerNet.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/emocmutl.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/emCfg.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/OraPrereq.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/jsch.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/ssh.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/remoteinterfaces.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/http_client.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/OraSuiteInstaller.jar:/tmp/OraInstall2016-05-13_10-30-34AM/OPatch/jlib/opatch.jar:/tmp/OraInstall2016-05-13_10-30-34AM/OPatch/jlib/opatchactions.jar:/tmp/OraInstall2016-05-13_10-30-34AM/OPatch/jlib/opatchprereq.jar:/tmp/OraInstall2016-05-13_10-30-34AM/OPatch/jlib/opatchutil.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstImages.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp_de.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp_es.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp_fr.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp_it.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp_ja.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp_ko.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp_pt_BR.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp_zh_CN.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/InstHelp_zh_TW.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/oracle_ice.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/help4.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/help4-nls.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/ewt3.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/ewt3-swingaccess.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/ewt3-nls.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/swingaccess.jar::/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/jewt4.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/jewt4-nls.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/orai18n-collation.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/orai18n-mapping.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/ojmisc.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/xml.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/srvm.jar:/tmp/OraInstall2016-05-13_10-30-34AM/oui/jlib/classes12.jar:
Arg:12:oracle.sysman.oii.oiic.OiicUpdateHomeDeps:
Arg:13:-scratchPath:
Arg:14:/tmp/OraInstall2016-05-13_10-30-34AM:
Arg:15:-sourceType:
Arg:16:network:
Arg:17:-timestamp:
Arg:18:2016-05-13_10-30-34AM:
Arg:19:-updateHomeDeps:
Arg:20:HOME_DEPENDENCY_LIST={/usr/lib/oracle/agent/sbin:/usr/lib/oracle/agent/core/12.1.0.4.0}:
Arg:21:-waitForCompletion:
Arg:22:-debug:
Arg:23:-invPtrLoc:
Arg:24:/usr/lib/oracle/agent/core/12.1.0.4.0/oraInst.loc:
-------------------------------------------------------
Initializing Java Virtual Machine from /tmp/OraInstall2016-05-13_10-30-34AM/jre/bin/java. Please wait...
The inventory pointer is located at /usr/lib/oracle/agent/core/12.1.0.4.0/oraInst.loc
'UpdateHomeDeps' was successful.
Finished product-specific root actions.
/etc exist

Creating /etc/oragchomelist file...
/usr/lib/oracle/agent/core/12.1.0.4.0
Setting the invPtrLoc to /usr/lib/oracle/agent/core/12.1.0.4.0/oraInst.loc

perform - mode is starting for action: configure

** Agent Port Check completed successfully.**

perform - mode finished for action: configure

You can see the log file: /usr/lib/oracle/agent/core/12.1.0.4.0/cfgtoollogs/oui/configActions2016-05-13_10-30-39-AM.log
Agent Configuration completed successfully
[root@ora1-5 ~]#

 

Once the configuration is a success, check the agent status.

 

[oracle@ora1-5 ~]$
[oracle@ora1-5 ~]$ cd /usr/lib/oracle/agent/agent_inst/bin
[oracle@ora1-5 bin]$ ./emctl status agent
Oracle Enterprise Manager Cloud Control 12c Release 4
Copyright (c) 1996, 2014 Oracle Corporation.  All rights reserved.
---------------------------------------------------------------
Agent Version          : 12.1.0.4.0
OMS Version            : 12.1.0.4.0
Protocol Version       : 12.1.0.1.0
Agent Home             : /usr/lib/oracle/agent/agent_inst
Agent Log Directory    : /usr/lib/oracle/agent/agent_inst/sysman/log
Agent Binaries         : /usr/lib/oracle/agent/core/12.1.0.4.0
Agent Process ID       : 20280
Parent Process ID      : 20238
Agent URL              : https://ora1-5.mydomain:3872/emd/main/
Local Agent URL in NAT : https://ora1-5.mydomain:3872/emd/main/
Repository URL         : https://ora1-2.mydomain:4903/empbs/upload
Started at             : 2016-05-13 10:32:33
Started by user        : oracle
Operating System       : Linux version 2.6.32-71.el6.x86_64 (amd64)
Last Reload            : (none)
Last successful upload                       : 2016-05-13 10:34:25
Last attempted upload                        : 2016-05-13 10:34:33
Total Megabytes of XML files uploaded so far : 0.33
Number of XML files pending upload           : 0
Size of XML files pending upload(MB)         : 0
Available disk space on upload filesystem    : 86.76%
Collection Status                            : Collections enabled
Heartbeat Status                             : Ok
Last attempted heartbeat to OMS              : 2016-05-13 10:35:44
Last successful heartbeat to OMS             : 2016-05-13 10:35:44
Next scheduled heartbeat to OMS              : 2016-05-13 10:36:44

---------------------------------------------------------------
Agent is Running and Ready
[oracle@ora1-5 bin]$

 

 

COPYRIGHT

© Shivananda Rao P, 2012 to 2017. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Shivananda Rao and http://www.shivanandarao-oracle.com with appropriate and specific direction to the original content.

 

 

DISCLAIMER

The views expressed here are my own and do not necessarily reflect the views of any other individual, business entity, or organization. The views expressed by visitors on this blog are theirs solely and may not reflect mine