Looking for something? Try here..

Monday, August 3, 2020

Oracle - Cloning rdbms home

In my previous post I have explained on how to clone a grid home. Let's look at how to clone RDBMS home in this post. This is really simple compared to the cloning of grid home..

Step 1: Create RDBMS Gold image
Set the database home environment and run createGoldImage using runInstaller
$ $ORACLE_HOME/runInstaller -silent -createGoldImage -destinationLocation /oracle/media/Grid_GoldImg/19.7_goldImage
Launching Oracle Database Setup Wizard...

Successfully Setup Software.
Gold Image location: /oracle/media/Grid_GoldImg/19.7_goldImage/db_home_2020-07-27_11-28-33PM.zip

$
Once the software zip is created, it can be transferred to the target server and all the steps below are to be executed on the target server

Step 2: Unzip the Gold image
$ mkdir -p /oracle/ABC/19.0.0
$ cd /oracle/ABC/19.0.0
$ ls -lrt /oracle/media/Grid_GoldImg/19.7_goldImage/
total 9163480
-rwxrwxrwx. 1 oracle oinstall 5290166783 Jul 28 06:36 grid_home_2020-07-27_11-24-58PM.zip
-rwxrwxrwx. 1 oracle oinstall 4093232595 Jul 28 06:39 db_home_2020-07-27_11-28-33PM.zip
$ unzip /oracle/media/Grid_GoldImg/19.7_goldImage/db_home_2020-07-27_11-28-33PM.zip
Archive:  /oracle/media/Grid_GoldImg/19.7_goldImage/db_home_2020-07-27_11-28-33PM.zip
   creating: R/
   creating: R/library/
   creating: R/library/ORE/
  inflating: R/library/ORE/DESCRIPTION
   creating: R/library/ORE/doc/
   creating: R/library/ORE/doc/man/
   creating: R/library/ORE/doc/man/de/
  inflating: R/library/ORE/doc/man/de/OREShowDoc.Rd
   creating: R/library/ORE/doc/man/en/
....
....
finishing deferred symbolic links:
  bin/lbuilder           -> ../nls/lbuilder/lbuilder
  lib/libobk.so          -> /usr/openv/netbackup/bin/libsapora.so64
  lib/libocci.so         -> libocci.so.19.1
  lib/libodm19.so        -> libodmd19.so
  lib/libagtsh.so        -> libagtsh.so.1.0
  lib/libclntsh.so       -> libclntsh.so.19.1
  lib/libjavavm19.a      -> ../javavm/jdk/jdk8/lib/libjavavm19.a
....
....
  javavm/lib/security/README.txt -> ../../../javavm/jdk/jdk8/lib/security/README.txt
  javavm/lib/sunjce_provider.jar -> ../../javavm/jdk/jdk8/lib/sunjce_provider.jar
  javavm/lib/security/java.security -> ../../../javavm/jdk/jdk8/lib/security/java.security
$

Step 3: Install the software
Prepare the response file and install the software. Remember, as mentioned in the previous post usage of clone.pl script is deprecated. Sample response file is here db.rsp
$ ./runInstaller -silent -responseFile /home/oracle/db.rsp
Launching Oracle Database Setup Wizard...

The response file for this session can be found at:
 /oracle/ABC/19.0.0/install/response/db_2020-07-30_06-27-30AM.rsp

You can find the log of this install session at:
 /oracle/oraInventory/logs/InstallActions2020-07-30_06-27-30AM/installActions2020-07-30_06-27-30AM.log

As a root user, execute the following script(s):
        1. /oracle/ABC/19.0.0/root.sh

Execute /oracle/ABC/19.0.0/root.sh on the following nodes:
[XXXXXXX]


Successfully Setup Software.
$ sudo /oracle/ABC/19.0.0/root.sh
Check /oracle/ABC/19.0.0/install/root_XXXXXXX.dc.honeywell.com_2020-07-30_06-39-56-995239503.log for the output of root script
$ cat /oracle/ABC/19.0.0/install/root_XXXXXXX.dc.honeywell.com_2020-07-30_06-39-56-995239503.log
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /oracle/ABC/19.0.0
   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.
Oracle Trace File Analyzer (TFA) is available at : /oracle/ABC/19.0.0/bin/tfactl
$
You can verify whether the home has been added to the inventory by reading the inventory.xml file
$ cat /oracle/oraInventory/ContentsXML/inventory.xml





   12.2.0.7.0
   2.1.0.6.0








$
Now we have successfully installed the RDBMS software as well. 

Just a tip... 
We can still use clone.pl script to clone the home using old method but you will get a warning message before proceeding as below

$ /oracle/ABC/19.0.0/perl/bin/perl /oracle/ABC/19.0.0/clone/bin/clone.pl -silent ORACLE_HOME=/oracle/ABC/19.0.0 ORACLE_BASE=/oracle/ABC -defaultHomeName INVENTORY_LOCATION=/oracle/oraInventory


[INFO] [INS-32183] Use of clone.pl is deprecated in this release. Clone operation is equivalent to performing a Software Only installation from the image.
You must use /oracle/ABC/19.0.0/runInstaller script available to perform the Software Only install. For more details on image based installation, refer to help documentation.

Starting Oracle Universal Installer...

You can find the log of this install session at:
 /oracle/oraInventory/logs/cloneActions2020-06-03_02-18-22PM.log
..................................................   5% Done.
..................................................   10% Done.
..................................................   15% Done.
...
...
...
Finish Setup successful.
The cloning of OraHome1 was successful.
Please check '/oracle/oraInventory/logs/cloneActions2020-06-03_02-18-22PM.log' for more details.

Setup Oracle Base in progress.

Setup Oracle Base successful.
..................................................   95% Done.

As a root user, execute the following script(s):
        1. /oracle/ABC/19.0.0/root.sh



..................................................   100% Done.
$
It's always better to use the updated scripts instead of using the outdated/deprecated scripts.. 


Happy cloning!!!

No comments:

Post a Comment