7.1.1 控制文件概述
数据库名称和SID标识
数据库创建的时间戳
当前重做日志文件序列号
检查点信息
备份数据文件信息
如何对控制文件进行日常管理:
如果数据库的物理组成发生了变化,建议用户及时备份控制文件
方法有:多路复用控制文件和备份控制文件
7.1.2 控制文件的多路复用
初始化参数control_files列出了当前数据库的所有控制文件名,oracle将根据control_files参数中的信息同时修改所有的控制文件,但只读取其中的第一个控制文件中的信息。
实现控制文件的多路复用主要包括更改control_files参数和复制控制文件两个步骤。
在spfile文件中,control_files参数用于设置数据库的控制文件路径和文件名。
(1)查看控制文件

SQL> col status for a10
SQL> select * from v$controlfile;

STATUS     NAME                           IS_RECOVE BLOCK_SIZE FILE_SIZE_BLKS
---------- ------------------------------ --------- ---------- --------------
           /home/oracle/control03.ctl     NO             16384            594
SQL> col value for a30;

(2)更改control_files参数


手动创建控制文件使用create controlfile语句
create controlfile
logfile
group 2 redofiles_list2
...
datafile
datafile2
...
maxlogmembers max_value2
maxdatafiles max_value4
archivelog|noarchivelog;
db_name:数据库名称,通常是orcl;
datafile:数据文件路径
max_value2:最大的重做日志组成员数,这是一个永久性参数
max_value4:最大数据文件数,这是一个永久性参数

1、查看数据文件和重做日志文件
SQL> col member for a50;
SQL> select member from v$logfile;

MEMBER
--------------------------------------------------
/ora/app/oracle/oradata/stone1/redo03.log
/ora/app/oracle/oradata/stone1/redo02.log
/ora/app/oracle/oradata/stone1/redo01.log
在数据字典视图v$datafile中查看数据文件:

SQL> select name from v$controlfile;

NAME
--------------------------------------------------
/home/oracle/control03.ctl
2、关闭数据库

用户需要在操作系统下备份所有的数据文件和重做日志文件,因为在使用create controlfile语句创建新的控制文件时,如果操作不当可能会损坏数据文件和日志文件。
4、启动数据库实例

执行create controlfile命令创建一个新的控制文件。
6、编辑参数

SQL> alter database open;
SQL> alter database open resetlogs;
7.1.4 备份和恢复控制文件
1、备份控制文件
(1)备份为二进制文件需要使用'alter database backup controlfile'语句

SQL> alter database backup controlfile to trace;

Database altered.
所创建的文件称为跟踪文件,实际上是一个SQL脚本,可以利用它来“重新创建”新的控制文件。跟踪文件的存放位置由SPFILE文件中的USER_DUMP_DEST参数来决定。
2、恢复控制文件
操作步骤如下:
b、复制这个损坏文件对应的一个多路复用文件,覆盖掉原来目录下的损坏文件

操作步骤如下:
b、编辑初始化参数CONTROL_FILES,添加一个新的控制文件的位置

操作步骤:
(2)编辑初始化参数CONTROL_FILES,清除掉打算要删除的控制文件的名称

与控制文件相关的常用数据字典视图:
SQL> select * from v$controlfile_record_section;

TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID
-------------------- ----------- ------------- ------------ ----------- ---------- ----------
DATABASE                     316             1            1           0          0          0
CKPT PROGRESS               8180            11            0           0          0          0
REDO THREAD                  256             8            1           0          0          0
REDO LOG                      72            16            3           0          0          3
DATAFILE                     520           100            5           0          0         36
FILENAME                     524          2298            9           0          0          0
TABLESPACE                    68           100            6           0          0          2
TEMPORARY FILENAME            56           100            1           0          0          1
RMAN CONFIGURATION          1108            50            0           0          0          0
LOG HISTORY                   56           292           17           1         17         17
OFFLINE RANGE                200           163            0           0          0          0

TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID
-------------------- ----------- ------------- ------------ ----------- ---------- ----------
ARCHIVED LOG                 584            28            0           0          0          0
BACKUP SET                    40           409            0           0          0          0
BACKUP PIECE                 736           200            0           0          0          0
BACKUP DATAFILE              200           245            0           0          0          0
BACKUP REDOLOG                76           215            0           0          0          0
DATAFILE COPY                736           200            2           1          2          2
BACKUP CORRUPTION             44           371            0           0          0          0
COPY CORRUPTION               40           409            0           0          0          0
DELETED OBJECT                20           818            1           1          1          1
PROXY COPY                   928           246            0           0          0          0
BACKUP SPFILE                124           131            0           0          0          0

TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID
-------------------- ----------- ------------- ------------ ----------- ---------- ----------
DATABASE INCARNATION          56           292            2           1          2          2
FLASHBACK LOG                 84          2048            0           0          0          0
RECOVERY DESTINATION         180             1            0           0          0          0
INSTANCE SPACE RESER          28          1055            1           0          0          0
VATION

REMOVABLE RECOVERY F          32          1000            0           0          0          0
ILES

RMAN STATUS                  116           141            0           0          0          0
THREAD INSTANCE NAME          80             8            8           0          0          0

TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID
-------------------- ----------- ------------- ------------ ----------- ---------- ----------
 MAPPING

MTTR                         100             8            1           0          0          0
DATAFILE HISTORY             568            57            0           0          0          0
STANDBY DATABASE MAT         400            31           31           0          0          0
RIX

GUARANTEED RESTORE P         212          2048            0           0          0          0
OINT

RESTORE POINT                212          2083            0           0          0          0

TYPE                 RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID
-------------------- ----------- ------------- ------------ ----------- ---------- ----------
DATABASE BLOCK CORRU          80          8384            0           0          0          0
PTION

ACM OPERATION                104            64            6           0          0          0
FOREIGN ARCHIVED LOG         604          1002            0           0          0          0

37 rows selected.

1、查看控制文件相关信息

SQL> host strings /home/oracle/control03.ctl | more
}|{z
STONE1
1STONE1
1STONE1
stone1
stone1
/ora/app/oracle/oradata/stone1/redo03.log
/ora/app/oracle/oradata/stone1/redo02.log
/ora/app/oracle/oradata/stone1/redo01.log
/ora/app/oracle/oradata/stone1/users01.dbf
/ora/app/oracle/oradata/stone1/undotbs01.dbf
/ora/app/oracle/oradata/stone1/sysaux01.dbf
/ora/app/oracle/oradata/stone1/system01.dbf
/ora/app/oracle/oradata/stone1/temp01.dbf
/ora/app/oracle/oradata/stone1/example01.dbf
/ora/app/oracle/oradata/stone1/redo03.log
/ora/app/oracle/oradata/stone1/redo02.log
/ora/app/oracle/oradata/stone1/redo01.log
/ora/app/oracle/oradata/stone1/users01.dbf
/ora/app/oracle/oradata/stone1/undotbs01.dbf
/ora/app/oracle/oradata/stone1/sysaux01.dbf
/ora/app/oracle/oradata/stone1/system01.dbf
/ora/app/oracle/oradata/stone1/temp01.dbf
/ora/app/oracle/oradata/stone1/example01.dbf
SYSTEM
SYSAUX
UNDOTBS1
USERS
TEMP
EXAMPLE
SYSTEM
SYSAUX
UNDOTBS1
USERS
TEMP
EXAMPLE
ora/app/oracle/oradata/stone1/example01.dbf
ora/app/oracle/oradata/stone1/example01.dbf
TAG20131212T153951
/home/oracle/control03.ctl.bkp
stone1
HbE#v
stone1
HbE#v
stone1
Hl8p
UNNAMED_INSTANCE_2
UNNAMED_INSTANCE_3
UNNAMED_INSTANCE_4
UNNAMED_INSTANCE_5
UNNAMED_INSTANCE_6
UNNAMED_INSTANCE_7
UNNAMED_INSTANCE_8
stone1
Hl8p
UNNAMED_INSTANCE_2
UNNAMED_INSTANCE_3
UNNAMED_INSTANCE_4
UNNAMED_INSTANCE_5
UNNAMED_INSTANCE_6
UNNAMED_INSTANCE_7
UNNAMED_INSTANCE_8
ACM unit testing operation
LSB Database Guard
Supplemental Log Data DDL
LSB Role Change Support
RFS block and kill across RAC
RAC-wide SGA
ACM unit testing operation
LSB Database Guard
Supplemental Log Data DDL
LSB Role Change Support
RFS block and kill across RAC
RAC-wide SGA
3、备份控制文件到文本文件(查看控制文件具体内容)
SQL  host strings /home/oracle/control03.ctl  ctl txt

( )
level --level1  查看路径中最新的文件
[oracle@localhost ~]$ more /ora/app/oracle/diag/rdbms/stone1/stone1/trace/stone1_vktm_9455.trc
Trace file /ora/app/oracle/diag/rdbms/stone1/stone1/trace/stone1_vktm_9455.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /ora/app/oracle/product/11.2.0/dbhome_1
System name:    Linux
Node name:      localhost.localdomain
Release:        2.6.32-220.el6.x86_64
Version:        #1 SMP Wed Nov 9 08:03:13 EST 2011
Machine:        x86_64
Instance name: stone1
Redo thread mounted by this instance: 0 
Oracle process number: 3
Unix process pid: 9455, p_w_picpath: oracle@localhost.localdomain (VKTM)


*** 2013-12-12 11:38:55.692
*** SESSION ID:(3.1) 2013-12-12 11:38:55.692
*** CLIENT ID:() 2013-12-12 11:38:55.692
*** SERVICE NAME:() 2013-12-12 11:38:55.692
*** MODULE NAME:() 2013-12-12 11:38:55.692
*** ACTION NAME:() 2013-12-12 11:38:55.692

kstmmainvktm: succeeded in setting elevated priority
kstmmainvktm:enabled, highres_enabled, sectick_enabled

*** 2013-12-12 11:38:55.692
VKTM running at (10)millisec precision with DBRM quantum (100)ms
[Start] HighResTick = 1386819535692319
kstmrmtickcnt = 0 : ksudbrmseccnt[0] = 1386819535
kstmchkdrift (kstmhighrestimecntkeeper:highres): Time jumped forward by (8296411)microsecs at 13868283887
36971

*** 2013-12-12 14:06:28.738
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time jumped forward by (8000000)microsecs at 1386828388
[End] HighResTick = 1386829513745398

*** 2013-12-12 14:25:13.756
kstmrmtickcnt = 92460 : ksudbrmseccnt[9909] = 1386829513
<DIV style="LINE-HEIGHT: normal; FONT-VARIANT: normal; FONT-STYLE: normal; FONT-SIZE: 14px; FONT-WEIGHT: normal; "text-indent: 0px">