制御ファイルのバックアップ
制御ファイルのバックアップ
障害に備えて制御ファイルをバックアップする手順です。
バックアップする方法は2種類あります。
- 1つは既存制御ファイルを複製してバックアップする方法
- SQLスクリプトをトレースファイルに書き出す方法
それでは、まず1つ目の手順から行きます。
既存制御ファイルを複製するバックアップ
oracleでログインし、sqlplusを起動します。
[oracle@server01:/home/oracle] sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Production on 金 10月 18 14:30:10 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> conn / as sysdba アイドル・インスタンスに接続しました。 SQL>
既存制御ファイルを、ASMディスクグループからOSファイルシステム上に書き出す場合は、以下のSQLを実行します。
SQL> alter database backup controlfile to '/home/oracle/control.bak'; データベースが変更されました。 SQL>
SQLをトレースファイルに書き出すバックアップ
次に、SQLをトレースファイルに書き出す場合は、以下のSQLを実行します。
SQL> alter database backup controlfile to trace; データベースが変更されました。 SQL>
どのトレースファイルに書き出されたかは、アラートログを見ると書かれています。今回の例ではアラートログにこのように書かれていました。
alter database backup controlfile to trace Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/db01/trace/db011_ora_13303848.trc Completed: alter database backup controlfile to trace
トレースファイルの中には、制御ファイルを作成するために必要なSQLが書かれていました。
制御ファイルがどのような情報を保持しているかがわかります。
ファイル内容です。
Trace file /u01/app/oracle/diag/rdbms/db01/db011/trace/db011_ora_13303848.trc Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1 System name: AIX Node name: server01 Release: 1 Version: 7 Machine: 00F86E5F4C00 Instance name: db011 Redo thread mounted by this instance: 1 Oracle process number: 54 Unix process pid: 13303848, image: oracle@server01 (TNS V1-V3) *** 2013-10-25 16:29:29.618 *** SESSION ID:(592.7) 2013-10-25 16:29:29.618 *** CLIENT ID:() 2013-10-25 16:29:29.618 *** SERVICE NAME:(SYS$USERS) 2013-10-25 16:29:29.618 *** MODULE NAME:(sqlplus@server01 (TNS V1-V3)) 2013-10-25 16:29:29.618 *** ACTION NAME:() 2013-10-25 16:29:29.618 -- The following are current System-scope REDO Log Archival related -- parameters and can be included in the database initialization file. -- -- LOG_ARCHIVE_DEST='' -- LOG_ARCHIVE_DUPLEX_DEST='' -- -- LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf -- -- DB_UNIQUE_NAME="db01" -- -- LOG_ARCHIVE_CONFIG='SEND, RECEIVE, NODG_CONFIG' -- LOG_ARCHIVE_MAX_PROCESSES=4 -- STANDBY_FILE_MANAGEMENT=MANUAL -- STANDBY_ARCHIVE_DEST=?/dbs/arch -- FAL_CLIENT='' -- FAL_SERVER='' -- -- LOG_ARCHIVE_DEST_2='LOCATION=+DATA/db01/archive2' -- LOG_ARCHIVE_DEST_2='OPTIONAL REOPEN=300 NODELAY' -- LOG_ARCHIVE_DEST_2='ARCH NOAFFIRM NOEXPEDITE NOVERIFY SYNC' -- LOG_ARCHIVE_DEST_2='REGISTER NOALTERNATE NODEPENDENCY' -- LOG_ARCHIVE_DEST_2='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED NODB_UNIQUE_NAME' -- LOG_ARCHIVE_DEST_2='VALID_FOR=(PRIMARY_ROLE,ONLINE_LOGFILES)' -- LOG_ARCHIVE_DEST_STATE_2=ENABLE -- -- LOG_ARCHIVE_DEST_1='LOCATION=+DATA/db01/archive1' -- LOG_ARCHIVE_DEST_1='OPTIONAL REOPEN=300 NODELAY' -- LOG_ARCHIVE_DEST_1='ARCH NOAFFIRM NOEXPEDITE NOVERIFY SYNC' -- LOG_ARCHIVE_DEST_1='REGISTER NOALTERNATE NODEPENDENCY' -- LOG_ARCHIVE_DEST_1='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED NODB_UNIQUE_NAME' -- LOG_ARCHIVE_DEST_1='VALID_FOR=(PRIMARY_ROLE,ONLINE_LOGFILES)' -- LOG_ARCHIVE_DEST_STATE_1=ENABLE -- -- Below are two sets of SQL statements, each of which creates a new -- control file and uses it to open the database. The first set opens -- the database with the NORESETLOGS option and should be used only if -- the current versions of all online logs are available. The second -- set opens the database with the RESETLOGS option and should be used -- if online logs are unavailable. -- The appropriate set of statements can be copied from the trace into -- a script file, edited as necessary, and executed when there is a -- need to re-create the control file. -- -- Set #1. NORESETLOGS case -- -- The following commands will create a new control file and use it -- to open the database. -- Data used by Recovery Manager will be lost. -- Additional logs may be required for media recovery of offline -- Use this only if the current versions of all online logs are -- available. -- After mounting the created controlfile, the following SQL -- statement will place the database in the appropriate -- protection mode: -- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "db01" NORESETLOGS ARCHIVELOG MAXLOGFILES 192 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 32 MAXLOGHISTORY 292 LOGFILE GROUP 1 ( '+DG_REDO_1/db01/redo01.log', '+DG_REDO_2/db01/redo02.log' ) SIZE 500M BLOCKSIZE 512, GROUP 2 ( '+DG_REDO_1/db01/redo03.log', '+DG_REDO_2/db01/redo04.log' ) SIZE 500M BLOCKSIZE 512, GROUP 3 ( '+DG_REDO_1/db01/redo05.log', '+DG_REDO_2/db01/redo06.log' ) SIZE 500M BLOCKSIZE 512, GROUP 4 ( '+DG_REDO_1/db01/redo07.log', '+DG_REDO_2/db01/redo08.log' ) SIZE 500M BLOCKSIZE 512, GROUP 5 ( '+DG_REDO_1/db01/redo09.log', '+DG_REDO_2/db01/redo10.log' ) SIZE 500M BLOCKSIZE 512, GROUP 6 ( '+DG_REDO_1/db01/redo11.log', '+DG_REDO_2/db01/redo12.log' ) SIZE 512M BLOCKSIZE 512, GROUP 7 ( '+DG_REDO_1/db01/redo13.log', '+DG_REDO_2/db01/redo14.log' ) SIZE 512M BLOCKSIZE 512, GROUP 8 ( '+DG_REDO_1/db01/redo15.log', '+DG_REDO_2/db01/redo16.log' ) SIZE 500M BLOCKSIZE 512, GROUP 9 ( '+DG_REDO_1/db01/redo17.log', '+DG_REDO_2/db01/redo18.log' ) SIZE 500M BLOCKSIZE 512, GROUP 10 ( '+DG_REDO_1/db01/redo19.log', '+DG_REDO_2/db01/redo20.log' ) SIZE 500M BLOCKSIZE 512, GROUP 11 ( '+DG_REDO_1/db01/redo21.log', '+DG_REDO_2/db01/redo22.log' ) SIZE 500M BLOCKSIZE 512, GROUP 12 ( '+DG_REDO_1/db01/redo23.log', '+DG_REDO_2/db01/redo24.log' ) SIZE 500M BLOCKSIZE 512, GROUP 13 ( '+DG_REDO_1/db01/redo25.log', '+DG_REDO_2/db01/redo26.log' ) SIZE 500M BLOCKSIZE 512, GROUP 14 ( '+DG_REDO_1/db01/redo27.log', '+DG_REDO_2/db01/redo28.log' ) SIZE 500M BLOCKSIZE 512, GROUP 15 ( '+DG_REDO_1/db01/redo29.log', '+DG_REDO_2/db01/redo30.log' ) SIZE 500M BLOCKSIZE 512, GROUP 16 ( '+DG_REDO_1/db01/redo31.log', '+DG_REDO_2/db01/redo32.log' ) SIZE 500M BLOCKSIZE 512, GROUP 17 ( '+DG_REDO_1/db01/redo33.log', '+DG_REDO_2/db01/redo34.log' ) SIZE 500M BLOCKSIZE 512, GROUP 18 ( '+DG_REDO_1/db01/redo35.log', '+DG_REDO_2/db01/redo36.log' ) SIZE 500M BLOCKSIZE 512, GROUP 19 ( '+DG_REDO_1/db01/redo37.log', '+DG_REDO_2/db01/redo38.log' ) SIZE 500M BLOCKSIZE 512, GROUP 20 ( '+DG_REDO_1/db01/redo39.log', '+DG_REDO_2/db01/redo40.log' ) SIZE 500M BLOCKSIZE 512 -- STANDBY LOGFILE DATAFILE '+DATA/db01/datafile/system.256.829070339', '+DATA/db01/datafile/sysaux.257.829070339', '+DATA/db01/datafile/undotbs1.258.829070339', '+DATA/db01/datafile/users.259.829070339', '+DATA/db01/datafile/undotbs2.264.829070483', '+DATA/db01/datafile/tsc1_common.329.829505403', '+DATA/db01/datafile/tsgk_data.330.829505405', '+DATA/db01/datafile/tsgk_index.331.829505405', '+DATA/db01/datafile/tshs_ordsup.332.829505407', '+DATA/db01/datafile/tsid_buyer.333.829505407', '+DATA/db01/datafile/tsid_dwh_1.334.829505409', '+DATA/db01/datafile/tsid_dwh_idx_1.335.829505409', '+DATA/db01/datafile/tsjh_data.336.829505411', '+DATA/db01/datafile/tsjh_index.337.829505411', '+DATA/db01/datafile/tsyn_yunyu.338.829505413', '+DATA/db01/datafile/tszk_zaiko.339.829505413', '+DATA/db01/datafile/tsid_dwh_1.350.829568629' CHARACTER SET JA16SJIS ; -- Commands to re-create incarnation table -- Below log names MUST be changed to existing filenames on -- disk. Any one log file from each branch can be used to -- re-create incarnation records. -- ALTER DATABASE REGISTER LOGFILE '+DATA/db01/archive2/1_1_827702973.dbf'; -- ALTER DATABASE REGISTER LOGFILE '+DATA/db01/archive2/1_1_829070404.dbf'; -- Recovery is required if any of the datafiles are restored backups, -- or if the last shutdown was not normal or immediate. RECOVER DATABASE -- All logs need archiving and a log switch is needed. ALTER SYSTEM ARCHIVE LOG ALL; -- Database can now be opened normally. ALTER DATABASE OPEN; -- Commands to add tempfiles to temporary tablespaces. -- Online tempfiles have complete space information. -- Other tempfiles may require adjustment. ALTER TABLESPACE TEMP ADD TEMPFILE '+DATA/db01/tempfile/temp.263.829070411' SIZE 46137344 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M; ALTER TABLESPACE TEMP_REF ADD TEMPFILE '+DATA/db01/tempfile/temp_ref.328.829505391' SIZE 3072M REUSE AUTOEXTEND OFF; -- End of tempfile additions. -- -- Set #2. RESETLOGS case -- -- The following commands will create a new control file and use it -- to open the database. -- Data used by Recovery Manager will be lost. -- The contents of online logs will be lost and all backups will -- be invalidated. Use this only if online logs are damaged. -- After mounting the created controlfile, the following SQL -- statement will place the database in the appropriate -- protection mode: -- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "db01" RESETLOGS ARCHIVELOG MAXLOGFILES 192 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 32 MAXLOGHISTORY 292 LOGFILE GROUP 1 ( '+DG_REDO_1/db01/redo01.log', '+DG_REDO_2/db01/redo02.log' ) SIZE 500M BLOCKSIZE 512, GROUP 2 ( '+DG_REDO_1/db01/redo03.log', '+DG_REDO_2/db01/redo04.log' ) SIZE 500M BLOCKSIZE 512, GROUP 3 ( '+DG_REDO_1/db01/redo05.log', '+DG_REDO_2/db01/redo06.log' ) SIZE 500M BLOCKSIZE 512, GROUP 4 ( '+DG_REDO_1/db01/redo07.log', '+DG_REDO_2/db01/redo08.log' ) SIZE 500M BLOCKSIZE 512, GROUP 5 ( '+DG_REDO_1/db01/redo09.log', '+DG_REDO_2/db01/redo10.log' ) SIZE 500M BLOCKSIZE 512, GROUP 6 ( '+DG_REDO_1/db01/redo11.log', '+DG_REDO_2/db01/redo12.log' ) SIZE 512M BLOCKSIZE 512, GROUP 7 ( '+DG_REDO_1/db01/redo13.log', '+DG_REDO_2/db01/redo14.log' ) SIZE 512M BLOCKSIZE 512, GROUP 8 ( '+DG_REDO_1/db01/redo15.log', '+DG_REDO_2/db01/redo16.log' ) SIZE 500M BLOCKSIZE 512, GROUP 9 ( '+DG_REDO_1/db01/redo17.log', '+DG_REDO_2/db01/redo18.log' ) SIZE 500M BLOCKSIZE 512, GROUP 10 ( '+DG_REDO_1/db01/redo19.log', '+DG_REDO_2/db01/redo20.log' ) SIZE 500M BLOCKSIZE 512 -- STANDBY LOGFILE DATAFILE '+DATA/db01/datafile/system.256.829070339', '+DATA/db01/datafile/sysaux.257.829070339', '+DATA/db01/datafile/undotbs1.258.829070339', '+DATA/db01/datafile/users.259.829070339', '+DATA/db01/datafile/undotbs2.264.829070483', '+DATA/db01/datafile/tsc1_common.329.829505403', '+DATA/db01/datafile/tsgk_data.330.829505405', '+DATA/db01/datafile/tsgk_index.331.829505405', '+DATA/db01/datafile/tshs_ordsup.332.829505407', '+DATA/db01/datafile/tsid_buyer.333.829505407', '+DATA/db01/datafile/tsid_dwh_1.334.829505409', '+DATA/db01/datafile/tsid_dwh_idx_1.335.829505409', '+DATA/db01/datafile/tsjh_data.336.829505411', '+DATA/db01/datafile/tsjh_index.337.829505411', '+DATA/db01/datafile/tsyn_yunyu.338.829505413', '+DATA/db01/datafile/tszk_zaiko.339.829505413', '+DATA/db01/datafile/tsid_dwh_1.350.829568629' CHARACTER SET JA16SJIS ; -- Commands to re-create incarnation table -- Below log names MUST be changed to existing filenames on -- disk. Any one log file from each branch can be used to -- re-create incarnation records. -- ALTER DATABASE REGISTER LOGFILE '+DATA/db01/archive2/1_1_827702973.dbf'; -- ALTER DATABASE REGISTER LOGFILE '+DATA/db01/archive2/1_1_829070404.dbf'; -- Recovery is required if any of the datafiles are restored backups, -- or if the last shutdown was not normal or immediate. RECOVER DATABASE USING BACKUP CONTROLFILE -- Create log files for threads other than thread one. ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 11 ( '+DG_REDO_1/db01/redo21.log', '+DG_REDO_2/db01/redo22.log' ) SIZE 500M BLOCKSIZE 512 REUSE, GROUP 12 ( '+DG_REDO_1/db01/redo23.log', '+DG_REDO_2/db01/redo24.log' ) SIZE 500M BLOCKSIZE 512 REUSE, GROUP 13 ( '+DG_REDO_1/db01/redo25.log', '+DG_REDO_2/db01/redo26.log' ) SIZE 500M BLOCKSIZE 512 REUSE, GROUP 14 ( '+DG_REDO_1/db01/redo27.log', '+DG_REDO_2/db01/redo28.log' ) SIZE 500M BLOCKSIZE 512 REUSE, GROUP 15 ( '+DG_REDO_1/db01/redo29.log', '+DG_REDO_2/db01/redo30.log' ) SIZE 500M BLOCKSIZE 512 REUSE, GROUP 16 ( '+DG_REDO_1/db01/redo31.log', '+DG_REDO_2/db01/redo32.log' ) SIZE 500M BLOCKSIZE 512 REUSE, GROUP 17 ( '+DG_REDO_1/db01/redo33.log', '+DG_REDO_2/db01/redo34.log' ) SIZE 500M BLOCKSIZE 512 REUSE, GROUP 18 ( '+DG_REDO_1/db01/redo35.log', '+DG_REDO_2/db01/redo36.log' ) SIZE 500M BLOCKSIZE 512 REUSE, GROUP 19 ( '+DG_REDO_1/db01/redo37.log', '+DG_REDO_2/db01/redo38.log' ) SIZE 500M BLOCKSIZE 512 REUSE, GROUP 20 ( '+DG_REDO_1/db01/redo39.log', '+DG_REDO_2/db01/redo40.log' ) SIZE 500M BLOCKSIZE 512 REUSE; -- Database can now be opened zeroing the online logs. ALTER DATABASE OPEN RESETLOGS; -- Commands to add tempfiles to temporary tablespaces. -- Online tempfiles have complete space information. -- Other tempfiles may require adjustment. ALTER TABLESPACE TEMP ADD TEMPFILE '+DATA/db01/tempfile/temp.263.829070411' SIZE 46137344 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M; ALTER TABLESPACE TEMP_REF ADD TEMPFILE '+DATA/db01/tempfile/temp_ref.328.829505391' SIZE 3072M REUSE AUTOEXTEND OFF; -- End of tempfile additions. --
END
タグ:backup, controlfile, 制御ファイル