加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle中的控制文件(control file)

发布时间:2020-12-12 14:03:24 所属栏目:百科 来源:网络整理
导读:本文主要介绍Oracle中控制文件,目录如下: 1. 控制文件存放了哪些信息? 2. 控制文件的存放位置是什么? 3. Oracle什么时候读取控制文件? 4. 控制文件这么重要,能不能增加一个以防万一? 1. 控制文件存放了哪些信息? 数据库的名称、数据文件的名称和位置
本文主要介绍Oracle中控制文件,目录如下:

1. 控制文件存放了哪些信息?
2. 控制文件的存放位置是什么?
3. Oracle什么时候读取控制文件?
4. 控制文件这么重要,能不能增加一个以防万一?

1. 控制文件存放了哪些信息?

数据库的名称、数据文件的名称和位置、联机重做日志的名称和位置、当前联机重做日志的序列号、检查点、RMAN备份文件的名称和位置
例如,查看数据库的信息:
SQL> select name,open_mode,created,current_scn from v$database;

NAME OPEN_MODE CREATED CURRENT_SCN
--------- -------------------- --------- -----------
ORCL READ WRITE 12-FEB-18 1651963

2. 控制文件的存放位置是什么?

第一种方法就是grep命令查找spfile
[oracle@node01 dbs]$ grep -ia "control" $ORACLE_HOME/dbs/spfileorcl.ora
*.control_files='/home/oracle/app/oracle/oradata/orcl/control01.ctl','/home/oracle/app/oracle/oradata/orcl/control02.ctl'


还可以在sqlplus里通过show parameter control_files查看
SQL> show parameter control_files

NAME TYPE VALUE
------------------------------------ ----------- ---------------
control_files string /home/oracle/app/oracle/oradat
a/orcl/control01.ctl,/home/or
acle/app/oracle/oradata/orcl/c
ontrol02.ctl
SQL>

3. Oracle什么时候读取控制文件?

数据库启动的三个阶段:
startup nomount -> 这个阶段会打开并读取配置文件,从配置文件中获取控制文件的位置信息
alter database mount -> 这个阶段会打开并读取控制文件,从控制文件中获取数据文件和联机重做日志文件的位置信息
alter database open -> 这个阶段会打开数据文件和联机重做日志文件

4. 控制文件这么重要,能不能增加一个以防万一?

可以,目前看到上面有2个,我再增加一个,名子为 /home/oracle/app/oracle/oradata/orcl/control03.ctl,步骤如下:

4.1 确认在使用spfile

SQL> show parameter spfile
NAME TYPE VALUE
-------- ----------- ------------------------------
spfile string /home/oracle/app/oracle/product/
12.2.0/dbhome_1/dbs/spfileorcl.ora

4.2 修改control_files参数

SQL> alter system set control_files='/home/oracle/app/oracle/oradata/orcl/control01.ctl',

'/home/oracle/app/oracle/oradata/orcl/control02.ctl',

'/home/oracle/app/oracle/oradata/orcl/control03.ctl' scope=spfile;


System altered.

4.3 关闭数据库

SQL> shutdown immediate

4.4 复制控制文件(OS命令)

[oracle@node01 ~]$ cp /home/oracle/app/oracle/oradata/orcl/control01.ctl /home/oracle/app/oracle/oradata/orcl/control03.ctl


4.5 启动数据并验证

SQL> startup
SQL> show parameter control_files NAME TYPE VALUE --------------------- ----------- ------------------------------ control_files string /home/oracle/app/oracle/oradat a/orcl/control01.ctl,/home/or acle/app/oracle/oradata/orcl/c ontrol02.ctl,/home/oracle/app /oracle/oradata/orcl/control03 .ctl 参考资料: 《深入理解Oracle 12c数据库管理》

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读