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 2018. 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

Leave a comment