日本語PDF

OMSへのデータベース全体の移動

データ・ファイルの数が多い場合、またはrootのPDBファイルを移動する場合は、RMANを使用してデータベース全体をOracle Memory Speed (OMS)に移動します。

データベース全体を移行するには、次の手順を実行します。

  1. データベースをバックアップします。
  2. OMSでファイルをリストアし、データベースをリカバリします。

データベース・バックアップを開始する前に、次のことを実行します。

  • COMPATIBLE初期化パラメータが11.0.0未満に設定された読取り専用トランスポータブル表領域がある場合、RMANバックアップがその表領域で機能するように、読取り専用トランスポータブル表領域を読取り/書込みにします。
  • フィジカル・スタンバイ・データベースがある場合は、次のように、実行中の管理リカバリを停止します。

    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
  1. RMANセッションを開始し、移行するデータベースに接続します。OMSストレージでデータベースのlevel 0コピーを実行します。
    RUN
    {
              ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;
              ALLOCATE CHANNEL dev2 DEVICE TYPE DISK;
              ALLOCATE CHANNEL dev3 DEVICE TYPE DISK;
              ALLOCATE CHANNEL dev4 DEVICE TYPE DISK;
              BACKUP AS COPY
                   INCREMENTAL LEVEL 0
                   DATABASE
                   FORMAT 'oms_mount_path/%U'
                  TAG 'ORA_OMS_MIGRATION';
    }

    このformat句ではoms_mount_path/%Uが指定されています。これは、データベースの格納に使用するOMSファイル・システムに対応しています。

  2. SPFILEを使用していない場合は、現在のPFILEを使用してOMSストレージにSPFILEを作成します。
    SQL> CREATE SPFILE='oms_mount_path/spfilesid.ora' FROM PFILE='?/dbs/initsid.ora';
  3. 現在のオンラインREDOログをアーカイブし、サーバー・パラメータ・ファイルSPFILEをバックアップします。
    RMAN> SQL "ALTER SYSTEM ARCHIVE LOG CURRENT";
    RMAN> BACKUP AS BACKUPSET SPFILE;
    RMAN> SHUTDOWN IMMEDIATE;
  4. データベースで変更トラッキングまたはフラッシュバック・データベースが使用される場合は、データベース・インスタンスを停止する前にこれらの機能を無効にします。
    RMAN> SQL "ALTER DATABASE DISABLE BLOCK CHANGE TRACKING";
    RMAN> SQL "ALTER DATABASE FLASHBACK OFF";

    これでデータベースの完全なコピーが作成され、インスタンスが停止されます。

  5. データベース・インスタンスを起動し、OMSストレージ内の、RMANで作成したコピーに切り替えるには、OMSストレージ領域にSPFILEを作成します。
    RMAN> STARTUP MOUNT;
    RMAN> RESTORE SPFILE TO 'oms_mount_path/spfilesid.ora';
    RMAN> SHUTDOWN IMMEDIATE;
    

    ここで、oms_mount_pathはOMSストレージへのマウント・パス、sidはインスタンスのSIDです。

  6. OMSマウント・パスを指すようにOracle Managed Files (OMF)パラメータを設定します。
    SQL> STARTUP FORCE NOMOUNT;
    SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='oms_mount_path' SID='*';
    SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='oms_mount_path' SID='*';
  7. 制御ファイルをOMSに移行し、制御ファイルの場所をOMSのパスに設定し、制御ファイルをOMSでない元の場所からリストアします。
    SQL> STARTUP FORCE NOMOUNT;
    SQL> ALTER SYSTEM SET CONTROL_FILES='oms_mount_path' SCOPE=SPFILE SID='*';
  8. 制御ファイルをリストアします。
    RMAN> STARTUP FORCE NOMOUNT;
    RMAN> RESTORE CONTROLFILE FROM 'original_cf_name';
    RMAN> ALTER DATABASE MOUNT;

    この例では、original_cf_nameは、移行前の初期化パラメータ・ファイル内の制御ファイル名です。

  9. RMANのSWITCH DATABASEを使用して、データ・ファイルをOMSコピーに移行します。
    SWITCH DATABASE TO COPY;
    RUN
    {
    ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;
    ALLOCATE CHANNEL dev2 DEVICE TYPE DISK;
    ALLOCATE CHANNEL dev3 DEVICE TYPE DISK;
    ALLOCATE CHANNEL dev4 DEVICE TYPE DISK;
    RECOVER DATABASE;
    }
    
  10. データベースで変更トラッキングまたはフラッシュバック・データベースが使用される場合は、それらの機能を有効にします。
    SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'oms_mount_path';
    SQL> ALTER DATABASE FLASHBACK ON;
  11. OMSを使用するには、データベースを標準動作モードにします。
    • データベースがプライマリ・データベースである場合は、次のものを使用してオープンします。

      SQL> ALTER DATABASE OPEN;
    • データベースがスタンバイ・データベースである場合は、次のように管理リカバリ・モードを再開します。

      SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;
  12. 一時ファイルをOMSに移行する場合は、既存の一時ファイルを削除し、新しい一時ファイルをOMSマウント・パスに追加します。
    SQL> ALTER DATABASE TEMPFILE 'tempfile_name' DROP;
    SQL> ALTER TABLESPACE temp_tbs_name ADD TEMPFILE;
    この例では、元のストレージにある一時ファイルの名前はtempfile_nameです。一時表領域の名前はtemp_tbs_nameです。
オンラインREDOログをOMSの場所に移行するには、「OMSへのREDOログ・ファイルの追加」を参照してください。