フィジカル・スタンバイからのデータベースの複製
このブログでは、物理スタンバイデータベースからデータベースを複製する方法について説明しています。
データベースの複製は、ネットワークを介してターゲットデータベースを補助宛先にコピーしてから、複製データベースを作成します。既存のRMANバックアップとコピーは必要ありません。
Oracle®11grelease2以降では、フィジカルスタンバイからの複製データベースがサポートされています。
フィジカルスタンバイからRMANアクティブ複製を実行するには、次のことが必要です。
- データベース:Oracle11gから最新バージョン
- プラットフォーム:Linux®7
- スタンバイDB名:
PROD_DR
- ターゲットDB名:
TEST
フィジカル・スタンバイ・データベースでリカバリーを停止してから、データベースを読み取り専用モードで開いて、複製を許可してください。
次のコマンドを使用して、スタンバイデータベースのステータスを確認します。
PROD_DR> select name, open_mode, log_mode from v$database;
次のような出力が表示されます。
NAME OPEN_MODE LOG_MODE
--------- -------------------- ------------
PROD_DR MOUNTED ARCHIVELOG
次のコマンドを使用して、スタンバイデータベースのリカバリを停止します。
SQL> alter database recover managed standby database cancel;
Database altered.
次に、データベースを読み取り専用モードで開きます。
SQL> alter database open read only;
Database altered.
データベースのステータスを再度チェックして、データベースがマウントされているのではなく、読み取り専用になっていることを確認します。
PROD_DR> select name, open_mode,log_mode from v$database;
NAME OPEN_MODE LOG_MODE
--------- -------------------- ------------
PROD_DR READ ONLY ARCHIVELOG
このセクションでは、スタンバイOracleホームバイナリ全体をターゲットインスタンスサーバーにコピーし、pfileを準備します。 ソースデータベースから、新しいデータベース名に従って変更を加えます。
注: データベースを同じサーバーに複製する場合は、DB_NAME
に適切な値を使用する必要があります 、DB_UNIQUE_NAME
、DB_FILE_NAME_CONVERT
、およびLOG_FILE_NAME_CONVERT
。
まず、 pfileを準備します 次のコマンドを使用して:
cd $ORACLE_HOME/dbs
initTEST.ora
*.control_files='+DATA/cntrl01.dbf', '+DATA/cntrl02.dbf'
*.db_create_file_dest='+DATA'
*.db_file_name_convert='+PROD_DR_DATA','+DATA'
*.db_name='TEST'
*.db_unique_name='TEST'
*.diagnostic_dest='/u01/app/diag'
*.log_file_name_convert='+PROD_DR_DATA','+DATA'
既存のスタンバイパスワードファイルをコピーして、TESTデータベースに使用されるSIDと一致するように名前を変更するか、同じソースパスワードを使用してターゲットサーバーに新しいパスワードファイルを作成できます。
cd $ORACLE_HOME/dbs
cp orapwPROD_DR orapwTEST
次の手順を使用して、テストデータベースの静的リスナーを構成します。
cd $ORACLE_HOME/network/admin
cat listener.ora
ADR_BASE_LISTENER_LOCAL = /u01/app/oracle
LISTENER_LOCAL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = TEST.ras.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER_LOCAL = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = DGNEER) (ORACLE_HOME = /u01/app/oracle/product/12.1.0.2/dbhome_1) (SID_NAME = TEST)))
次のコマンドを使用してリスナーを起動します。
lsnrctl status listener_local
次の例のような出力が表示されます。
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 09-JUN-2020 02:57:35
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST= TEST.ras.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias listener_local
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 04-JAN-2020 04:53:15
Uptime 156 days 21 hr. 4 min. 19 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/12.1.0.2/dbhome_1/admin/diag/tnslsnr/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= TEST.ras.com)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "TEST" has 2 instance(s).
Instance "TEST", status UNKNOWN, has 1 handler(s) for this service...
Instance "TEST", status READY, has 1 handler(s) for this service...
The command completed successfully
OracleNetエイリアスを作成する
次に、スタンバイデータベースにアクセスするためにOracleNetエイリアスを作成する必要があります。
PROD_DR=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST= standbydb.ras.com)(PORT=1523))
(CONNECT_DATA=
(SID=PROD_DR)
)
)
次に、ターゲットデータベースをnomount
で起動する必要があります 次のコマンドを使用して状態を示します:
sqlplus "/ as sysdba"
startup nomount
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- -------------
db_name string TEST
SQL> show parameter uniq
NAME TYPE VALUE
------------------------------------ ----------- -------------
db_unique_name string TEST
RMANを使用して接続をテストします
ターゲットデータベースがnomount
で実行された後 状態、RMANを使用して接続をテストします:
[[email protected] dbs]$ rman target sys@PROD_DR auxiliary sys@TEST
Recovery Manager: Release 12.1.0.2.0 - Production on Thu Jun 09 03:25:22 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
target database Password:
connected to target database: PROD_DR (DBID=4252464621)
auxiliary database Password:
connected to auxiliary database: TEST (not mounted)
次のコマンドを使用して、スタンバイデータベースをターゲットデータベースに復元および複製します。
RMAN> target sys@PROD_DR auxiliary sys@TEST
RMAN> duplicate target database to TEST from active database nofilenamecheck;
複製コマンドが完了したら、次のコマンドを使用して、スタンバイデータベースを再起動し、リカバリを再度有効にする必要があります。
PROD_DR> shut immediate
PROD_DR> startup mount;
PROD_DR> alter database recover managed standby database disconnect from session;
次のコマンドを使用して、ターゲットデータベースのステータスを確認します。
[[email protected] dbs]$ sqlplus "/ as sysdba"
SQL*Plus: Release 12.1.0.2.0 Production on Tue Jun 9 05:15:53 2020
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options
SQL> select name, open_mode, log_mode , database_role from v$database;
NAME OPEN_MODE LOG_MODE DATABASE_ROLE
--------- -------------------- ------------ ----------------
TEST READ WRITE ARCHIVELOG PRIMARY
このブログでは、物理バックアップを作成せずに物理スタンバイからデータベースを複製し、ターゲットデータベースをスタンバイデータベースで提供されている最新のアーカイブに復元しました。
- スタンバイからRMAN複製を実行して、新しいクローンを作成します(Doc ID 1665784.1)
データベースの詳細をご覧ください。
コメントや質問をするには、[フィードバック]タブを使用します。 セールスチャットをクリックすることもできます 今すぐチャットして会話を始めましょう。
-
OracleSEv2.0ディザスタリカバリのDbvisitスタンバイ
Dbvisitスタンバイは、Oracle®Standard Edition(SE)およびStandard Edition 2(SE2)データベース用のレプリケーションツールです。 はじめに Oracleデータベースのディザスタリカバリ(DR)ソリューションを設定する場合、コストは常に要因になります。 Oracleには標準データベースを備えたDRソリューションは含まれていませんが、Dbvisitがソリューションを提供しています。 Dbvisitは、Oracleの実証済みのアーカイブおよびやり直しメカニズムを使用し、データベースDR用のツールを提供します。 Dbvisitスタンバイには次の機能
-
増分バックアップを使用してフィジカル・スタンバイ・データベースをリカバリーします
スタンバイデータベースは、基本的に本番データベースの一貫したコピーであり、本番災害、データ損失、または破損に役立ちます。 はじめに 次の理由により、プライマリサイトとスタンバイサイトの間の遅延が発生する可能性があります。 プライマリデータベースとスタンバイデータベース間のネットワーク帯域幅の問題。 スタンバイデータベースが利用できない。 プライマリデータベースのアーカイブREDOデータが誤って削除された。 プライマリサイトからアーカイブログをコピーして適用することで、プライマリ環境とスタンバイ環境を同期できますが、このプロセスには非常に時間がかかります。 もう1つのオプションは、プラ