SSブログ

Oracle Data Guard その⑥ [DBMS]

スタンバイDBの構築まで出来ましたので、今度はプライマリDBとスタンバイDBを入れ替えるスイッチオーバーをしてみます。
[スイッチオーバー]
プライマリDB→スタンバイDB
スタンバイDB→プライマリDB

ちなみに、プライマリDBが破損してスタンバイDBをプライマリDBにするのはフェイルオーバーと言います。
[フェイルオーバー]
プライマリDB→破棄
スタンバイDB→プライマリDB

[スイッチオーバー]
スイッチオーバーやフェイルオーバーは dgmgrl で行います。
スイッチオーバーの場合、どちらのサーバーにコネクトしてもかまいません。
予め show configuration でどちらがプライマリでどちらがスタンバイであるか調べます。
今回は pan がプライマリです。
01.jpg

続きを読む


Oracle Data Guard その⑤ [DBMS]

Oracle Data Guard の構成が出来たので確認してみようと思います。
プライマリ側でSAPを起動します。
ちなみにスタンバイ側はリードオンリーになるのでSAPは起動出来ません。SAPの起動時にはDBへの書き込みは必須なのでスタンバイDBでは起動出来ません。
00.jpg

続きを読む


Oracle Data Guard その④ [DBMS]

今回は Data Guard Broaker の構成です。
dgmgrl を起動して、Oracle の sys ユーザでログオンして構成を作成します。
so1 はDataGuardの構成名です。
最初の so1_pan はプライマリDBのユニーク名です。
次の so1_pan はプライマリDBへ接続するリスナーのサービス名です。

create configuration so1 as primary database is so1_pan connect identifier is so1_pan;
dgmgrl_create.jpg

続きを読む


Oracle Data Guard その③ [DBMS]

今回はスタンバイデータベースの作成です。

ですが、その前に Data Guard が機能する様にデータベースの設定を少し変更します。
データベースのログを転送して適用するしかけなので、ログを作成しないモードだと不整合になります。
archive log モードにしておくのはもちろんですし、FORCE LOGGING モードにする必要があります。
FORCE LOGGING モードは以下で設定します。

alter database force logging;

Data Guard でログ転送を SYNC 又は ASYNC で行う場合はスタンバイログを設定する必要があり、REDOログと同じサイズで数を1つ多く作る必要があります。
ログ転送が ARCH の場合はスタンバイログを設定する必要はありません。
ちなみに、ファスト・スタート・フェイルオーバーを実現するためには SYNC か ASYNC にする必要があり、スタンバイログが必要になります。
フォルダは予め作成してから以下でスタンバイログを作成します。サイズと数は前述の通り調整して下さい。

alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S11.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S12.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S13.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S14.DBF' size 50M reuse;
alter database add standby logfile 'E:\oracle\SO1\standbylog\LOG_S15.DBF' size 50M reuse;

さて、スタンバイデータベースの作成です。
基本的にデータベースファイル(SYSTEM,SYSAUX,TEMP,UNDO含む全て)とREDOログとアーカイブログをコピーします。
コピーする時にコピー先は完全に止めます。コピー元はデータベースを停止した状態で行うのが無難ですが、alter database bigin backup ~ end backup の間の静止状態でも構いません。
その場でコピーする代わりに、オンライン又はオフラインのバックアップをスタンバイ側にリストアして構いません。ただし、バックアップ時から現在までのアーカイブログは必要です。
DBファイルコピー.jpg

続きを読む


Oracle Data Guard その② [DBMS]

Data Guard の構成方法はいくつかある様ですが、今回は Data Guard Broaker を使用して構成します。

まず2つのサーバを用意します。
今回は両方とも Hyper-V の仮想サーバです。
ホスト名は themisto と pan としました。
両方とも Windows Server 2008 です。
そこに Oracle 10g (10.2) をインストールして、DBの上で動作するアプリケーションとして SAP Solution Manager をインストールしました。
そして Oracleを 10g → 11g (11.2)へアップグレードして基となる環境を構築しています。
Oracleの環境はSIDを両方とも同じ SO1 としています。
インストールフォルダ構成も両方とも同じにしています。
ORACLE_HOME は E:\oracle\SO1\112 としました。

themisto
プライマリサイト.jpg

続きを読む


Oracle Data Guard その① [DBMS]

Oracle Data Guard を試してみました。
Oracle Data Guard とは、SQL Server のログシップと似た様な機能です。データベースのトランザクションログをバックアップサーバーに送って適用する事によってデータベースのレプリケーションを実現するものです。
下の図はOracleより拝借してきたものです。
OracleDataGuardとは.jpg
Enterprise Edition で利用可能になってます。
また、図にある Avtive Data Guard は別オプションになってます。

詳細は次回から…

続きを読む


VSS による Oracle のリストア② [DBMS]

前回はバックアップした状態までは戻せる事を確認しています。
今回は、前回バックアップしてから障害前までを戻します。
戻すには、前回バックアップからのアーカイブログとREDOログとコントロールファイルが必要です。
そのためにまず、Oracle を abort で落とします。
00.jpg

続きを読む


VSS による Oracle のリストア① [DBMS]

正確には、VSS でバックアップした Oracle のリストアです。
本当の VSS のリストアでは VSS Writer にアクセスして高度なリストアが出来るはずですが、Hyper-Vをバックアップした仮想サーバを戻そうとすると、そんな高度な事は出来ず、丸々戻す事になります。

Windows Server Backup から回復でバックアップした仮想サーバを戻します。
02.jpg

続きを読む


VSS による Oracle のバックアップ [DBMS]

VSS とは ボリュームシャドウコピーサービスです。
Windows起動中に仮想的なディスクの複製(シャドウボリューム)を作り、バックアップ等でそこをアクセスします。
シャドウボリュームはディスクのスナップショットであり、刻々変わるディスクの内容をある時点(シャドウボリューム作成時点)で止めた状態を一定期間維持します。
OracleとかのDBMSはメモリ上にデータを展開してアクセスしていますので、稼働中はメモリの内容とディスク上に保存された内容は一致しません。
なので、そのまま VSS でディスクのバックアップを撮ってもデータベース的には整合性の取れた状態にはならず使えません。
VSSと連動してデータベースのメモリに展開されたデータをディスクにフラッシュし、シャドウボリューム作成完了までディスクI/Oを静止化するサービスが必要になります。
これを VSS Writer と言い、各アプリケーション毎に用意されます。
SQLServerでは古くから用意されてましたが、Oracleは 11g から対応します。
Oracle (SID) VSS Writer Service がそうです。これはVSSでバックアップする場合に開始されている必要があります。
05.jpg

続きを読む


Oracle のアップグレード 10.2 → 11.2 その③ [DBMS]

Oracle のアップグレード 10g (10.2) から 11g (11.2) へのアップグレードです。
前回はアップグレード前処理からアップグレード直前まで来ました。
完了ボタンでアップグレードが開始されます。
39m.jpg

続きを読む


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。