跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

Oracle 控制文件认知

3. 控制文件在打开状态下能够写入。如果不能写入控制文件,则数据库不能被挂载和不能恢复。4. 控制文件会在创建数据库时同时创建1. 控制文件: 一个记录数据库物理结构的二进制文件。

2. 控制文件主要包含:

数据库名(DB_NAME)

数据文件名,与位置, REDOLOG文件名与位置数据库创建时间当前日志SCN CHECKPOINT号3. 控制文件在打开状态下能够写入。如果不能写入控制文件,,则数据库不能被挂载和不能恢复。

4. 控制文件会在创建数据库时同时创建。 Oracle建议COPY两份或者多份,在不同的磁盘上。 以防丢失。

5. 可以在参数文件中设置CONTROL_FILES的位置。如果没有设置:如果没有启用OMF, 数据库创建的控制文件将使用系统指定的名字命名。

如果启用OMF, 在参数文件中开启这个特性,由OMF来定义控制文件名字和位置。

如果使用ASM,由初始化参数DB_CREATE_FILE_DEST和DB_RECOVERY_FILE_DEST参数设定。

6.在以下情况时需要备份控制文件:

创建,删除,或重命名数据文件时。

创建,删除表空间,或更改表空间为READ/WRITE 状态。

创建,删除REDO LOG或者日志组。

7. creating additional copies, renaming, and relocating controlfiles shutdown the database.

使用操作系统命令复制已存在的控制文件到新的位置。

修改CONTROLE_FILES 参数,增加新控制文件名,或者改变已存大的控制文件名。

重新启动数据库。

8. 创建控制文件

(1)查询数据文件和REDO文件。

select member from v$logfile;select name from v$datafile;(2) 关闭数据库。

(3) 备份所有数据件各REDO LOGFILES。

(4) 启动数据库到NOMOUNT状态。

(5) CREATE NEW CONTROLFILE.

CREATE CONTROLFILE SET DATABASE prod LOGFILE GROUP 1 ('/u01/oracle/prod/redo01_01.log','/u01/oracle/prod/redo01_02.log'),GROUP 2 ('/u01/oracle/prod/redo02_01.log','/u01/oracle/prod/redo02_02.log'),GROUP 3 ('/u01/oracle/prod/redo03_01.log','/u01/oracle/prod/redo03_02.log') RESETLOGS DATAFILE '/u01/oracle/prod/system01.dbf' SIZE 3M,'/u01/oracle/prod/rbs01.dbs' SIZE 5M,'/u01/oracle/prod/users01.dbs' SIZE 5M,'/u01/oracle/prod/temp01.dbs' SIZE 5M MAXLOGFILES 50 MAXLOGMEMBERS 3 MAXLOGHISTORY 400 MAXDATAFILES 200 MAXINSTANCES 6 ARCHIVELOG;(6) 打开数据库。

alter database open resetlogs;9. 当查询数据文件为MISSINGnnnn时, 此数据文件为只读或者以OFFLINE关闭掉了, 不能以重命名的方式来解决问题, 而应使用介技恢复, 最后以RESETLOGS方式打开数据库。

10. 控制文件备份方法。

(1) alter database backup controlfile to '/home/oracle/control.bkp';(2) alter database backup controlfile to trace;   此文件可以以普通文本打开。

11. 利用COPY方式还原控制文件, 当单个控制文件损坏时可以利用以下方法解决。

cp control01.tl control02.tl;startup;

12. 移动控制文件。

cp olde_location new_loction;修改初始化参数: CONTROL_FILES启动数据库。

13. 删除控制文件。

关闭数据库。

修改参数文件,去掉所要删除的控制文件。

启动数据库。

14. 数据库相关视图。

v$database  显示数据库信息。

v$controlfile 可查询控制文件名字。

v$controlfile_reord_section 可查询控制文件所记录信息。

v$parameter 可显示控制文件位置从参数文件里(CONTROL_FILES)参数

相关文章