Oracle RMANバックアップし、任意の時点にデータベースを復元

 

 

 

Recovery Managerの物理バックアップのバックアップ、有効RMAN アーカイブデータベースを開くと、二重保険の層を追加することに相当した後、バックアップデータベースのアーカイブは、オンにする必要があります。Recovery Managerのデータベースのデータファイルのバックアップメイン、バックアップ、制御ファイル、アーカイブ・ログ。

 

 RMANのバックアップ

まず、データベースがアーカイブされ有効になっているかどうか確認してください。サーバー上のCMD のとSYSDBAのログインID。アーカイブ・モードが有効になっているデータベースを照会します。

 

SYSDBAとしてSQLPLUS /

 

DBID、名前、五$データベースからlog_modeを選択します。

場合 log_mode でのアーカイブ・ログの状態は、すでにアーカイブ内の状態を表しています。

あなたがしている場合は NOARCHIVELOG モード非アーカイブを表し、この時間は、使用する必要が SYSDBA 次の手順に続いて開いているデータベースのアーカイブ容量を:

即時シャットダウン; - データベース・インスタンスを閉じ、

スタートアップのマウントは、 - インスタンスを起動し、データベースを開けないでください

データベースのアーカイブログを変更する; --- 非ファイリングアーカイブへの変更

 

開いているデータベースを変更する; - データベースを起動します

まず、  作成 Recovery Managerのユーザー、RMAN 、ユーザー表スペース、許可をリカバリ・カタログ、登録データベースを作成します。シーケンスの手順は以下の通り:

ユーザー・データ表スペースを作成します。

表領域rman_tsデータファイル作成 'Eを:アプリの\管理者\ \ oradataに\ ydhldb \ rman_ts.dbf' SISEの200M。

ユーザーおよび権限を作成します。

Recovery Managerの表領域で識別されるユーザーの作成Recovery Managerは、一時表領域の一時をrman_ts。

グラントは、RMANに、RECOVERY_CATALOG_OWNER、リソースを接続します。

回復ディレクトリを作成します。

RMANカタログRMAN / Recovery Managerのターゲットydhldb。

カタログの表領域のrman_tsを作成します。

次に、以下のように、バッチコマンドRMANの実行ブロックを作成するフィット:
実行{ 
データベースのバックアップ形式D:/backup/rman_full_db_%T_%U.dbf ; 
設定の自動バックアップ制御ファイルフォーマットのためのディスクタイプにデバイスDを: /backup/rman_full_conf_%F.ctl ; 
回復への保持ポリシーの設定ウィンドウ7。日; 
CROSSCHECK BACKUPSET; 
削除NOPROMPTはBACKUPSETを満了し、
バックアップSPFILE形式D:/backup/rman_full_sp_%T_%U.dbf " ; 
バックアップすべてのフォーマットARCHIVELOG ' D:/backup/rman_full_arc_%T_%U.dbf ' ; 
CROSSCHECK ARCHIVELOGすべて。
NOPROMPT ARCHIVELOGはすべて削除前に完成したSYSDATE-7 ; 
廃止され、削除NOPROMPT; 
} 
全体のバックアップ・データ・ファイル、制御ファイルおよびアーカイブ・ログを表す、最長のナショナルデーの休日は7日、それが唯一の7日間のバックアップで、自動的に7を削除します前日のバックアップデータ。メモ帳、名前のbackup_rman.rmanに上記を保存します。図に示すように、予約された経路に固定されています。Cに残る:\ユーザーは、管理者\デスクトップ\ \ Recovery Managerを。

次に、バッチが自動的に取得起草する必要がある RMAN の実行ブロックの内容。次のように同じパスを保持するには:

設定ORACLE_SID = YDHLDB

RMANのTARGET / LOG C:\ユーザーは、管理者\デスクトップ\ RMANの\ backup_rman.rmanを\:\ユーザーは、管理者\デスクトップ\ RMAN \ログ\ bak_%の日付%.logにCMDFILE = C \

このコンテンツは別のバッチ、接尾辞に書き込まれます .BATのフォーマット。ビルドログの格納に使用するフォルダRMANのバックアップ中にログを。バットバッチは、ログのパスを設定されています。図は次のとおりです。

此时即可采用win上的计划任务排程来调用RMAN批处理来备份数据库了,生产库建议一天一备,放于半夜23点执行。 如下图:

设置完成后,即可半夜执行备份数据库。

如图:

备份后:d盘的backup文件夹下生成了备份,如图:

此时备份完成。

 

RMAN还原

 

如果现场数据库故障,出现奔溃,则采用RMAN进行还原。还原时RMAN会自动选择就近的备份去进行还原并且还原时RMAN 会去自动识别备份片及通道。还原过程如图:

还原的时候数据库必须启动到mount状态,在open状态下会报错无法获取队列。

cmd下执行rman target /

Rman 下执行 shutdown immediate;

Startup mount;

Restore database;

 

 

Recover database;

 

 

此时还原完成,开启数据库。

 

 

注意:rman在还原时对应两个操作,数据库修复restore和数据库恢复recoverrestorerecover的区别,先restorerecoverrestore为修复,recover为恢复。

Restore时会利用建立的恢复目录来获取备份信息从而选择去获取备份信息。 Recover是将数据库恢复到奔溃前的状态,采用介质恢复的形式,恢复过程中主要应用归档和redo日志。

 

—————————————————————————RMAN还原数据库到任意一个时间点——————————————————————————————————

1、 启动数据库到mount状态。依次步骤如下:

Shutdown immediate;

Startup mount;

sql "alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''";

restore database until time '2018-02-23 14:00:00';

recover database until time '2018-02-23 14:00:00';

sql 'alter database open resetlogs';

 

还原完成。

おすすめ

転載: www.cnblogs.com/tigergaonotes/p/11086673.html
おすすめ