ユーザ管理バックアップ手順

実践オラクルデータベース構築・運用

オラクルデータベース構築オラクルデータベース運用SQL書式PL/SQL書式Oracle Master試験

TOP オラクルデータベース構築 Oracleバックアップ・リカバリ手順

ユーザ管理バックアップ手順



スポンサードリンク



ユーザ管理バックアップ手順



本項では、Oracleのユーザ管理バックアップについて説明します。

RMANを使わない場合は、OSやストレージシステムのコピー機能で実行するユーザ管理バックアップを使用します。オフラインバックアップでは必要ありませんが、ユーザ管理でオンラインバックアップを取得するためには、表領域をバックアップモード(BEGIN BACKUP〜END BACKUP)にする必要があります。

〜バックアップモードについて〜

OSコマンドがOracleのブロックサイズを知らないため、コマンド実行中にブロックへの書込みを保護することができません。そのため、REDOログにブロックイメージを出力して、ブロック不整合を修正できるようにした状態をバックアップモードといいます。

バックアップモードに変更しない場合、バックアップ中にDBWRより発生した書き込みにより整合性がとれなくなり、リカバリが不能になります。OracleはDBブロック単位でI/Oを発生させます。そして、どんなに小さいデータでも、書き込みには瞬間的に時間が経過します。この書き込みの間、同じ個所を読み取るファイルコピーが発生したら、バックアップされたファイルには、整合性の取れないブロックが存在することになります。このような状態のブロックを「分裂ブロック」と呼びます。RMANでのバックアップには、分裂ブロックを検出する機構があり、分裂状態が解消されるまで、読み取りを繰り返します。ユーザー管理バックアップの場合は、分裂ブロック状態を検出できません。そこで、この分裂ブロック状態で獲得されたバックアップからでもリカバリできる、追加のREDOを生成することで対応します。この追加REDOを生成する状態が「バックアップモード」です。加えて、データファイルのヘッダ情報がロックされます。



以下にオンラインのユーザ管理バックアップ手順を紹介します。

(1)バックアップモードへ変更(BEGIN BACKUP)
C:\Windows\system32>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on 月 3月 4 07:53:15 2013

Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
に接続されました。

SQL> ALTER DATABASE BEGIN BACKUP;

データベースが変更されました。

SQL>

※上記は、データベース全体をバックアップモードに変更する手順になります。表領域単位でバックアップを取得する場合は、「ALTER TABLESPACE <表領域名> BEGIN BACKUP 」


(2)バックアップモードの確認
バックアップ対象の表領域のバックアップモードSTATUSがACTIVEになっていることを確認する。
SQL> column tablespace_name format a20
SQL> select tablespace_name,file_id,v$backup.status from dba_data_files,v$backup where dba_data_files.file_id = v$backup.file#;

TABLESPACE_NAME     FILE_ID    STATUS
-------------------- ---------- ------------------------------------
USERS             4        ACTIVE
UNDOTBS1          3        ACTIVE
SYSAUX            2        ACTIVE
SYSTEM            1        ACTIVE

SQL>


(3)データファイルバックアップ
SQL> column file_name format a50
SQL> SELECT tablespace_name , file_name FROM dba_data_files;

TABLESPACE_NAME    FILE_NAME
-------------------- --------------------------------------------------
USERS             C:\ORACLEXE\APP\ORACLE\ORADATA\XE\USERS.DBF
UNDOTBS1          C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSAUX.DBF
SYSAUX            C:\ORACLEXE\APP\ORACLE\ORADATA\XE\UNDOTBS1.DBF
SYSTEM            C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSTEM.DBF

SQL> exit

C:\Windows\system32>ocopy C:\ORACLEXE\APP\ORACLE\ORADATA\XE\* C:\TMP\BK\
C:\TMP\BK\SYSAUX.DBF
C:\TMP\BK\SYSTEM.DBF
C:\TMP\BK\TEMP.DBF
C:\TMP\BK\UNDOTBS1.DBF
C:\TMP\BK\USERS.DBF

C:\Windows\system32>dir

※OCOPYユーティリティは、Windows環境においてOS層でファイル・コピーを実施する際に使用します。


(4)バックアップモードへ変更(END BACKUP)
バックアップ対象の表領域のバックアップモードSTATUSが「NOT ACTIVE」になっていることを確認する。
C:\Windows\system32>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on 月 3月 4 07:53:15 2013

Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
に接続されました。

SQL> ALTER DATABASE END BACKUP;

データベースが変更されました。

SQL> column tablespace_name format a20
SQL> select tablespace_name,file_id,v$backup.status from dba_data_files,v$backup where dba_data_files.file_id = v$backup.file#;

TABLESPACE_NAME     FILE_ID    STATUS
-------------------- ---------- ------------------------------------
USERS             4        NOT ACTIVE
UNDOTBS1          3        NOT ACTIVE
SYSAUX            2        NOT ACTIVE
SYSTEM            1        NOT ACTIVE

SQL>



(5)ログスイッチ
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

システムが変更されました。

SQL>


(6)制御ファイルバックアップ
SQL> ALTER DATABASE BACKUP CONTROLFILE TO 'C:\TMP\BK\control_backup';

データベースが変更されました。





   <ユーザ管理バックアップ>
      |-ユーザ管理バックアップとRMANバックアップの違い
      |-ユーザ管理バックアップ手順
      |-ユーザ管理表領域リカバリ手順
      |-ユーザ管理データベースリカバリ手順
      |-ユーザ管理制御ファイルリカバリ手順

   <RMANバックアップ>
      |-RMAN(Recovery Manager)とは
      |-RMANイメージコピーとバックアップセット
      |-RMANフルバックアップと増分バックアップ
      |-RMANのデフォルト構成の表示
      |-RMANリポジトリの管理
      |-RMANの起動とデータベース接続
      |-RMANのバックアップ情報確認方法





スポンサードリンク

リンク集 / 免責事項サイトマップ問い合わせ
Copyright (C) 2012  実践オラクルデータベース構築・運用  All rights reserved