当前位置:数据库 > Oracle >>

ORACLE控制文件的管理

ORACLE控制文件的管理
 
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文件。
[sql] 
select member from v$logfile;  
select name from v$datafile;  
 
(2) 关闭数据库。
(3) 备份所有数据件各REDO LOGFILES。
(4) 启动数据库到NOMOUNT状态。
(5) CREATE NEW CONTROLFILE.
[sql] 
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) 打开数据库。
[sql] 
alter database open resetlogs;  
 
9. 当查询数据文件为MISSINGnnnn时, 此数据文件为只读或者以OFFLINE关闭掉了, 不能以重命名的方式来解决问题, 而应使用介技恢复, 最后以RESETLOGS方式打开数据库。
10. 控制文件备份方法。
[sql] 
(1) alter database backup controlfile to '/home/oracle/control.bkp';  
(2) alter database backup controlfile to trace;     
 
此文件可以以普通文本打开。
11. 利用COPY方式还原控制文件, 当单个控制文件损坏时可以利用以下方法解决。
[sql] 
cp control01.tl control02.tl;  
startup;  
 
12. 移动控制文件。
[sql] 
cp olde_location new_loction;  
 
修改初始化参数: CONTROL_FILES
启动数据库。
13. 删除控制文件。
关闭数据库。
修改参数文件,去掉所要删除的控制文件。
启动数据库。
 
14. 数据库相关视图。
v$database  显示数据库信息。
v$controlfile 可查询控制文件名字。
v$controlfile_reord_section 可查询控制文件所记录信息。
v$parameter 可显示控制文件位置从参数文件里(CONTROL_FILES)参数
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,