RMANの一般的な操作
1.rmanを入力してください
(1)ローカルデータベースに入る
[oracle @ oracle-n1〜]$ rmanターゲット /
(2)リモートデータベースに入る
[oracle @ oracle-n1〜]$ rmanターゲットzsd / zsd@zsddb_1.9
(3)ログ機能を使用する
[oracle @ oracle-n1ログ]$ rmanターゲット / msglog / data / backup / logs / full_dbbackup_`date +%y%m%d`.log
2.rman基本コマンド
(1)データベースを起動およびシャットダウンします
RMAN> すぐにシャットダウン
RMAN> 起動
(2)オペレーティングシステムコマンドを実行する
RMAN> ホスト
(3)SQLステートメントを実行する
RMAN> SQL「ALTERSYSTEMSWITCHLOGFILE」;
注意すべきことの1つは,rmanのSQL環境はSELECTステートメントを実行できません,実行でエラーが報告されない場合でも,検索結果はありません。
RMAN> SQL‘select * member.testから」;
SQLステートメント: 選択する * member.testから(データが表示されていないことがわかります)
(4)デフォルトのRMAN構成を表示する
RMAN>すべて表示する;
冗長性に対する保持ポリシーを構成する 1; # デフォルトで設定されている保持ポリシーの冗長性は1です。
バックアップ最適化をオフに設定; # デフォルトのバックアップ最適化はオフです
ディスクにデフォルトのデバイスタイプを設定する; # デフォルトデフォルトの構成チャネルはディスクです,sbtの場合はテープデバイスです
CONTROLFILEAUTOBACKUPをオフに設定; # デフォルトのデフォルト構成制御ファイルは自動的にバックアップされません
デバイスタイプディスクの制御ファイル自動バックアップ形式を「%F」に設定します;
# デフォルトの制御ファイル自動バックアップの場所
デバイスタイプのディスク並列処理を構成する 1 バックアップセットへのバックアップタイプ;
# デフォルトのバックアップタイプはbackupsetです。,バックアップタイプの並列処理は1です。
デバイスタイプディスクのデータファイルバックアップコピーを構成する 1; # デフォルトのデータファイルのバックアップコピーは1です。
デバイスタイプディスクのアーカイブログバックアップコピーを構成する 1;
# デフォルトのアーカイブログファイルのバックアップコピーは1です
MAXSETSIZEを無制限に構成します; # デフォルトのバックアップセットのサイズに上限はありません
データベースの暗号化をオフに設定; # デフォルトのデータベース暗号化テクノロジーはオフです
暗号化アルゴリズムの構成 ‘AES128′; # デフォルトのデータベース暗号化アルゴリズム 'AES128’
ARCHIVELOG削除ポリシーをなしに構成する; # デフォルトのアーカイブログ削除ポリシーはNONEです
スナップショット制御ファイル名を次のように構成します
‘/data/ora11g/product/11.2.0/db_1/dbs/snapcf_zsddb.f’;
# デフォルトの制御ファイルのスナップショットの命名
是 ’/data/ora11g/product/11.2.0/db_1/dbs/snapcf_zsddb.f’
(5)デフォルトのRMANパラメータ設定を変更します
#のリカバリウィンドウに保持ポリシーを構成する 7 日々;
#制御ファイルの自動バックアップを構成する;
#デバイスタイプディスクの制御ファイル自動バックアップ形式を「/ data / backup / rman / con_%F」に構成します;
3.rman基本バックアップコマンド
(1)データベースをバックアップする
* バックアップデータベース
RMAN>バックアップデータベース;
注意:バックアップの場所を指定することもできます:RMAN> バックアップデータベースフォーマット ‘/ data / backup / rman / bak_%U’;
* 作成したばかりのバックアップ情報を表示するlistコマンド:
RMAN>データベースのバックアップを一覧表示します;
(2)表領域をバックアップします
* バックアップテーブルスペース
RMAN>バックアップ表領域HDMEMBER;
* LISTBACKUPを使用してバックアップを表示する
RMAN>TABLESPACEHDMEMBERのリストバックアップ;
(3)指定したデータファイルをバックアップする
* 対応するデータファイルとそのシリアル番号を表示する
file_nameを選択します,file_id,dba_data_filesのtablespace_name
* 次に、BACKUP DATAFILEを使用して、指定したシリアル番号でデータファイルをバックアップします。
RMAN> バックアップデータファイルn;
* リストバックアップによるバックアップの表示
RMAN> データファイルのバックアップのリストn;
(4)バックアップ制御ファイル
* 最初,バックアップを行うとき,自動バックアップ制御ファイル
RMAN> CONTROLFILEAUTOBACKUPをオンに設定;
* 二番目,制御ファイルのバックアップを手動で実行する
RMAN> 現在の制御ファイルのバックアップ;
* 第3,BACKUPを実行するときに、INCLUDE CURRENTCONTROLFILEパラメーターを指定します
RMAN> バックアップデータベースには現在の制御ファイルが含まれます;
* バックアップされた制御ファイルを表示する
RMAN> CONTROLFILEのバックアップを一覧表示します;
* 制御ファイルをバックアップするには、alter database backupcontrolfileを使用します
SQL> トレースするデータベースバックアップ制御ファイルを変更する;
また
SQL> データベースのバックアップ制御ファイルを「/data/controlfile1.cof」としてトレースするように変更します; (制御ファイルの構成を表示できます)
(5)アーカイブログファイルのバックアップ
* BACKUPARCHIVELOGコマンドを使用したバックアップ
RMAN> すべてのバックアップアーカイブ;
* バックアップ中にPLUSARCHIVELOGパラメータバックアップを使用する
RMAN> バックアップデータベースとアーカイブログ;
1>.ALTER SYSTEM ARCHIVE LOG CURRENTステートメントを実行して、現在のREDOログをアーカイブします。
2>.BACKUP ARCHIVELOG ALLコマンドを実行して、アーカイブされたすべてのログをバックアップします。
3>.BACKUPコマンドを実行して、指定した項目をバックアップします。
4>.ALTER SYSTEM ARCHIVE LOG CURRENTを再度実行して、現在のREDOログをアーカイブします。。
5>.まだバックアップされていない、新しく生成されたアーカイブをバックアップします。
* バックアップされたアーカイブログフラグメントを表示する:
RMAN> ARCHIVELOGALLのバックアップを一覧表示;
4.rmanその他のコマンド
削除コマンド
* 期限切れのバックアップを削除する(RMANは、冗長性ポリシーに基づいてバックアップが古くなっているかどうかを判断します)
RMAN> 廃止されたものを削除する;
* 無効なバックアップを削除する(CROSSCHECKを使用してバックアップセットを確認します,バックアップが無効であることが判明した場合,rmanは、バックアップセットをEXPIREDとしてマークします。)
RMAN> 期限切れのバックアップを削除する;
* 特定のバックアップセットを削除する(リストバックアップで削除するバックアップセットを選択します)
RMAN> バックアップセットを削除する 12;
* 特定のバックアップピースを削除する
RMAN> バックアップピース「/data/backup/zsd_bk.bak」を削除します;
* すべてのバックアップセットを削除する
RMAN> バックアップを削除する;
* アーカイブディレクトリにバックアップされているアーカイブログを削除します
RMAN> バックアップアーカイブログすべて削除入力;
レポートコマンド
主に現在のバックアップ情報の分析に使用されます,どのバックアップが古くなっているかなど,バックアップする必要のあるファイル,利用できないバックアップ,削除できるバックアップ。
* 期限切れのバックアップを表示する
RMAN>廃止されたレポート;
クロスチェックコマンド
バックアップまたはアーカイブされた物理ファイルのステータスを確認するために使用されます,物理ファイルが存在する場合,および制御ファイル(またはリカバリカタログ)一致するレコードがあります,
次に、オブジェクトの状態を使用可能としてマークします(効率的),ファイルがまだ存在しない場合,次に、オブジェクトを期限切れ(無効)としてマークします
* すべてのアーカイブを確認してください:
RMAN>アーカイブログをすべてクロスチェック;
* すべてのバックアップセットを確認してください:
RMAN>クロスチェックバックアップ;
rmanvalidateコマンド
RMANは物理的および論理的な破損を検出できます。validateコマンドは、バックアップファイルが適切な場所に存在することを確認するのに役立ちます,読み取り可能,ロジックなし
と物理的な破損。
* 特定のバックアップセットをテストする
RMAN>バックアップセットを検証する 9;
* データベース全体とアーカイブログのバックアップセットをテストする
RMAN>バックアップ検証データベースアーカイブログすべて;
ヒント:
RMANジョブの監視と検証
V $ RMAN_STATUSビューには、完了したすべてのジョブとコマンドのステータスが表示されます
SQL>操作を選択,状態,始まる時間,v $ rman_statusからのend_time;
V $ SESSION_LOGGOPSビューで推定バックアップの進行状況を照会します
SQL>録音を選択,to_char(始まる時間,’DD-MON-YY HH24:自分')
“バックアップの開始”,ここのところ,トータルワーク,経過秒/ 60 “経過時間
分”,円形(ソファ/トータルワーク* 100,2) “これまでに完了したパーセンテージ”
v $ session_longopsからここで
5. rman戦闘
#以下は実際のrmanバックアップスクリプトです
圧縮バックアップとしてのバックアップ
アクセスできないファイルパーセットをスキップする 10 DATABASE PLUS ARCHIVELOG FILESPERSET 20
すべての入力を削除;
圧縮された場所: 圧縮バックアップを表します
アクセスできないスキップ:読み取り不可能なファイルをスキップすることを示します。一部のオフラインデータファイルは、ディスク上に存在する限り読み取ることができます。,
ただし、一部のファイルが削除されたり、他の場所に移動されて読み取り不能になった可能性があります,このパラメータを追加すると、これらのファイルはスキップされます;
FILESPERSET 10: バックアップセットに含まれるファイルの数を示します,これは10個のファイルを含むバックアップセットです。
#以下は、パラメータfilesperset2の意味をテストするために使用されます
圧縮されたバックアップとしてのバックアップアクセスできないファイルパーセットをスキップする 2 データベース
rmanリカバリー:
2つの概念を明確にする:データベースの修復(戻す)およびデータベースのリカバリ(回復)
戻す:バックアップセットのデータファイルを使用して、破損したデータベースファイルを置き換えるか、新しい場所に復元することを指します
回復します:すべてのREDOログを適用することを意味します,データベースをクラッシュ前の状態に復元します,または部分的なやり直しを適用します,データベース
指定した時点に戻します。(前提は:すべてのREDOログファイルは,
オンラインおよびアーカイブを含む)
1.データベースの完全なメディアリカバリ
(1)データベースを起動して状態をロードします:
RMAN> すぐにシャットダウン;
RMAN> スタートアップマウント;
(2)リカバリ操作を実行します
RMAN> データベースの復元;
RMAN> データベースの回復アーカイブログの削除テーブルスペースの温度のスキップ;
注意:ARCHIVELOGSの削除とテーブルスペースのスキップはオプションです,効果は以下の通りです:
アーカイブログを削除する:RMANが、リカバリプロセスの完了後に、リカバリプロセス中に修復されたアーカイブログファイルを自動的に削除することを示します。
テーブルスペースをスキップ:指定されたテーブルスペースをスキップします,一時テーブルなど,もちろん、一時表領域はスキップしなくても復元されません。。
(3)データベースを開く
RMAN> ALTER DATABASE OPEN;
2.表領域の復元
1、データベースを起動して状態をロードします
RMAN> すぐにシャットダウン;
RMAN> スタートアップマウント;
2、リカバリ操作を実行します
RMAN> SQL「ALTERTABLESPACEHDMEMBEROFFLINEIMMEDIATE」;
RMAN> 表領域HDMEMBERを復元;
RMAN> RECOVER TABLESPACE HDMEMBER;
RMAN> SQL「ALTERTABLESPACEHDMEMBERONLINE」;
3、データベースを開く
RMAN> ALTER DATABASE OPEN;
3.データファイルを復元する
1、データベースを起動して状態をロードします
RMAN> すぐにシャットダウン;
RMAN> スタートアップマウント;
2、リカバリ操作を実行します
RMAN>SQL‘ALTER DATABASE DATAFILE 5 オフライン';
RMAN> データファイルを復元 5;
RMAN> データファイルの回復 5;
RMAN>SQL‘ALTER DATABASE DATAFILE 5 オンライン';
3、データベースを開く
RMAN> ALTER DATABASE OPEN;
ヒント:対応するデータファイルをクエリします,表スペースとデータファイルのシーケンス番号:
SQLを添付する:データファイルのクエリに使用されます,一時ファイルと表領域の対応およびデータファイルのシリアル番号:
ラインサイズを設定 999;
ts.tablespace_nameを選択します, df.file_name, df.file_id, tf.file_name
dba_tablespacestsから, dba_data_files df, dba_temp_files tf
ここで、ts.tablespace_name = df.tablespace_name(+)
およびts.tablespace_name = tf.tablespace_name(+);
例:アーカイブモードで,データファイルが失われたとします,データファイルを復元する
1.偽のデータ
sqlplus / nolog
connメンバー/メンバー
テーブルzsdを作成します(名前varchar2(50));
zsd値に挿入 (「test1」);
zsd値に挿入 (「test2」);
zsd値に挿入 ('test3');
2.閉鎖,ファイルを削除する,データベースを起動します
SQL> conn / sysdbaとして
SQL> すぐにシャットダウン;
SQL> ホスト
[oracle @ oracle-n1〜]$ rm -rf /data/ora11g/oradata/zsddb/hdmember01.dbf
SQL> 起動
SQL> アーカイブログリスト(アーカイブされているかどうかを確認します)
3.例を確認してください,データベースを復元します
instance_nameを選択します,v $ instanceからのステータス
oracle_sid = zsddbを設定します
rmanターゲット /
RMAN> データファイル「/data/ora11g/oradata/zsddb/hdmember01.dbf」を復元する;
RMAN> データファイル「/data/ora11g/oradata/zsddb/hdmember01.dbf」をリカバリします;
RMAN> データベースを開く変更;
例:失われた制御ファイルの回復
SQL> すぐにシャットダウン;
[oracle @ oracle-n1〜]$ rm -rf / data / ora11g / oradata / zsddb / control *
rmanを入力してください
rmanターゲット /
オプションでDBIDを指定します
RMAN> dbidを設定します 3391142503
RMAN> 「/data/ora11g/product/11.2.0/db_1/dbs/con_c-1552557445-20130520-06」から制御ファイルを復元します;
RMAN> sql「alterdatabasemount」;
RMAN> データベースを復元する;
RMAN> データベースを回復する;
RMAN> sql「alterdatabaseopenresetlogs」;
(一時表領域も再構築する必要があります)
この要約はhttpから来ています://blog.chinaunix.net/uid-26446098-id-3721661.html