sql >> データベース >  >> RDS >> Oracle

RMANバックアップコマンド

    RMANを使用して、Oracleデータベースのすべての部分をバックアップできます。 RMANバックアップコマンドを使用して、Oracleデータベースファイル、データベースファイルのコピー、アーカイブログ、またはバックアップセットをバックアップできます。

    RMANバックアップコマンドの一般的な構文は次のとおりです。

    Syntax:
    
    BACKUP FULL Options
    BACKUP FULL AS (COPY | BACKUPSET) Options
    BACKUP INCREMENTAL LEVEL [=] integer Options
    BACKUP INCREMENTAL LEVEL [=] integer AS (COPY | BACKUPSET) Options
    BACKUP AS (COPY | BACKUPSET) Options
    BACKUP AS (COPY | BACKUPSET) (FULL | INCREMENTAL LEVEL [=] integer) Options
    
    Options:
    [backupOperand [backupOperand]...]
    backupSpec [backupSpec]...
    [PLUS ARCHIVELOG [backupSpecOperand [backupSpecOperand]...]];
    
    backupOperand::=
    { FORMAT [=] 'format_string' [, 'format_string']...
    | CHANNEL ['] channel_id [']
    | CUMULATIVE
    | MAXSETSIZE [=] integer [ K | M | G ]
    | TAG [=] ['] tag_name [']
    | keepOption
    | SKIP { OFFLINE | READONLY | INACCESSIBLE }
    | VALIDATE
    | NOT BACKED UP [SINCE TIME [=] 'date_string']
    | COPIES [=] integer
    | DEVICE TYPE deviceSpecifier
    .
    .
    .
    }
    
    backupSpec::=
    [(]
    { BACKUPSET
    { {ALL | completedTimeSpec }
    | primary_key) [, primary_key]...
    }
    | COPY OF { DATABASE
    | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name
    [']]...
    | DATAFILE datafileSpec [, datafileSpec]...
    }
    | DATAFILE datafileSpec [, datafileSpec]...
    | DATAFILECOPY 'filename' [, 'filename']...
    | DATAFILECOPY FROM TAG [=] ['] tag_name ['] [, ['] tag_name [']]...
    | DATAFILECOPY { ALL | LIKE 'string_pattern' }
    | TABLESPACE ['] tablespace_name ['] [, ['] tablespace_name [']]...
    | DATABASE
    | archivelogRecordSpecifier
    | CURRENT CONTROLFILE [FOR STANDBY]
    | CONTROLFILECOPY 'filename'
    | SPFILE
    }
    [backupSpecOperand [backupSpecOperand]...]
    
    backupSpecOperand::=
    { FORMAT [=] 'format_string' [, 'format_string']...
    | CHANNEL ['] channel_id [']
    | CUMULATIVE
    | MAXSETSIZE [=] integer [ K | M | G ]
    | TAG [=] ['] tag_name [']
    | keepOption
    | SKIP { OFFLINE | READONLY | INACCESSIBLE }
    | NOT BACKED UP [ SINCE TIME [=] 'date_string'
    | integer TIMES
    ]
    | DELETE [ALL] INPUT
    .
    .
    .
    }
    .

    RMANバックアップを実行する前に、デフォルトのデバイスとチャネルを構成する必要があります。

    For disk
    
    RUN {
    ALLOCATE CHANNEL disk01 TYPE disk ;
    ALLOCATE CHANNEL disk02 TYPE disk ;
    ALLOCATE CHANNEL disk03 TYPE disk ;
    BACKUP DATABASE
    FORMAT '${ORACLE_SID}-%U';
    }
    
    For tape
    
    RUN {
    ALLOCATE CHANNEL tape01 TYPE 'SBT_TAPE' ;
    ALLOCATE CHANNEL tape02 TYPE 'SBT_TAPE' ;
    ALLOCATE CHANNEL tape03 TYPE 'SBT_TAPE' ;
    BACKUP DATABASE
    FORMAT '${ORACLE_SID}-%U';
    }
    
    or
    RUN { 
    ALLOCATE CHANNEL tape01 TYPE sbt ;
    ALLOCATE CHANNEL tape02 TYPE sbt ; 
    ALLOCATE CHANNEL tape03 TYPE sbt ; 
    BACKUP DATABASE FORMAT '${ORACLE_SID}-%U'; }

    デバイスタイプがディスクで、フォーマットを指定していない場合、RMANはバックアップをフラッシュリカバリ領域に配置します

    ここにRMANバックアップコマンドの包括的なリストがあります

    RMANBACKUPデータベースコマンド

    RMAN> BACKUP DATABASE;
    RMAN> BACKUP DATABASE TAG=’test backup’;
    RMAN> BACKUP DATABASE COMMENT=’full backup’;
    RMAN> BACKUP TAG 'weekly_full_db_bkup' DATABASE MAXSETSIZE 10M;
    RMAN> BACKUP MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;
    RMAN> BACKUP DURATION 00:60 DATABASE;
    RMAN> BACKUP DURATION 00:30 MINIMIZE TIME DATABASE;
    RMAN> BACKUP DURATION 00:45 MINIMIZE LOAD DATABASE;

    以下のコマンドを使用して、データベースとアーカイブログを同時にバックアップできます

    RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

    一貫性のあるバックアップをとるために、以下の手順を実行します

    a.ALTER SYSTEM ARCHIVELOGCURRENTコマンドを実行します。
    b.BACKUPARCHIVELOGALLを実行します。バックアップの最適化が有効になっている場合、RMANは指定されたデバイスにすでにバックアップされているログをスキップすることに注意してください。
    c.BACKUPコマンドで指定された残りのファイルをバックアップします。
    d。 ALTER SYSTEM ARCHIVELOGCURRENTコマンドを実行します。
    d。バックアップ中に生成された残りのアーカイブログをバックアップします。
    これにより、コマンド中に取得されたデータファイルのバックアップが一貫した状態に回復可能であることが保証されます。

    RMAN> BACKUP DATABASE KEEP FOREVER;
    RMAN> BACKUP DATABASE KEEP UNTIL TIME=’SYSDATE+30’;
    RMAN> BACKUP DATABASE UNTIL 'SYSDATE+365' NOLOGS;
    RMAN> BACKUP DATABASE NOEXCLUDE;
    RMAN> BACKUP DATABASE NOEXCLUDE KEEP FOREVER TAG=’abc’;
    RMAN> BACKUP DATABASE SKIP READONLY;
    RMAN> BACKUP DATABASE SKIP OFFLINE;
    RMAN> BACKUP DATABASE SKIP INACCESSIBLE;
    RMAN> BACKUP DATABASE SKIP READONLY SKIP OFFLINE SKIP INACCESSIBLE;
    RMAN> BACKUP DATABASE FORCE; -- backup read only database also
    RMAN> BACKUP DATABASE NOT BACKED UP;
    RMAN> BACKUP DATABASE NOT BACKED UP SINCE TIME=’SYSDATE–3’;
    RMAN> BACKUP NOT BACKED UP SINCE TIME 'SYSDATE-10' MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;

    RMAN> BACKUP DATABASE COPIES =2;

    バックアップに使用できる形式は次のとおりです

    RMAN> BACKUP DATABASE FORMAT '/disk1/backups/db_%U.bck'
    
    RUN
    { 
    ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT '/disk1/%d_backups/%U';
    ALLOCATE CHANNEL disk2 DEVICE TYPE DISK FORMAT '/disk2/%d_backups/%U';
    ALLOCATE CHANNEL disk3 DEVICE TYPE DISK FORMAT '/disk3/%d_backups/%U';
    BACKUP AS COPY DATABASE; 
    } 
    RMAN> BACKUP DEVICE TYPE DISK DATABASE;
    RMAN> BACKUP DEVICE TYPE sbt DATABASE PLUS ARCHIVELOG;
    RMAN> BACKUP DEVICE TYPE sbt DATAFILECOPY FROM TAG 'latest' FORMAT 'df%f_%d';
    RMAN> BACKUP DEVICE TYPE sbt ARCHIVELOG LIKE '/disk%arc%' DELETE ALL INPUT;
    RMAN> BACKUP DEVICE TYPE sbt BACKUPSET COMPLETED BEFORE 'SYSDATE-14'DELETE INPUT;
    RMAN> BACKUP CHECK LOGICAL DATABASE;
    RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE;
    RMAN> BACKUP VALIDATE DATABASE;
    RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;

    RMANBackupTablespaceコマンド

    RMAN> BACKUP TABLESPACE test;
    RMAN> BACKUP TABLESPACE system, users, tools;
    RMAN> BACKUP TABLESPACE 4;
    RMAN> BACKUP TABLESPACE USERS PLUS ARCHIVELOG;
    RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE;
    RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE PLUS ARCHIVELOG;
    RMAN> BACKUP TABLESPACE USERS SECTION SIZE 100M;
    RMAN> BACKUP SECTION SIZE 250M TABLESPACE USERS;

    RMANバックアップデータファイルコマンド

    RMAN> BACKUP DATAFILE 9;
    RMAN> BACKUP DATAFILE ‘/u01/data/...’;
    RMAN> BACKUP DATAFILE 1 PLUS ARCHIVELOG;
    RMAN> BACKUP KEEP FOREVER FORMAT '?/dbs/%U_longterm.cpy' TAG longterm_bck DATAFILE 1 DATAFILE 2;
    RMAN> BACKUP SECTION SIZE 500M DATAFILE 6;

    RMANバックアップアーカイブログコマンド

    RMAN> BACKUP ARCHIVELOG ALL;
    RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;
    RMAN> BACKUP ARCHIVELOG LIKE '/arch%' DELETE ALL INPUT;
    RMAN> BACKUP ARCHIVELOG FROM TIME ‘SYSDATE–3’;
    RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 100;
    RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 999 DELETE INPUT;
    
    RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 123 DELETE ALL INPUT;
    
    RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 21531 UNTIL SEQUENCE 21590 FORMAT '/tmp/archive_backup.bkp';
    
    RMAN> BACKUP ARCHIVELOG ALL FROM SEQUENCE 1200 DELETE ALL INPUT;
    
    RMAN> BACKUP ARCHIVELOG NOT BACKED UP 2 TIMES;
    RMAN> BACKUP ARCHIVELOG COMPLETION TIME BETWEEN 'SYSDATE-28' AND 'SYSDATE-7';
    RMAN> BACKUP FORMAT='AL_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%';

    RMANバックアップ制御ファイルコマンド

    RMAN> BACKUP CURRENT CONTROLFILE TO '/backup/cntrlfile.copy';
    RMAN> BACKUP CONTROLFILE COPY ‘/u10/backup/control.bkp’;

    RMANbackupspfileコマンド

    RMAN> BACKUP SPFILE;
    RMAN> BACKUP DEVICE TYPE sbt SPFILE ARCHIVELOG ALL;
    RMAN> BACKUP DEVICE TYPE sbt DATAFILECOPY ALL NODUPLICATES;
    
    RMAN> BACKUP RECOVERY FILES;

    RMANバックアッププラガブルデータベースコマンド

    RMAN>BACKUP PLUGGABLE DATABASE PDB1, PDB2;

    バックアップセット

    RMAN> BACKUP BACKUPSET ALL;
    RMAN> BACKUP BACKUPSET ALL FORMAT = ‘/u01/.../backup_%u.bak’;
    RMAN> BACKUP BACKUPSET COMPLETED BEFORE ‘SYSDATE-3’ DELETE INPUT;
    RMAN> BACKUP DEVICE TYPE sbt BACKUPSET COMPLETED BEFORE 'SYSDATE-14' DELETE INPUT;
    RMAN> BACKUP COPIES 2 DEVICE TYPE sbt BACKUPSET ALL;
    RMAN> BACKUP AS COMPRESSED BACKUPSET;
    RMAN> BACKUP AS COMPRESSED BACKUPSET DEVICE TYPE DISK COPIES 2 DATABASE FORMAT '/disk1/db_%U', '/disk2/db_%U';
    
    RMAN> BACKUP AS COMPRESSED BACKUPSET INCREMENTAL FROM SCN 4111140000000 DATABASE TAG 'RMAN_RECOVERY';
    
    RMAN> BACKUP AS BACKUPSET DATAFILE '$ORACLE_HOME/oradata/users01.dbf','$ORACLE_HOME/oradata/tools01.dbf';
    RMAN> BACKUP AS BACKUPSET DATAFILECOPY ALL;
    RMAN> BACKUP AS BACKUPSET DATAFILECOPY ALL NODUPLICATES;

    コピーまたはIMAGEコピーコマンドとしてのRMANバックアップ

    RMAN> BACKUP AS COPY DATABASE;
    RMAN> BACKUP AS COPY COPY OF DATABASE FROM TAG 'test' CHECK LOGICAL TAG 'duptest';
    RMAN> BACKUP AS COPY TABLESPACE 8;
    RMAN> BACKUP AS COPY TABLESPACE test;
    RMAN> BACKUP AS COPY TABLESPACE system, tools, users, undotbs;
    RMAN> BACKUP AS COPY DATAFILE 1;
    RMAN> BACKUP AS COPY DATAFILE 2 FORMAT '/disk2/df2.cpy' TAG my_tag;
    RMAN> BACKUP AS COPY CURRENT CONTROLFILE;
    RMAN> BACKUP AS COPY CURRENT CONTROLFILE FORMAT ‘/....’;
    RMAN> BACKUP AS COPY ARCHIVELOG ALL;
    RMAN> BACKUP AS COPY KEEP FOREVER NOLOGS CURRENT CONTROLFILE FORMAT '?/oradata/cf_longterm.cpy', DATAFILE 1 FORMAT '?/oradata/df1_longterm.cpy', DATAFILE 2 FORMAT '?/oradata/df2_longterm.cpy';
    RMAN> BACKUP AS COPY DATAFILECOPY 'bar' FORMAT 'foobar';
    RMAN> BACKUP AS COPY DATAFILECOPY '/disk2/df2.cpy' FORMAT '/disk1/df2.cpy';
    
    RMAN> BACKUP AS COPY REUSE TARGETFILE '/u01/oracle/11.2.0.2/dbs/orapwcrd' AUXILIARY FORMAT '/u01/oracle/11.2.0.2/dbs/orapwcrd';
    
    RMAN> BACKUP AS COPY CURRENT CONTROLFILE FOR STANDBY AUXILIARY format '+DATA/crd/data1/control01.ctl';

    RMAN増分バックアップ

    RMAN> BACKUP INCREMENTAL LEVEL=0 DATABASE;
    RMAN> BACKUP INCREMENTAL LEVEL=1 DATABASE;
    RMAN> BACKUP INCREMENTAL LEVEL=0 DATABASE PLUS ARCHIVELOG;
    RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SKIP INACCESSIBLE DATABASE;
    RMAN> BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr' DATABASE;
    RMAN> BACKUP DEVICE TYPE DISK INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'oltp' DATABASE;
    RMAN> BACKUP DEVICE TYPE DISK INCREMENTAL FROM SCN 351986 DATABASE FORMAT '/tmp/incr_standby_%U';
    RMAN> BACKUP INCREMENTAL FROM SCN 629184 DATAFILE 5 FORMAT '/tmp/ForStandby_%U' TAG 'FORSTANDBY';
    
    RMAN> BACKUP INCREMENTAL LEVEL = --- tablespace/datafile

    関連記事

    RMANリストバックアップコマンド:RMANリストバックアップコマンドは、RMANを使用して作成されたバックアップを一覧表示するために使用され、日付と時刻、およびその他の多くの詳細が含まれます
    RMAN接続のデコード
    OracleRMANコマンドのチートシート:のRMANチートシートをダウンロードします。バックアップとリカバリに関するさまざまなコマンド
    RMANを使用してデータベースをリカバリする方法:RMANを使用してデータベースをリカバリする方法、コマンドの復元とリカバリ、並列処理
    Oracle RMANセッションをデバッグする方法:エラーとハングについてRMANセッションをデバッグする方法
    RMAN-06059:RMAN-06059を解決する方法を確認してください:予期されたアーカイブログが見つかりません。アーカイブログが失われると回復性が損なわれます
    RMAN-20004:RMAN-20004は、データベースのクローンが作成され、接続が確立されたときに発生しますクローンのDBIDを変更せずにrmanを使用してクローンからカタログに
    ORA-00245:スナップショット制御ファイルは、再同期するためのRMANの新機能です。 11gR2からの重要な変更点とエラーORA-00245を解決する方法


    1. MariaDBの日時値から分を減算する方法

    2. SQL Serverでの日付と時刻のデータ型間の変換(T-SQLの例)

    3. MariaDBの日付から短い月の名前を取得する2つの方法

    4. 楽観的同時実行性:IsConcurrencyTokenおよびRowVersion