#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