RMAN異機種リカバリクイックリファレンス
5554 ワード
アプリケーションシーン:サーバAは正常に動作する本番環境であり、サーバBに同じ環境を配備してテストする必要がある.データベース環境:RHEL 6.4+Oracle 11.2.0.4.7
一、サーバAバックアップデータベース 1.1オンラインバックアップ(データベースはアーカイブモードで実行) 1.2バックアップスクリプトの内容 二、サーバーBはデータベースを回復する 2.1サーバBインストールデータベースソフトウェア 2.2インスタンスをnomount状態(pfileファイルを指定) に起動 2.3 RMANリカバリ制御ファイル、バックアップセットの有効性を決定する 2.4 RMANリカバリデータベース 2.5回復後の操作 一、サーバAバックアップデータベース
1.1オンラインバックアップ(データベースはアーカイブモードで実行)
バックアップが完了すると、すべてのバックアップメディアがサーバBに転送されます(2台のマシンがネットワークに接続されている場合は、NFSサービスと組み合わせて最初からサーバBにバックアップされることが考えられます).
1.2バックアップスクリプトの内容
2.サーバBがデータベースを復元する
2.1サーバBデータベースソフトウェアのインストール
リファレンスhttp://www.cnblogs.com/jyzhao/p/3891769.htmlデータベースソフトウェアおよび以前の関連構成をインストールします.次に、パスワードファイルを作成します.
2.2インスタンスをnomount状態に起動する(pfileファイルを指定する)
2.3 RMANリカバリ制御ファイル、バックアップセットの有効性を確定する
2.3.1 RMANは制御ファイルを回復し、データベースをmount状態に起動し、バックアップセットの有効性を確定する
2.3.2バックアップセットが無効な場合、無効なバックアップセットを削除し、手動でバックアップセットを登録する
通常、2台のホストのバックアップディレクトリが異なり、制御ファイルに記録されたバックアップセットのパスに対応するバックアップセットが見つかりません.ステータスは「EXPIRED」です.この場合、これらの期限切れのバックアップセットを削除し、catalogの新しいバックアップセットを削除し、バックアップセットの有効性を再確認する必要があります.
2.4 RMANリカバリデータベース
2.4.1 restoreデータファイル
データファイル格納ディレクトリが変更されている場合は、リストアの名前を変更する必要があります.
2.4.2 recoverデータファイル
2.4.2.1 recover database;
2.4.2.2 recover database until scn xxxxxxx;
このscnは、前のステップのログ情報に基づいて取得される.
2.4.3ログファイルパスの変更
注意:新しいredoファイル名(すなわち、redoXXX.logが対応する実際の値に変更される)は、UE列編集モードで迅速に処理できます.
2.4.4一時ファイルパスの変更
注意:新しいtempファイル名(すなわちtempXXX.dbfを対応する実際の値に変更)も同様に処理します.
2.4.5データベースを開く(resetlogs)
起動中にredoファイル、tempファイルが自動的に作成されます.
2.5回復後の操作
2.5.1データベースの基本情報の表示
データベース・インスタンスとライブラリのステータス、データ・ファイル、一時ファイル、ログ・ファイル、制御ファイル、パラメータ・ファイルのパス情報を表示します.
2.5.2 spfileファイルを作成し、データベースを再起動する
spfileファイルの作成
データベースを閉じる
データベースの起動
2.5.3リスニングの構成
リスニングプロファイルの変更:
対応するサーバホスト名に関する3箇所の変更:
リスニングの開始とリスニングのステータスの表示:
一、サーバAバックアップデータベース
1.1オンラインバックアップ(データベースはアーカイブモードで実行)
nohup /bin/bash backup_all.sh &
バックアップが完了すると、すべてのバックアップメディアがサーバBに転送されます(2台のマシンがネットワークに接続されている場合は、NFSサービスと組み合わせて最初からサーバBにバックアップされることが考えられます).
1.2バックアップスクリプトの内容
#!/bin/bash
#ScriptName:backup_all.sh
#Usage: backup all files in oracle user environment.
#ex: nohup /bin/bash backup_all.sh > backup.log &
#Author: Alfred Zhao
#Creation: 2015-09-11
#Version: 1.0.0
#Define variable
basedir=/u01/orabak
date=`date +%Y%m%d`
#Create pfile
sqlplus / as sysdba <
2.サーバBがデータベースを復元する
2.1サーバBデータベースソフトウェアのインストール
リファレンスhttp://www.cnblogs.com/jyzhao/p/3891769.htmlデータベースソフトウェアおよび以前の関連構成をインストールします.次に、パスワードファイルを作成します.
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle force=y entries=5
2.2インスタンスをnomount状態に起動する(pfileファイルを指定する)
$basedir/pfile$date.ora
ファイルを$ORACLE_HOME/dbs/init$ORACLE_SID.ora
にコピーし、実際のサーバBの状況に応じて変更します.次に、インスタンスをnomountステータスに起動します(pfileファイルを指定します).startup nomount pfile='$ORACLE_HOME/dbs/init$ORACLE_SID.ora'
2.3 RMANリカバリ制御ファイル、バックアップセットの有効性を確定する
2.3.1 RMANは制御ファイルを回復し、データベースをmount状態に起動し、バックアップセットの有効性を確定する
backupControlFile=/u01/orabak/backup/ctl_JINGYU_20150911_46_1
rman target / > crosscheck.log <
2.3.2バックアップセットが無効な場合、無効なバックアップセットを削除し、手動でバックアップセットを登録する
通常、2台のホストのバックアップディレクトリが異なり、制御ファイルに記録されたバックアップセットのパスに対応するバックアップセットが見つかりません.ステータスは「EXPIRED」です.この場合、これらの期限切れのバックアップセットを削除し、catalogの新しいバックアップセットを削除し、バックアップセットの有効性を再確認する必要があります.
rman target / > catalog.log <
2.4 RMANリカバリデータベース
2.4.1 restoreデータファイル
データファイル格納ディレクトリが変更されている場合は、リストアの名前を変更する必要があります.
rman target / log=restore.log <
2.4.2 recoverデータファイル
2.4.2.1 recover database;
rman target / log=recover.log <
2.4.2.2 recover database until scn xxxxxxx;
scn=1463689
rman target / log=recover$scn.log <
このscnは、前のステップのログ情報に基づいて取得される.
2.4.3ログファイルパスの変更
new_dest=/usr3/oradata/sysdata/redo_file
sqlplus / as sysdba > logfile.log<
注意:新しいredoファイル名(すなわち、redoXXX.logが対応する実際の値に変更される)は、UE列編集モードで迅速に処理できます.
2.4.4一時ファイルパスの変更
new_dest=/usr3/oradata/sysdata
sqlplus / as sysdba > tempfile.log<
注意:新しいtempファイル名(すなわちtempXXX.dbfを対応する実際の値に変更)も同様に処理します.
2.4.5データベースを開く(resetlogs)
sqlplus / as sysdba > dbopen.log<
起動中にredoファイル、tempファイルが自動的に作成されます.
2.5回復後の操作
2.5.1データベースの基本情報の表示
データベース・インスタンスとライブラリのステータス、データ・ファイル、一時ファイル、ログ・ファイル、制御ファイル、パラメータ・ファイルのパス情報を表示します.
sqlplus / as sysdba > dbstatus.log <
2.5.2 spfileファイルを作成し、データベースを再起動する
spfileファイルの作成
sqlplus / as sysdba > createSpfile.log <
データベースを閉じる
sqlplus / as sysdba > shutdownDB.log <
データベースの起動
sqlplus / as sysdba > startDB.log <
2.5.3リスニングの構成
リスニングプロファイルの変更:
$ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB02)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
対応するサーバホスト名に関する3箇所の変更:
1. hostname
2. /etc/sysconfig/network HOSTNAME
3. /etc/hosts IP
リスニングの開始とリスニングのステータスの表示:
lsnrctl start
lsnrctl status