ORACLE控制文件的管理和维护

2022-10-29 12:22:47
内容摘要
控制文件是一个二进制文件记录database结构信息。系统启动到mount状态下会读control file。如果控制文件所在的磁盘损坏,相关联的实例将关闭,可以用备份的控制文件
文章正文

控制文件是一个二进制文件记录database结构信息。

  系统启动到mount状态下会读control file。

  如果控制文件所在的磁盘损坏,相关联的实例将关闭,可以用备份的控制文件启动。

  ####创建初始的控制文件

  数据库创建时控制文件的名字由初始化参数control_files指定,control_file指定的文件名必须包含路径和文件名。

  control_file =(d:\oracle\oradata\xq\control01.ctl,d:\oracle\oradata\xq\control02.ctl,d:\oracle\oradata\xq\control03.ctl)

  创建数据库时如果指定的文件已存在,就必须在create database 语句中指定reuse子句重用已存在的控制文件,否则不允许创建数据库。另外,如果旧控制文件的size参数与新的控制文件不同,则不能使用reuse子句。不同oracle版本之间控制文件的大小各不相同。

  ####创建新的控制文件

  SQL>alter system set control_files='d:\oracle\oradata\xq\control01.ctl',    新加一个control04的控制文件

  d:\oracle\oradata\xq\control02.ctl,

  d:\oracle\oradata\xq\control03.ctl,

  d: \oracle\oradata\xq\control04.ctl scope=spfile

  然后复制一个control文件改名为control04.ctl

  init.ora

  (1)先停止数据库

  (2)修改init.ora文件在control_files参数上加入control.ora控制文件路径

  (3)重起SQL>startup pfile=d:\oracle\ora90\database\initxq.ora

  ####删除控制文件

  删除后控制文件至少应该留两个控制文件,否则不允许删除

  (1)关闭数据库

  (2)删除初始化参数control_files对应的控制文件行

  ####备份控制文件

  可以在运行时备份

  (1)SQL>alter database backup controlfile to 'd:\control.bak';

  (2)SQL>alter database backup controlfile to trace ; 翻译成创建控制文件的脚本

  保存在d:\oracle\admin\xq\udump\下

  SQL>show parameter user_dump;查看

  ####OMF

  在omf中db_create_online_log_dest_n 可以指定创建控制文件的位置

  ####查询控制文件信息

  SQL>V$CONTROLFILE 列出数据库中控制文件的名字以及控制文件的状态

  SQL>select value from v$parameter where ; 查询当前初始参数的文件值

  SQL>v$controlfile_record_section 可以查询出控制文件的记录类型、大小、使用的记录数以及第一个和最后一个记录的索引位置等。

控制文件是一个二进制文件记录database结构信息。

  系统启动到mount状态下会读control file。

  如果控制文件所在的磁盘损坏,相关联的实例将关闭,可以用备份的控制文件启动。

  ####创建初始的控制文件

  数据库创建时控制文件的名字由初始化参数control_files指定,control_file指定的文件名必须包含路径和文件名。

  control_file =(d:\oracle\oradata\xq\control01.ctl,d:\oracle\oradata\xq\control02.ctl,d:\oracle\oradata\xq\control03.ctl)

  创建数据库时如果指定的文件已存在,就必须在create database 语句中指定reuse子句重用已存在的控制文件,否则不允许创建数据库。另外,如果旧控制文件的size参数与新的控制文件不同,则不能使用reuse子句。不同oracle版本之间控制文件的大小各不相同。

  ####创建新的控制文件

  SQL>alter system set control_files='d:\oracle\oradata\xq\control01.ctl',    新加一个control04的控制文件

  d:\oracle\oradata\xq\control02.ctl,

  d:\oracle\oradata\xq\control03.ctl,

  d: \oracle\oradata\xq\control04.ctl scope=spfile

  然后复制一个control文件改名为control04.ctl

  init.ora

  (1)先停止数据库

  (2)修改init.ora文件在control_files参数上加入control.ora控制文件路径

  (3)重起SQL>startup pfile=d:\oracle\ora90\database\initxq.ora

  ####删除控制文件

  删除后控制文件至少应该留两个控制文件,否则不允许删除

  (1)关闭数据库

  (2)删除初始化参数control_files对应的控制文件行

  ####备份控制文件

  可以在运行时备份

  (1)SQL>alter database backup controlfile to 'd:\control.bak';

  (2)SQL>alter database backup controlfile to trace ; 翻译成创建控制文件的脚本

  保存在d:\oracle\admin\xq\udump\下

  SQL>show parameter user_dump;查看

  ####OMF

  在omf中db_create_online_log_dest_n 可以指定创建控制文件的位置

  ####查询控制文件信息

  SQL>V$CONTROLFILE 列出数据库中控制文件的名字以及控制文件的状态

  SQL>select value from v$parameter where ; 查询当前初始参数的文件值

  SQL>v$controlfile_record_section 可以查询出控制文件的记录类型、大小、使用的记录数以及第一个和最后一个记录的索引位置等。


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!