Oracle Database のバックアップに使用するスクリプトを作成できます。バックアップを実行するためにデータベースを停止する必要はありません。データベースがアーカイブ ログ モードであることを確認します。アーカイブ ログ モードでない場合は、データベースをバックアップする前に、アーカイブ ログ モードに変更します。Oracle Database をバックアップするには、以下の 2 つのスクリプトを作成します。
- pre-db-backup-mode.sh - このスクリプトは、データベース全体をバックアップ モードに保持します。
- post-db-backup-mode.sh - このスクリプトは、バックアップ モードからデータベースを削除します。
実行するスクリプトは、バックアップ ウィザードの[実行前/後スクリプトの設定]にある[Oracle Database]ノードで指定できます。
以下の手順に従います。
- root ユーザとしてバックアップ サーバにログインします。
- 以下のコードを使用して pre-db-backup-mode.sh スクリプトを作成します。
#!/bin/bash
orauser="oracle"
orasid="orcl"
su - ${orauser} << BOF 2>&1
export ORACLE_SID=$orasid
sqlplus /nolog << EOF 2>&1
connect / as sysdba
alter database begin backup;
exit;
EOF
BOF
注:ご使用の Oracle Database で定義されている orauser および orasid 変数の値を指定します。
- 以下のコードを使用して post-db-backup-mode.sh スクリプトを作成します。
#!/bin/bash
orauser="oracle"
orasid="orcl"
su - ${orauser} << BOF 2>&1
export ORACLE_SID=$orasid
sqlplus /nolog << EOF 2>&1
connect / as sysdba
alter database end backup;
exit;
EOF
BOF
注:ご使用の Oracle Database で定義されている orauser および orasid 変数の値を指定します。
- 両方のスクリプトに実行権限を付与します。
- 両方のスクリプトを以下の場所に配置します。
/opt/Arcserve/d2dserver/usr/prepost/
- Arcserve UDP エージェント(Linux) Web インターフェースにログインします。
- バックアップ ウィザードを開いて、[拡張]タブに移動します。
- [実行前/後スクリプトの設定]オプションで、[スナップショットの取得前]ドロップダウン リストから pre-db-backup-mode.sh スクリプト ファイルを選択します。
- [実行前/後スクリプトの設定]オプションで、[スナップショットの取得後]ドロップダウン リストから post-db-backup-mode.sh スクリプト ファイルを選択します。
- バックアップ ジョブをサブミットします。
バックアップ ジョブがサブミットされます。
Oracle Database をバックアップするスクリプトが作成されました。
注:Arcserve UDP エージェント(Linux) はボリューム レベルのスナップショットをサポートしています。データの整合性を保証するには、データベースのすべてのデータ ファイルが 1 つのボリューム上に存在する必要があります。
Oracle データベースをリストアするには、「Arcserve UDP エージェント(Linux) を使用して Oracle データベースをリストアする方法」を参照してください。
Copyright © 2018. All rights reserved. | このページを評価するこのページのコンテンツは役に立ちました。 強く反対する 12345 強く同意する このページに関する評価と任意のコメントを送信する |
本ページではOSコマンドを用いたオンライン、オフラインバックアップ手順をそれぞれ記載します。
オフラインバックアップの場合
1 DBをabort以外のオプションで停止します。
SQL> conn / as sysdba Connected. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down.2 OSコマンドで以下のファイルをコピーします。
- データファイル
- 制御ファイル
- redoログ
上記のファイルパスは以下のSQLの結果で確認することができます。
SQL> SELECT NAME FROM V$DATAFILE; SQL> SELECT NAME FROM V$CONTROLFILE; SQL> SELECT NAME FROM V$TEMPFILE; SQL> SELECT MEMBER FROM V$LOGFILE;オンラインバックアップの場合
1 オンラインバックアップモードに変更します。
以下の例ではデータベース全体をバックアップモードに変更していますが表領域の単位でも可能です。
2
OSコマンド(Windowsの場合はocopyツール)で以下のファイルをコピーします。
- データファイル
- redoログ
- 制御ファイル
ALTER DATABASE BACKUP CONTROLFILEコマンドでバックアップするほか、念のため TO TRACE 指定で取得できる制御ファイルの作成文も取得しておいたほうが望ましいです。 なお、TO TRACEで出力される制御ファイルの作成文はSQLを実行したサーバプロセスのトレースに出力されます。
3 オンラインバックアップモードを解除します
SQL> alter database end backup; Database altered.※表領域単位でオンラインバックアップモードに変更する場合は最初に制御ファイルのバックアップを取得し、1と3のalter database をalter tablespace に読み替えて各表領域毎に1~3を繰り返します。
SQL> alter tablespace <表領域名> begin backup; Database altered. SQL> alter tablespace <表領域名> end backup; Tablespace altered.オンラインの読取り/書込み表領域のユーザー管理バックアップの作成 表領域がオンラインで、データベースがオープンしているときに、データファイルのユーザー管理バックアップを作成するには、読取り/書込み表領域をバックアップ・モードに設定する必要があります。 ALTER TABLESPACE ... BEGIN BACKUP 文を使用すると、表領域をバックアップ・モードに設定できます。
バックアップ・モードでは、変更されたデータ・ブロック全体がREDOストリームにコピーされます。 ユーザーがALTER TABLESPACE ... END BACKUPまたはALTER DATABASE END BACKUP文を使用して表領域のバックアップ・モードを終了すると、データファイル・チェックポイントSCNが現在のデータファイル・チェックポイントSCNまで進みます。 この方法でバックアップされたデータファイルをリストアすると、リカバリが必要な場合は、REDOログ・ファイルの適切なセットを適用するように求められます。
REDOログには、データファイルをリカバリし、データファイルを一貫性のある状態にするために必要なすべての変更が含まれています。 Oracle使いへの王道 (DB SELECTION)
P.341 オフラインバックアップの仕組み 従って、オンラインバックアップで取得したバックアップからリストア・リカバリする場合、リストアされたデータファイルのヘッダーのチェックポイントSCNより後の変更をアーカイブログを使ってブロック単位で変更を適用していき、バックアップモードが終了した後はブロック単位ではなく列データ単位で変更が適用されていき、直近までリカバリする場合は、アーカイブログによる変更を全て適用して、オンラインREDOログによる変更を適用して、最後にUNDO表領域のUNDOデータを使って、commit されていないデータをロールバックするという流れになります。
(中略)
ちなみにUNDO表領域はリストア後にアーカイブログとオンラインREDOログによって変更が適用され、最新の状態になり、その最新のUNDO表領域のUNDOデータを使ってロールバックが行われます。