加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

番外:Oracle 中关于 Control File 的备份说明

发布时间:2021-03-14 21:18:41 所属栏目:站长百科 来源:网络整理
导读:番外系列说明 :该系列所有文章都将作为独立篇章进行知识点讲解,是对其他系列博文进行的补充说明,来自于博客园AskScuti。 主题 : 关于 Control File 控制文件 备份 的说明 内容预览 :本篇涉及控制文件作用、多路复用和备份。(控制文件的 重建恢复 不在

查看告警日志文件:

 1 [[email?protected] trace]$ pwd
 2 /u01/app/oracle/diag/rdbms/prod1/PROD1/trace
 3 [[email?protected] trace]$ tail -f 200 alert_PROD1.log 
 4 tail: cannot open ‘200’ for reading: No such file or directory
 5 ==> alert_PROD1.log <==
 6 ORACLE_BASE from environment = /u01/app/oracle
 7 Tue May 21 19:44:50 2019
 8 ALTER DATABASE   MOUNT
 9 Errors in file /u01/app/oracle/diag/rdbms/prod1/PROD1/trace/PROD1_ckpt_5026.trc:
10 ORA-00208: number of control file names exceeds limit of 8
11 System state dump requested by (instance=1,osid=5026 (CKPT)),summary=[abnormal instance termination].
12 System State dumped to trace file /u01/app/oracle/diag/rdbms/prod1/PROD1/trace/PROD1_diag_5014.trc
13 Dumping diagnostic data in directory=[cdmp_20190521194450],requested by (instance=1,summary=[abnormal instance termination].
14 CKPT (ospid: 5026): terminating the instance due to error 208
15 Instance terminated by CKPT,pid = 5026

看下第10行:ORA-00208: number of control file names exceeds limit of 8

所以,控制文件多路复用最多为“八路军 -?铁流两万五千里,直向着一个坚定的方向!苦斗十年锻炼成一支不可战胜的力量。”!

再来看下官方文档?11g Release 2 (11.2)?Database Reference 对此参数的描述:

CONTROL_FILES

Range of values:1 to 8 filenames

?

3. 控制文件的备份

3.1 TRACE备份

  需要知道的是,严格意义上来说,这不是控制文件的备份,而是根据当前控制文件生成了一份 trace 跟踪文件,该文件里面记录了数据库结构的基本信息,而且trace出来的文件是可以直接查看的。

3.1.1 TRACE默认备份

SQL> alter database backup controlfile to trace;

Database altered.

默认情况下,放哪里了?可以根据日志文件查看到:

1 Tue May 21 20:07:53 2019
2 alter database backup controlfile to trace
3 Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/prod1/PROD1/trace/PROD1_ora_6647.trc 4 Completed: alter database backup controlfile to trace

这个路径可以通过参数 dump 查询到:

SQL> show parameter dump

NAME                  TYPE   VALUE
--------------------- ------ -------------------------------------------
background_core_dump  string partial
background_dump_dest  string /u01/app/oracle/diag/rdbms/prod1/PROD1/trace
core_dump_dest        string /u01/app/oracle/diag/rdbms/prod1/PROD1/cdump
max_dump_file_size    string unlimited
shadow_core_dump      string partial
user_dump_dest        string /u01/app/oracle/diag/rdbms/prod1/PROD1/trace

查看下里面的内容:trace出来的控制文件,可以编辑或查看,原控制文件是不可编辑或查看的。

番外:Oracle 中关于 Control File 的备份说明

番外:Oracle 中关于 Control File 的备份说明

*** 2019-05-21 20:07:53.396
-- 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="PROD1"
--
-- 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_1=‘LOCATION=/u01/app/oracle/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 "PROD1" NORESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 ‘/u01/app/oracle/oradata/PROD1/redo01.log‘  SIZE 50M BLOCKSIZE 512,GROUP 2 ‘/u01/app/oracle/oradata/PROD1/redo02.log‘  SIZE 50M BLOCKSIZE 512,GROUP 3 ‘/u01/app/oracle/oradata/PROD1/redo03.log‘  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  ‘/u01/app/oracle/oradata/PROD1/system01.dbf‘,‘/u01/app/oracle/oradata/PROD1/sysaux01.dbf‘,‘/u01/app/oracle/oradata/PROD1/undotbs01.dbf‘,‘/u01/app/oracle/oradata/PROD1/users01.dbf‘,‘/u01/app/oracle/oradata/PROD1/example01.dbf‘,‘/u01/app/oracle/oradata/PROD1/abc01.dbf‘,‘/u01/app/oracle/oradata/PROD1/abcd01.dbf‘,‘/u01/app/oracle/oradata/PROD1/tbs_c01.dbf‘,‘/u01/app/oracle/oradata/PROD1/aaa01.dbf‘,‘/u01/app/oracle/oradata/PROD1/aaa02.dbf‘
CHARACTER SET AL32UTF8
;
-- 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 ‘/u01/app/oracle/archive1/1_1_762083164.dbf‘;
-- ALTER DATABASE REGISTER LOGFILE ‘/u01/app/oracle/archive1/1_1_1001001677.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 ‘/u01/app/oracle/oradata/PROD1/temp01.dbf‘
     SIZE 30408704  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
ALTER TABLESPACE TMP_ABC ADD TEMPFILE ‘/u01/app/oracle/oradata/PROD1/tmpabc01.dbf‘
     SIZE 2097152  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 "PROD1" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 ‘/u01/app/oracle/oradata/PROD1/redo01.log‘  SIZE 50M BLOCKSIZE 512,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE USING BACKUP CONTROLFILE
-- 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 ‘/u01/app/oracle/oradata/PROD1/temp01.dbf‘
     SIZE 30408704  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
ALTER TABLESPACE TMP_ABC ADD TEMPFILE ‘/u01/app/oracle/oradata/PROD1/tmpabc01.dbf‘
     SIZE 2097152  REUSE AUTOEXTEND OFF;
-- End of tempfile additions.
--
control file

里面涵盖两段重要内容:Set #1. NORESETLOGS case 和?Set #2. RESETLOGS case

后期可根据实际情况,通过对应代码段手工重建控制文件。本篇不涉及,请移至己亥清爽恢复系列查看。

3.1.2 TRACE指定路径备份

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读