Heim  >  Artikel  >  Datenbank  >  Oracle 控制文件认知

Oracle 控制文件认知

WBOY
WBOYOriginal
2016-06-07 17:20:40939Durchsuche

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)参数

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn