Heim >Datenbank >MySQL-Tutorial >Oracle控制文件基本维护

Oracle控制文件基本维护

WBOY
WBOYOriginal
2016-06-07 16:46:35928Durchsuche

控制文件记录着数据库的重要信息,包括例如数据库标识(参数DB_NAME或者在使用CREATE DATABASE 语句创建时使用的名称)、数据文件和

控制文件记录着数据库的重要信息,包括例如数据库标识(参数DB_NAME或者在使用CREATE DATABASE 语句创建时使用的名称)、数据文件和重做日志文件的名称与位置、创建数据库的时间戳、添加或删除表空间信息、检查点信息、归档信息、备份信息等等,如果在打开的时候没有控制文件将会失败,如果在运行过程中控制文件出现异常那么数据库将立即崩溃,,由此可见控制文件是多么重要,控制文件只能有Oracle服务器来操作读写。控制文件建议做多路副本和备份。动态性能视图V$CONTROLFILE_RECORD_SECTION记录着控制文件包含的内容和信息,其他的一些性能视图比如V$DATAFILE、V$LOG等等将会从该视图获取必要的信息。
0. 如何增加一个控制文件
sys@ > column name format a50
sys@ > show parameter control

NAME                     TYPE     VALUE
------------------------------------ -------- ------------------------------
control_file_record_keep_time         integer  7
control_files                 string   /u01/oracle/9i/oradata/gt9i/co
                          ntrol01.ctl, /u01/oracle/9i/or
                          adata/gt9i/control02.ctl, /u01
                          /oracle/9i/oradata/gt9i/contro
                          l03.ctl
sys@ > select * from v$controlfile;

STATUS    NAME
------- --------------------------------------------------
    /u01/oracle/9i/oradata/gt9i/control01.ctl
    /u01/oracle/9i/oradata/gt9i/control02.ctl
    /u01/oracle/9i/oradata/gt9i/control03.ctl

sys@ > create pfile='/u01/oracle/gt9i.ora' from spfile;

File created.

sys@ > shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
然后通过操作系统命令复制一个现有的控制文件,修改pfile增加新的控制文件位置即可:
[oracle@ gt9i]$ ll control*
-rw-r-----  1 oracle oinstall 2023424  4月 11 15:06 control01.ctl
-rw-r-----  1 oracle oinstall 2023424  4月 11 15:06 control02.ctl
-rw-r-----  1 oracle oinstall 2023424  4月 11 15:06 control03.ctl
[oracle@ gt9i]$ cp control01.ctl controlTEST.ctl
[oracle@ gt9i]$ ll control*
-rw-r-----  1 oracle oinstall 2023424  4月 11 15:06 control01.ctl
-rw-r-----  1 oracle oinstall 2023424  4月 11 15:06 control02.ctl
-rw-r-----  1 oracle oinstall 2023424  4月 11 15:06 control03.ctl
-rw-r-----  1 oracle oinstall 2023424  4月 11 15:23 controlTEST.ctl
vi /u01/oracle/gt91.ora
修改控制文件配置成如下:
*.control_files='/u01/oracle/9i/oradata/gt9i/controlTEST.ctl','/u01/oracle/9i/oradata/gt9i/control01.ctl','/u01/oracle/9i/oradata/gt9i/control02.ctl','/u01/oracle/9i/oradata/gt9i/control03.ctl'
上述第1个就是我们刚刚添加的控制文件,现在可以使用pfile来打开数据库。
sys@ > startup pfile='/u01/oracle/gt9i.ora'
ORACLE instance started.

Total System Global Area  286752136 bytes
Fixed Size             740744 bytes
Variable Size          150994944 bytes
Database Buffers      134217728 bytes
Redo Buffers             798720 bytes
Database mounted.
Database opened.
sys@ > show parameter control

NAME                     TYPE     VALUE
------------------------------------ -------- ------------------------------
control_file_record_keep_time         integer  7
control_files                 string   /u01/oracle/9i/oradata/gt9i/co
                          ntrolTEST.ctl, /u01/oracle/9i/
                          oradata/gt9i/control01.ctl, /u
                          01/oracle/9i/oradata/gt9i/cont
                          rol02.ctl, /u01/oracle/9i/orad
                          ata/gt9i/control03.ctl
sys@ > select * from v$controlfile;

STATUS    NAME
------- --------------------------------------------------
    /u01/oracle/9i/oradata/gt9i/controlTEST.ctl
    /u01/oracle/9i/oradata/gt9i/control01.ctl
    /u01/oracle/9i/oradata/gt9i/control02.ctl
    /u01/oracle/9i/oradata/gt9i/control03.ctl
可以看到现在在用的控制文件有了4个。
1. 如何删除一个控制文件
增加控制文件的一个反转操作即可。略。
2. 如何备份控制文件
两种方式备份,备份为trace文本文件,可以使用文本编辑器打开直接编辑;或者备份为二进制文件。
sys@ > alter database backup controlfile to  trace as '/u01/oracle/gt9icontrol.trc';

Database altered.

sys@ > alter database backup controlfile to '/u01/oracle/gt9icontrol.ctl';

Database altered.

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