Oracle Home をクローニングしてみた

クローニングがどんなものか調べるためにとりあえず使ってみた。
最初はクローニング元の Oracle Home をコピーするだけと思ってたけど、リンクしているみたい。
通常インストールだと、OUI が jar を解凍して、リンクしているけど、クローニングの場合は圧縮した Oracle Home を展開して、リンクしているようだ。

手順

クローン元のホストでの作業
  • クローニングするOracle Databaseが正常にインストールされていることを確認する。
$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinventory
Invoking OPatch 11.2.0.1.1

Oracle Interim Patch Installer version 11.2.0.1.1
Copyright (c) 2009, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /var/opt/oracle/oraInst.loc
OPatch version    : 11.2.0.1.1
OUI version       : 11.2.0.2.0
OUI location      : /u01/app/oracle/product/11.2.0/dbhome_1/oui
Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2011-06-08_18-35-58PM.log

Patch history file: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_history.txt

Lsinventory Output file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2011-06-08_18-35-58PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (1): 

Oracle Database 11g                                                  11.2.0.2.0
There are 1 products installed in this Oracle Home.


There are no Interim patches installed in this Oracle Home.


--------------------------------------------------------------------------------

OPatch succeeded.
  • このOracleホームに関連するすべてのプロセスを停止していることを確認する。
-bash-3.00$ ps -U oracle -f
     UID   PID  PPID   C    STIME TTY         TIME CMD
  oracle  1299  1286   0 18:34:29 pts/3       0:00 -bash
  oracle  1339  1299   0 18:37:03 pts/3       0:00 ps -U oracle -f
  oracle  1286  1284   0 18:34:29 ?           0:00 /usr/lib/ssh/sshd
  • Oracle Home を圧縮する。
$ cd /home/oracle
$ zip -r dbhome_1.zip /u01/app/oracle/product/11.2.0/dbhome_1

クローン先のホストでの作業

  • 別のホストに ZIP をコピーして解凍する。
$ unzip -d / dbhome_1.zip
  • 解凍した $ORACLE_HOME/network/admin 以下の *.ora を削除する。
$ cd /u01/app/oracle/product/11.2.0/dbhome_1/network/admin
$ rm -i *.ora
  • clone.pl を実行する。
$ /u01/app/oracle/product/11.2.0/dbhome_1/perl/bin/perl clone.pl ORACLE_BASE="/u01/app/oracle/" ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1" OSDBA_GROUP=dba OSOPER_GROUP=oper -defaultHomeName
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 1442 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-06-09_08-48-42AM. Please wait ...Oracle Universal Installer, Version 11.2.0.2.0 Production
Copyright (C) 1999, 2010, Oracle. All rights reserved.

You can find the log of this install session at:
 /u01/app/oraInventory/logs/cloneActions2011-06-09_08-48-42AM.log
.................................................................................................... 100% Done.



Installation in progress (Thursday, June 9, 2011 8:49:13 AM JST)
..............................................................................                                                  78% Done.
Install successful

Linking in progress (Thursday, June 9, 2011 8:49:38 AM JST)
Link successful

Setup in progress (Thursday, June 9, 2011 8:53:11 AM JST)
Setup successful

End of install phases.(Thursday, June 9, 2011 8:53:29 AM JST)
WARNING:
The following configuration scripts need to be executed as the "root" user.
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
To execute the configuration scripts:
    1. Open a terminal window
    2. Log in as "root"
    3. Run the scripts
    
The cloning of OraHome1 was successful.
Please check '/u01/app/oraInventory/logs/cloneActions2011-06-09_08-48-42AM.log' for more details.
  • root.sh を実行する。
-bash-3.00# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Check /u01/app/oracle/product/11.2.0/dbhome_1/install/root_solaris101_2011-06-09_09-02-02.log for the output of root script

参考

メモ

  • クローン先で、OSグループ・ユーザーの作成、環境変数の設定、umaskの設定など通常のインストール前に必要な作業をしておく必要がある。