每一个oracle数据库都有一个控制文件。控制文件是一个小型的二进制文件,可以记录数据库的物理结构,包含以下的内容:数据库名称、相关数据文件和联机重做日志文件的名称和位置、数据库创建的时标、当前日志的序号、检验点信息。 无论何时打开数据库,控制文
每一个oracle数据库都有一个控制文件。控制文件是一个小型的二进制文件,可以记录数据库的物理结构,包含以下的内容:数据库名称、相关数据文件和联机重做日志文件的名称和位置、数据库创建的时标、当前日志的序号、检验点信息。
无论何时打开数据库,控制文件必须能够由oracle数据库服务器写入内容。没有控制文件,数据库就不能装载,且很难恢复。oracle数据库控制文件在数据库创建的同时创建。
使用数据库初始化参数文件中的初始化参数control_files可以指定控制文件名,可以通过select * from V$PARAMETER where name='control_files'语句来查看control_files的值。数据库实例启动过程将识别和打开所有列出的文件。
每一个oracle数据库都应该至少有两个控制文件,它们分别存储在不同的磁盘上。若因为磁盘失败的原因导致控制文件损坏,那么就必须关闭相关的实例。一 旦修理好磁盘驱动器,可以使用另一磁盘上保存完好的控制文件或者副本来恢复损坏的控制文件,继而重新启动数据库实例。
可以通过使用sql命令来创建新的控制文件。命令格式如下:create controlfile,详细命令格式请参阅相关资料。
备份控制文件。使用alter database backup controlfile语句可以备份控制文件,有两种可以选择的方法:1、使用以下语句来将控制文件备份为二进制文件 alter database backup controlfile to 'oracle/backup/control.bkp'。2、制作以后可以用于重新创建控制文件的sql语句:alter database backup controlfile to trace。这个命令将sql脚本写入数据库的跟踪文件,在这个跟踪文件中可以找到这个sql脚本并对脚本进行编辑,以便产生新的控制文件。
删除控制文件。步骤:1、关闭数据库。2、编辑数据库初始化参数文件中的初始化参数control_files,以便删除旧的控制文件名称。3、重新启动数据库实例。
以下的数据库视图显示有关控制文件的信息。
v$controlfile 列出控制文件的名称
v$controlfile_record_section 显示有关控制文件记录段的信息
v$parameter 显示初始化参数control_files指定的控制文件名称
附:oracle入门小知识
一个表空间只能属于一个数据库
每个数据库最少有一个控制文件(建议3个,分别放在不同的磁盘上)
每个数据库最少有一个表空间(SYSTEM表空间)
建立SYSTEM表空间的目的是尽量将目的相同的表存放在一起,以提高使用效率,只应存放数据字典
每个数据库最少有两个联机日志组,每组最少一个联机日志文件
一个数据文件只能属于一个表空间
一个数据文件一旦被加入到一个表空间中,就不能再从这个表空间中移走,也不能再加入到其他表空间中
建立新的表空间需要建立新的数据文件
COMMIT后,数据不一定立即写盘(数据文件)
一个事务即使不被提交,也会被写入到重做日志中。
oracle server可以同时启动多个数据库
一套操作系统上可以安装多个版本的ORACLE数据库系统(UNIX可以,NT不可以??)
一套ORACLE数据库系统中可以有多个ORACLE数据库及其相对应的实例