oracle 控制文件

控制文件在Oracle数据库中起着至关重要的作用,记录了数据库的物理结构、数据文件位置、日志信息等。文章介绍了控制文件的命名规则,包括非OMF、OMF和ASM情况下的命名。强调了控制文件的重要性,建议至少保留两份冗余以防止损坏。当数据库结构变化或控制文件损坏时,需要进行控制文件的备份,文中提到了将控制文件备份到二进制文件的方法,并指出可通过备份恢复控制文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制文件是组成oracle database的主要文件之一,记录oracle数据库物理结构的二进制文件,主要包括的内容如下:
数据库名
数据文件及redo log文件位置信息
数据库创建时间
数据库当前日志序号
检查点信息

oracle server及使在数据库close 状态对control file拥有读写权限,当数据库mount时需要用到control file

controlfile的命名方式:
如果不使用OMF,在创建数据库时,系统会根据init file中control_files参数命名控制文件名称
当使用OMF,oracle database自动命名control file名称
当使用ASM管理时,只需要制定db_create_file_dest和db_recover_file_dest两个参数即可,oracle ASM系统会自动为controlfile命名

控制文件相当于数据库的心脏,如果不是使用asm存储数据文件,为确保数据库正常运行会至少保留2份controlfile在不同的存放地址,当有一个控制文件损坏时,可以有一个冗余保证数据库可以继续运行。

controfile记录数据库的物理结构,当数据库物理结构发生更改时,要及时对数据库controlfile备份,备份情况如下:
添加、删除、更改数据文件、表空间、redo log文件

备份控制文件的方式:
1.备份controlfile到binary file

        alter database backup controlfile to 'file_name';
2.备份controlfile到trace file
    alter database backup controlfile to trace;  
 trace file在alert log中记录也可在ORACLE_BASE/diag/rdbms/sid/sid/trace中查找
 3.在RMAN中配置controlfile自动备份
RMAN> show all;

RMAN configuration parameters for database with db_unique_name OEM are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_oem.f'; # default

RMAN> configure controlfile autobackup on;

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored

RMAN> show all;

RMAN configuration parameters for database with db_unique_name OEM are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_oem.f'; # default

RMAN> 

通过备份控制文件到race file中,创建控制文件的命令如下:

CREATE CONTROLFILE REUSE DATABASE "OEM" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/app/oracle/oradata/oem/redo01.log'  SIZE 512M BLOCKSIZE 512,
  GROUP 2 '/u01/app/oracle/oradata/oem/redo02.log'  SIZE 512M BLOCKSIZE 512,
  GROUP 3 '/u01/app/oracle/oradata/oem/redo03.log'  SIZE 512M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '/u01/app/oracle/oradata/oem/system01.dbf',
  '/u01/app/oracle/oradata/oem/sysaux01.dbf',
  '/u01/app/oracle/oradata/oem/undotbs01.dbf',
  '/u01/app/oracle/oradata/oem/users01.dbf',
  '/u01/app/oracle/oradata/oem/mgmt_ecm_depot1.dbf',
  '/u01/app/oracle/oradata/oem/mgmt.dbf',
  '/u01/app/oracle/oradata/oem/mgmt_deepdive.dbf',
  '/u01/app/oracle/oradata/oem/test0101.dbf
'
CHARACTER SET AL32UTF8
;

在控制文件损坏时,可以通过备份的控制文件恢复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值