以下の方法は、Oracleを停止させる必要はありますが(ダウンタイムは発生しますが)、手軽にOracleの環境を移行することができます。 なお、この方法はOracle環境一式をバックアップする方法としても有効です。
1.【現環境】Oracleを止める
# su - oracle $ sqlplus sys as sysdba SQL> shutdown immediate SQL> quit $ lsnrctl stop
2.【現環境】/u01ディレクトリを圧縮する
# cd / # tar czvf u01.tgz /u01
3.【現環境】u01.tgzを新環境へコピー
$ scp u01.tgz <ユーザー名>@<コピー先のIPアドレス>:/home/<ユーザー名>
4.【新環境】u01.tgzを展開
$ tar zxvf u01.tgz $ sudo -s # mv u01 /
5.【新環境】以下のファイルを更新する
例)hoge.local -> fuga.localへ変更する場合
/u01/app/oracle/product/x.x.x/dbhome_1/admin/listener.ora
変更前)
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hoge.local)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
変更後)
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = fuga.local)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
/u01/app/oracle/product/x.x.x/dbhome_1/admin/tnsnames.ora
変更前)
HOGE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hoge.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ACTIVITI) ) ) LISTENER_HOGE = (ADDRESS = (PROTOCOL = TCP)(HOST = hoge.local)(PORT = 1521))
変更後)
HOGE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = fuga.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ACTIVITI) ) ) LISTENER_HOGE = (ADDRESS = (PROTOCOL = TCP)(HOST = fuga.local)(PORT = 1521))
6.【新環境】Oracleを立ち上げる
以下のコマンドを実行し、特にエラー等が表示されなければ移行完了です。
# su - oracle $ sqlplus sys as sysdba SQL> startup SQL> quit $ lsnrctl start