Oracle中的控制文件

Oracle中的控制文件(control file)


本文主要介绍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
————————————————
版权声明:本文为CSDN博主「匿_名_用_户」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qingsong3333/article/details/79461789

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值