#topicpath

#contents

* 参考文献 [#lf33574c]

- [[Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド 11g リリース1(11.1):http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/backup.111/E05700-03/toc.htm]]
- [[Oracle Databaseバックアップおよびリカバリ・リファレンス 11g リリース1(11.1):http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/backup.111/E05703-02/toc.htm]]

* DBの準備 [#h7356cf3]

DBを一つ用意します。rcat として作りました。

DBCAで作るときは何もオプションは要りません。
最低限のものでいいです。

* リカバリカタログの作成 [#db3e26ca]

「12 リカバリ・カタログの管理」を見ながら作ります。

** 所有者の作成と権限の付与 [#t8bfc3f7]

rman/rman というユーザにしています。

#pre{{
[oracle@ora1 ~]$ sqlplus sys/oracle@rcat as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 日 9月 13 17:51:04 2009

Copyright (c) 1982, 2009, Oracle.  All rights reserved.



Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
に接続されました。
SQL> create user rman identified by rman
  2  temporary tablespace temp
  3  default tablespace users
  4  quota unlimited on users;

ユーザーが作成されました。

SQL> grant recovery_catalog_owner to rman;

権限付与が成功しました。

SQL> 
}}

** リカバリカタログの作成 [#e0838373]

rman で接続して作ります。

#pre{{
[oracle@ora1 ~]$ rman catalog rman/rman@rcat

Recovery Manager: Release 11.2.0.1.0 - Production on 日 9月 13 18:00:48 2009

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

リカバリ・カタログ・データベースに接続されました。

RMAN> create catalog;

リカバリ・カタログが作成されました。

RMAN> 
}}

できていることを確認しましょう。

#pre{{
[oracle@ora1 ~]$ sqlplus rman/rman@rcat

SQL*Plus: Release 11.2.0.1.0 Production on 日 9月 13 18:04:01 2009

Copyright (c) 1982, 2009, Oracle.  All rights reserved.



Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
に接続されました。
SQL> select table_name from user_tables;

TABLE_NAME
--------------------------------------------------------------------------------
TEMPRES
...
DB

44行が選択されました。

SQL> 
}}

OKです。

* DBの登録 [#wa7ce853]

orcl データベースを登録します。

RMANから接続します。

#pre{{
[oracle@ora1 ~]$ rman catalog rman/rman@rcat

Recovery Manager: Release 11.2.0.1.0 - Production on 日 9月 13 18:07:09 2009

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

リカバリ・カタログ・データベースに接続されました。

RMAN> connect target sys/oracle@orcl

ターゲット・データベース: ORCL (データベースID=1225201194)に接続されました

RMAN> register database;

データベースがリカバリ・カタログに登録されました。
リカバリ・カタログの完全再同期を開始しています
完全再同期が完了しました

RMAN> report schema;

データベースdb_unique_name ORCLのデータベース・スキーマのレポート

永続データファイルのリスト
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    680      SYSTEM               YES     /u02/oradata/orcl/system01.dbf
2    510      SYSAUX               NO      /u02/oradata/orcl/sysaux01.dbf
3    85       UNDOTBS1             YES     /u02/oradata/orcl/undotbs01.dbf
4    5        USERS                NO      /u02/oradata/orcl/users01.dbf
5    100      EXAMPLE              NO      /u02/oradata/orcl/example01.dbf
6    10       TESTTBS              NO      /u02/oradata/orcl/testtbs01.dbf

一時ファイルのリスト
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    29       TEMP                 32767       /u02/oradata/orcl/temp01.dbf

RMAN> 
}}

* ブロックチェンジトラッキングファイルの有効化 [#wb87e803]

orcl インスタンスに接続して設定します。
増分バックアップが速くなるそうです。

db_create_file_dest の先にこのファイルを作ります。

#pre{{
[oracle@ora1 ~]$ sqlplus sys/oracle@orcl as sysdba
...

SQL> show parameter db_create_file_dest

NAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
db_create_file_dest                  string

SQL> alter system set db_create_file_dest='/u02/oradata/orcl'
  2  scope=both sid='*';

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

SQL> alter database enable block change tracking;

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

SQL> select status,filename from v$block_change_tracking;

STATUS
------------------------------
FILENAME
--------------------------------------------------------------------------------
ENABLED
/u02/oradata/orcl/ORCL/changetracking/o1_mf_5bsgrjw5_.chg


SQL> 
}}

ちゃんとファイルが作られていました。

#pre{{
[oracle@ora1 ~]$ ls /u02/oradata/orcl/ORCL/changetracking/
o1_mf_5bsgrjw5_.chg
}}

* アーカイブバックアップの作成 [#g5c5c633]

まずRMANで接続しておきます。
バックカップ先を設定しました。

#pre{{
[oracle@ora1 ~]$ rman catalog rman/rman@rcat

Recovery Manager: Release 11.2.0.1.0 - Production on 日 9月 13 18:32:03 2009

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

リカバリ・カタログ・データベースに接続されました。

RMAN> connect target sys/oracle@orcl

ターゲット・データベース: ORCL (データベースID=1225201194)に接続されました

RMAN> configure channel device type disk format '/u01/app/oracle/backup/%U';

新しいRMAN構成パラメータ:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/u01/app/oracle/backup/%U';
新しいRMAN構成パラメータが格納できました
リカバリ・カタログの完全再同期を開始しています
完全再同期が完了しました

RMAN>
}}

バックアップします。マルチセクションにしてみます。

#pre{{
RMAN> run {
2> backup database section size 100M
3> tag orcl20090913
4> keep forever
5> ;
6> }

backupが開始されました(開始時間: 09-09-13)
現在のログがアーカイブされました。

チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=96 デバイス・タイプ=DISK
バックアップは廃止になりません。
このバックアップからのリカバリを要求されたアーカイブ・ログはバックアップされません
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル・ファイル番号=00001 名前=/u02/oradata/orcl/system01.dbf
1から12800のブロックをバックアップしています
チャネルORA_DISK_1: ピース1(09-09-13)を起動します
...
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:03
backupが完了しました(完了時間: 09-09-13)
}}

* バックアップの確認 [#ib75c309]

list backup で確認できます。

#pre{{
RMAN> list backup;


バックアップ・セットのリスト
===================


BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
216     Full    593.77M    DISK        00:07:47     09-09-13
        維持: BACKUP_LOGS        期限: FOREVER        
...
}}

* リカバリ [#w84934ad]

SHUTDOWNしてからファイルを消しちゃいます。

#pre{{
[oracle@ora1 ~]$ cd /u02/oradata/orcl
[oracle@ora1 orcl]$ rm system01.dbf
[oracle@ora1 orcl]$ rm example01.dbf 
}}

当然ながら正しく起動しません。

#pre{{
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area  521936896 bytes
Fixed Size                  2214936 bytes
Variable Size             402654184 bytes
Database Buffers          113246208 bytes
Redo Buffers                3821568 bytes
データベースがマウントされました。
ORA-01157: データファイル1を識別/ロックできません -
DBWRトレース・ファイルを参照してください ORA-01110:
データファイル1: '/u02/oradata/orcl/system01.dbf'


SQL> 
}}

RMANからつないで戻します。

リカバリカタログがあるので
どうバックアップされているのかは全部RMANが知っているということで、
リストアやリカバリはとても簡単に終わります。

#pre{{
[oracle@ora1 ~]$ rman catalog rman/rman@rcat

Recovery Manager: Release 11.2.0.1.0 - Production on 日 9月 13 19:19:07 2009

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

リカバリ・カタログ・データベースに接続されました。

RMAN> connect target sys/oracle@orcl

ターゲット・データベース: ORCL(DBID=1225201194、未オープン)に接続されました

RMAN> restore database;

restoreが開始されました(開始時間: 09-09-13)
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: SID=20 デバイス・タイプ=DISK
...
チャネルORA_DISK_1: リストアが完了しました。経過時間: 00:00:35
restoreが完了しました(完了時間: 09-09-13)
}}

restore が終わったら recover もしておきます。

#pre{{
RMAN> recover database;

recoverが開始されました(開始時間: 09-09-13)
チャネルORA_DISK_1の使用

メディア・リカバリを開始しています
メディア・リカバリが完了しました。経過時間: 00:00:07

recoverが完了しました(完了時間: 09-09-13)

RMAN> 
}}

今度は正しく上がります。

#pre{{
SQL> shutdown immediate
ORA-01109: データベースがオープンされていません。


データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area  521936896 bytes
Fixed Size                  2214936 bytes
Variable Size             402654184 bytes
Database Buffers          113246208 bytes
Redo Buffers                3821568 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL> 
}}

----
#comment

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS