一、控制文件(Control File):是一个较小的二进制文件,用于记录与维护数据库的物理结构;
1.当启动例程并打开数据库时,oracle会根据初始化参数control files 在例程和数据库之间建立关联.装载数据库(MOUNT状态)时,ORACLE会安装初始化参数 control_files定位并打开控制文件和重做日志。
2.控制文件主要记载信息:
数据库名称和位置、重做日志名称和位置、表空间名称、当前日志序列号、数据库建立日期、检查点信息、日志历史信息、RMAN信息
3.控制文件位置:
select name from v$controlfile;
4.控制文件主要由永久参数和Rman信息组成
MAXINSTANCES:用于指定可以同时访问数据库的最大例程个数;
MAXDATAFILES:用于指定oracle数据库的最大数据文件个数;
MAXLOGFILES:用于指定oracle数据库的最大日志组个数;
MAXLOGMEMBERS:用于指定每个日志组的最大日志成员个数;
MAXLOGHISTORY:用于指定控制文件可记载日志历史的最大个数;
5.使用RMAN执行备份操作时,RMAN备份信息会被记载到控制文件中,
初始化参数control_file_record_keep_time指定了RMAN备份信息在控制文件中的保留时间,默认值为7;
6.创建一个控制文件
1):获取数据文件和重做日志文件
数据文件: select name from v$datafile;
日志文件:select member from v$logfile;
2):关闭数据库: shutdown immediate
3) :备份所有的数据文件和重做日志
4) : 启动数据库: sartup nomount
5):创建控制文件
create controlfile reuse database database_name noresetlogs|resetlogs noarchivelog|archivelog
reuse database database_name:如果database_name数据库存在,使用database_name数据库,如果不存在重新创建数据database_name
noresetlogs|resetlogs:指定仍然使用原有重做日志,如果不希望使用原有重做日志,可以指定RESETLOGS选项
noarchivelog|archivelog:日志不归档/日志归档
6):修改control_file参数 使其指向新建的控制文件 如果修改了数据库名称还需修改db_name参数
alter system set control_files='controlfile_name1'...scope=spfile;
7):如果需要恢复数据库的话需要执行
alter database open
8):使用了resetlogs 则执行 alter database open resetlogs;
7.控制文件备份(复制控制文件)
alter database backup controlfile to '/data/oracle/control_01'
8.将控制文件备份为可读文件
alter database backup controlfile to trace;
9.控制文件的恢复
如果控制文件被破坏,但存储控制文件的目录仍然可以访问,并且存在控制文件副本,
则可以关闭数据库实例,然后使用操作系统将控制文件副本复制到控制文件目录下,覆盖被损坏的控制文件,然后重启数据库;
10.删除控制文件
1)关闭数据库 shutdown immediate
2)编辑初始化参数control_files.使其不再包含要删除的控制文件的名称;
3)重启数据库 sartup nomount
11.查看控制文件信息
与控制文件有关的数据字典视图
v$database //显示控制文件描述的数据库信息
v$controlfile //显示控制文件的名称和状态信息
v$controlfile_record_section //显示控制文件各个记录的信息
v$parameter //显示初始化参数controlfile_files中的控制文件名称
oracle 控制文件
最新推荐文章于 2020-01-15 19:59:14 发布