Oracle Database のバックアップに使用するスクリプトを作成できます。バックアップを実行するためにデータベースを停止する必要はありません。データベースがアーカイブ ログ モードであることを確認します。アーカイブ ログ モードでない場合は、データベースをバックアップする前に、アーカイブ ログ モードに変更します。Oracle Database をバックアップするには、以下の 2 つのスクリプトを作成します。
実行するスクリプトは、バックアップ ウィザードの[実行前/後スクリプトの設定]にある[Oracle Database]ノードで指定できます。 以下の手順に従います。
Oracle Database をバックアップするスクリプトが作成されました。 注:Arcserve UDP エージェント(Linux) はボリューム レベルのスナップショットをサポートしています。データの整合性を保証するには、データベースのすべてのデータ ファイルが 1 つのボリューム上に存在する必要があります。 Oracle データベースをリストアするには、「Arcserve UDP エージェント(Linux) を使用して Oracle データベースをリストアする方法」を参照してください。
本ページではOSコマンドを用いたオンライン、オフラインバックアップ手順をそれぞれ記載します。 オフラインバックアップの場合1 DBをabort以外のオプションで停止します。 SQL> conn / as sysdba Connected. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. 2 OSコマンドで以下のファイルをコピーします。 $ cp /app/oracle/oradata/ORCL102/system01.dbf /bk/ $ cp /app/oracle/oradata/ORCL102/undotbs01.dbf /bk/ $ cp /app/oracle/oradata/ORCL102/sysaux01.dbf /bk/ $ cp /app/oracle/oradata/ORCL102/users01.dbf /bk/ $ cp /app/oracle/oradata/ORCL102/control.ctl /bk/ $ cp /app/oracle/oradata/ORCL102/redo01.log /bk/ $ cp /app/oracle/oradata/ORCL102/redo02.log /bk/ $ cp /app/oracle/oradata/ORCL102/redo03.log /bk/ 上記のファイルパスは以下の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 オンラインバックアップモードに変更します。 SQL> alter database begin backup; Database altered. 2
OSコマンド(Windowsの場合はocopyツール)で以下のファイルをコピーします。 $ cp /app/oracle/oradata/ORCL102/system01.dbf /bk/ $ cp /app/oracle/oradata/ORCL102/undotbs01.dbf /bk/ $ cp /app/oracle/oradata/ORCL102/sysaux01.dbf /bk/ $ cp /app/oracle/oradata/ORCL102/users01.dbf /bk/ $ cp /app/oracle/oradata/ORCL102/redo01.log /bk/ $ cp /app/oracle/oradata/ORCL102/redo02.log /bk/ $ cp /app/oracle/oradata/ORCL102/redo03.log /bk/ - 制御ファイル SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/bk/control.ctl'; SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE; 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 されていないデータをロールバックするという流れになります。 |