データベースの複製 - gend007/Oracle-DB GitHub Wiki
バックアップベースのデータベース複製手順を記載する
なお、当手順は、同ホストへのデータベース複製を前提とした手順となる。
※複製元のデータベースのバックアップがリカバリカタログに存在すること
※今回は/DATA02配下に作成する想定
oracle # cd $ORACLE_HOME/dbs
oracle # vi initorcl2.ora
※以下のパラメータを記載(sidはorcl2) DB_NAME='orcl2' db_domain=''
oracle # export ORACLE_SID=orcl2
oracle # sqlplus / as sysdba
SQL> startup nomount
SQL> quit
ORACLEインスタンスが起動しました。 Total System Global Area 268435456 bytes Fixed Size 8619496 bytes Variable Size 201329176 bytes Database Buffers 50331648 bytes Redo Buffers 8155136 bytes
※複製元のDBのパスワードファイルをコピーする
oracle # cp -p $ORACLE_HOME/dbs/orapworcl $ORACLE_HOME/dbs/orapworcl2
oracle # cd $ORACLE_HOME/network/admin
oracle # vi listener.ora
※以下の内容を記載 LISTENER = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=gend-node01)(PORT=1521)))) SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (GLOBAL_DBNAME=orcl2) (SID_NAME=orcl2) (ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1) ) )
oracle # lisnrctl start
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 07-1月 -2019 05:34:26 Copyright (c) 1991, 2016, Oracle. All rights reserved. /u01/app/oracle/product/12.2.0/db_1/bin/tnslsnrを起動しています。お待ちください... TNSLSNR for Linux: Version 12.2.0.1.0 - Production システム・パラメータ・ファイルは/u01/app/oracle/product/12.2.0/db_1/network/admin/listener.oraです。 ログ・メッセージを/u01/app/oracle/diag/tnslsnr/gend-node01/listener/alert/log.xmlに書き込みました。 リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gend-node01)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gend-node01)(PORT=1521)))に接続中 リスナーのステータス ------------------------ 別名 LISTENER バージョン TNSLSNR for Linux: Version 12.2.0.1.0 - Production 開始日 07-1月 -2019 05:34:26 稼働時間 0 日 0 時間 0 分 0 秒 トレース・レベル off セキュリティ ON: Local OS Authentication SNMP OFF パラメータ・ファイル /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora ログ・ファイル /u01/app/oracle/diag/tnslsnr/gend-node01/listener/alert/log.xml リスニング・エンドポイントのサマリー... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gend-node01)(PORT=1521))) サービスのサマリー... サービス"orcl2"には、1件のインスタンスがあります。 インスタンス"orcl2"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります... コマンドは正常に終了しました。
※複製元のリカバリカタログへログイン
oracle # export ORACLE_SID=orcl
oracle # rman target sys/Kamemiya007 catalog rco/catalogdb@catadb
※複製元のDBが起動していない場合は起動すること
Recovery Manager: Release 12.2.0.1.0 - Production on 月 1月 7 06:26:03 2019 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. ターゲット・データベースに接続しました(起動していません)。 リカバリ・カタログ・データベースに接続されました。
RMAN> CONNECT AUXILIARY sys/Kamemiya007@orcl2
補助データベース: ORCL2に接続されました(マウントされていません)
※同ホストへ複製する場合はPARAMETER_VALUE_CONVERT、db_file_name_convert、log_file_name_convertの指定は必須
RMAN> DUPLICATE DATABASE orcl TO orcl2
NOFILENAMECHECK
SPFILE PARAMETER_VALUE_CONVERT='/DATA01/orcl','/DATA02/orcl2'
SET db_file_name_convert='/DATA01/orcl','/DATA02/orcl2'
SET log_file_name_convert='/DATA01/orcl','/DATA02/orcl2';
中略 データベースがオープンしました。 補助データベースの制御ファイル・オプションを再度有効にします 実行中: alter database flashback on Duplicate Dbを19-01-07で終了しました