#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