OracleラーニングのDATAGUARD(十一)snapshot database


Snapshot Standbyでは、本番環境のプライマリ・ライブラリでテストしにくいコンテンツ(オンライン・テストなどのシミュレーションなどのタスク)に、スタンバイ・ライブラリを「読み取り/書き込み可能な状態」に置くことができます.バックアップの読み書き状態でタスクが完了すると、Snapshot Standbyデータベースロールを簡単に完了してバックアップロールに切り替え、プライマリ・ライブラリ・データと同期します.Snapshot Standbyデータベースの状態では、スタンバイはプライマリ・ライブラリから送信されたログを受け入れることができますが、変更をスタンバイに適用することはできません. 
物理スペアをSnapshotに変換する前提条件
  • は、リポジトリ上のログアプリケーションを停止します.
  • リポジトリオープンデータベースフラッシュバック機能
  • 次に、snapshotに切り替えると説明します.
    1.リポジトリへのログの適用を停止します.
    DGMGRL> edit database 11gdg2 set state=APPLY-OFF;
    Succeeded.
    DGMGRL>

    2.バックアップデータベースのフラッシュバック機能をオンにする
    SQL>  alter database flashback on;
    
    Database altered.

    3.リポジトリからsnapshotへの移行
    DGMGRL> CONVERT DATABASE 11GDG2 TO SNAPSHOT STANDBY;
    Converting database "11gdg2" to a Snapshot Standby database, please wait...
    Database "11gdg2" converted successfully

    4.このとき、メインライブラリでデータの変更を行います.
    SQL> select count(*) from t1;
    
      COUNT(*)
    ----------
    	56
    
    SQL> insert into t1 select * from t1;
    
    56 rows created.
    
    SQL> commit;
    
    Commit complete.

    5.リポジトリでのデータの変更
    SQL> conn / as sysdba
    Connected.
    SQL> select open_mode from v$database;
    
    OPEN_MODE
    ------------------------------------------------------------
    READ WRITE
    
    SQL> conn scott/tiger
    Connected.
    SQL> create table t2 as select * from t1;
    
    Table created.
    
    SQL> select count(*) from t2;
    
      COUNT(*)
    ----------
    	56
    
    SQL>

    6.snapshotをphysical standbyに変更
    DGMGRL> CONVERT DATABASE 11GDG2 TO PHYSICAL STANDBY;
    Converting database "11gdg2" to a Physical Standby database, please wait...
    Operation requires shutdown of instance "dgtst" on database "11gdg2"
    Shutting down instance "dgtst"...
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    Operation requires startup of instance "dgtst" on database "11gdg2"
    Starting instance "dgtst"...
    ORACLE instance started.
    Database mounted.
    Continuing to convert database "11gdg2" ...
    Operation requires shutdown of instance "dgtst" on database "11gdg2"
    Shutting down instance "dgtst"...
    ORA-01109: database not open
    
    Database dismounted.
    ORACLE instance shut down.
    Operation requires startup of instance "dgtst" on database "11gdg2"
    Starting instance "dgtst"...
    ORACLE instance started.
    Database mounted.
    Database "11gdg2" converted successfully

    リポジトリを開く
    SQL> alter database open read only;
    
    Database altered.

    7.候補群のt 2テーブルがまだ存在するかどうかを確認する
    SQL> conn scott/tiger
    Connected.
    SQL> select * from t2;
    select * from t2
                  *
    ERROR at line 1:
    ORA-00942: table or view does not exist
    
    
    SQL>

    8.snapshotに変換した後、メインライブラリへの変更データが適用されているかどうかを確認します.
    SQL> select count(*) from t1;
    
      COUNT(*)
    ----------
           112
    
    SQL>

    第4歩の結論と同じです.