切り替え、ロスレスハンドオーバは、ユーザは、通常、手動でトリガするか、自動的にそのようなハードウェアのアップグレードとして、計画的にトリガさせています。
ステップ:
1は、プライマリがスタンバイ・ロールにデータベースを変換します
図2に示すように、スタンバイ・データベース(1)は、プライマリ・ロールに変換され
準備:
1、適切に構成の役割を変更するデータベースのパラメータをチェック
図2は、サーバが物理スタンバイモードのアーカイブであるかどうかをPrimayチェックなろうとしています
図3は、すべてのアーカイブ・ログは、物理的なデータベースに転送されていることを確実にするために待機
マスター・ライブラリーは、手動でログファイルを切り替えることができます
原発> ALTER SYSTEMスイッチのログファイル。
クエリ現在のメインライブラリアーカイブログシーケンス#
原発>五$ ARCHIVED_LOGから最大(シーケンス番号)を選択します。 MAX(SEQUENCE番号) -------------- 22
ライブラリのアーカイブ・ログ・シーケンス番号によって、現在のお問い合わせ
スタンバイ>五$ ARCHIVED_LOGから最大(シーケンス番号)を選択します。 MAX(SEQUENCE番号) -------------- 22
両方が同じで、代表は完全に同期されています
そして、アプリケーションライブラリのREDOを停止する準備
スタンバイ> ALTERデータベースがスタンバイ・データベースを管理し回復するキャンセル。 データベースが変更されました。
あなたが変換できるかどうかをまずチェック
クエリのメインライブラリサポートの切り替え操作
原発>を選択file_nameには、DBA_TEMP_FILESからバイト。 SWITCHOVER_STATUS ---------------------------------------- TO STANDBY
SWICHOVER_STATUSがSESSIONS ACTIVEと表示した場合、現在のデータベースがプライマリ接続された説明
ライブラリサポートスイッチオーバー操作でのお問い合わせ
STANDBY>五$データベースから選択SWITCHOVER_STATUS。 SWITCHOVER_STATUS ---------------------------------------- 禁じられている
許可されていないライブラリは、スタンバイへのメインスイッチので、変更されていません
二、主要なフィジカル・スタンバイ・データベースのスイッチ
1次側>スタンバイ
原発> ALTERデータベースがフィジカル・スタンバイへの切り替えにコミット。 データベースが変更されました。
マウント状態にし、この時点プライマリ・データベースで
原発> を選択し open_mode から五$データベース; OPEN_MODE ---------------------------------------- マウント
また、フィジカル・スタンバイの役割になります
五$データベースからプライマリ>を選択しDATABASE_ROLE。 DATABASE_ROLE -------------------------------- PHYSICAL STANDBY
この時点で、データベースが開かれている場合、読み取り専用
原発> ALTER DATABASE OPEN; データベースが変更されました。 原発 > を選択し open_mode から五$データベース; OPEN_MODE ---------------------------------------- READ ONLY 原発 >
三、プライマリ・ロールにスタンバイ・データベース
スタンバイ--->プライマリ
STANDBY> を選択し SWITCHOVER_STATUS から五$データベース; SWITCHOVER_STATUS ---------------------------------------- TO PRIMARY スタンバイが > ALTERデータベースは、プライマリへの切り替えにコミット。 データベースが変更されました。 スタンバイ > ALTERデータベースオープン。 データベースが変更されました。 STANDBY > を選択し open_mode から五$データベース; OPEN_MODE ---------------------------------------- 読み書き スタンバイ > 選択 DATABASE_ROLE から五$データベース; DATABASE_ROLE -------------------------------- PRIMARY スタンバイ >
第四に、同期テスト
1、Primay挿入データベースの現在のデータ
Primay> を選択 * からSCOTT.DEPT。 DEPTNO DNAME LOC ---------- ---------------------------- ------------ -------------- 会計NEW YORK 研究DALLAS 販売CHICAGO OPERATIONS BOSTON OPERATIONS OPERATIONS OPERATIONS OPERATIONS 行が選択されました。 Primay > INSERT INTO " SCOTT "。" DEPT "(" DEPTNO "、" DNAME "、" LOC ")VALUES(' 14 '、' OPERATIONS '、' OPERATIONS ' )。 行が作成されました。 スタンバイ > コミット。 完全にコミットします。 Primay > を選択 * からSCOTT.DEPT。 DEPTNO DNAME LOC ---------- ---------------------------- ------------ -------------- OPERATIONS OPERATIONS 会計NEW YORK 研究DALLAS 販売CHICAGO OPERATIONS BOSTON OPERATIONS OPERATIONS OPERATIONS OPERATIONS 行が選択されました。
2、現在のスタンバイREDOは、アプリケーションを有効に
リアルタイムアプリケーションは、やり直し
原発> alter databaseコマンドは、セッションから、現在のログファイルの切断を使用して管理スタンバイ・データベースを回復します。 データベースが変更されました。
非リアルタイムアプリケーションのREDO
ALTERデータベースが管理し、スタンバイ・データベースの回復セッションから切断します。-应用やり直し
ALTERデータベースがスタンバイ・データベースを管理し回復するキャンセル。-暂停やり直し应用
お問い合わせ
原発> を選択 * からSCOTT.DEPT。 DEPTNO DNAME LOC ---------- ---------------------------- ------------ -------------- OPERATIONS OPERATIONS 会計NEW YORK 研究DALLAS 販売CHICAGO OPERATIONS BOSTON OPERATIONS OPERATIONS OPERATIONS OPERATIONS 行が選択されました。
同期の状況を解決することができません。
あなたが同期できない場合は1、ログを切り替えてみてください
STANDBY> ALTER SYSTEMスイッチのログファイル。
クエリPriamryとスタンバイアーカイブ・ログの数は同じです
スタンバイ>五$ ARCHIVED_LOGから最大(シーケンス番号)を選択します。 MAX(SEQUENCE番号) -------------- 22
図2は、SERVICE_NAMEとLSNRCTLステータスの設定を表示するサービス名はと同じです