Oracle 数据库入门(五)物理存储结构之控制文件

控制文件

控制文件扩展名通常为 ctl,其在Oracle数据库中具有及其重要的作用,如果该文件损坏或者丢失,那么数据库将无法正常启动
即使是正在运行的数据库也会立即出错关闭,其原因在于控制文件记录了数据库的物理结构信息
数据库启动以及运行过程中的物理存储结构变化都需要读写该文件

控制文件是二进制类型的文件,用户不能使用记事本工具直接编辑,而需要通过 Oracle 相关进程进行自动更新

创建控制文件

数据库创建时会同时自动创建控制文件,当控制文件损坏或者丢失,同时又没有备份的情况下需要用户手工创建控制文件

create controlfile 
[reuse] database db_name
[logfile redofiles_list]
[datafile datafiles_list]
[maxlogfiles]
[maxlogmembers]
[maxinstances]
[maxdatafiles]
resetlogs|noresetlogs
[archivelog|noarchivelog]

对参数介绍如下

  1. reuse:指定原有控制文件能被覆盖使用,如果忽略该参数并且同时已存在控制文件,则创建控制文件将出错
  2. db_name:为需创建控制文件的数据库名称
  3. redofiles_list:为重做日志文件列表,包括各文件的存储路径
  4. datafiles_list:为数据文件列表,包括各文件的存储路径
  5. maxlogfiles:设置重做日志文件最大数量
  6. maxlogmembers:设置重做日志文件组的最大成员数量
  7. maxinstances:设置数据库的最大实例个数
  8. resetlogs|noresetlogs:表示不使用原有重做日志文件或使用原有重做日志文件
  9. archivelog|noarchivelog:表示设置数据库为归档模式或非归档模式

控制文件的备份与恢复

Oracle 数据库中用于控制文件备份语句为

alter database backup controlfile

该语句有两种可选的备份方式:一种是将控制文件备份为一个二进制文件,另外一种是备份为纯文本形式的文件

//备份为二进制文件
alter database backup controlfile to 'D:\test.ctl';
//备份为文本文件
alter database backup controlfile to trace;

当控制文件备份为文本文件时,该备份文件也被称为追踪文件,保存在 spfile 中文件的参数 user_dump_dest 所指定路径,该追踪文件实际为 SQL 脚本文件,可以利用它来重新创建控制文件

删除控制文件

如果某个控制文件失效则可以删除该控制文件,但要注意不能将控制文件全部删除,至少要保留一个,否则数据库将无法启动
通过编辑初始化参数 control_files,可以去掉要删除控制文件信息,然后在操作系统中将控制文件手动删除

查询控制文件信息

可以使用 show parameter 命令显示初始化参数 control_files 的设置信息

show parameter control_files;

此外,可以通过查询与控制文件相关的一系列动态性能视图获取相关信息,这些视图包括

  1. v $ controlfile:包含所有控制文件基本信息
  2. v $ controlfile_record_section:包含控制文件的各个记录文档段的信息
  3. V $ parameter:包含系统所有初始化参数,从中可以查询参数 control_files 的值
发布了19 篇原创文章 · 获赞 7 · 访问量 5938

猜你喜欢

转载自blog.csdn.net/CSDN_handsome/article/details/103473645
今日推荐