在Windows操作系统中,如果注册表文件被损坏了,就会影响操作系统的稳定性。严重的话,会导致操作系统无法正常启动。而控制文件对于Oracle数据库来说,其作用就好象是注册表一样的重要。如果控制文件出现了意外的损坏,那么此时Oracle数据库系统很可能无法正常启动。为此作为Oracle数据库管理员,务必要保证控制文件的安全。

  在实际工作中,数据库管理员可以通过备份控制文件来提高控制文件的安全性。但是笔者认为这是下下之策。因为当控制文件出现损坏时,通过备份文件来恢复的话,会出现数据库在一段时间内的停机。为此笔者建议各位数据库管理员最好还是采用多路复用来保障控制文件的安全。在采用多路复用的情况下,当某个控制文件出现损坏时,系统会自动启用另外一个没有问题的控制文件来启动数据库。所以说不会出现停机的状况。

一、控制文件多路复用的特点。

  多路复用的原理其实很简单,就是在数据库服务器上将控制文件存放在多个磁盘分区或者多块硬盘上。数据库系统在需要更新控制文件的时候,就会自动同时更新多个控制文件。如此的话,当其中一个控制文件出现损坏时,系统会自动启用另外的控制文件。只有当数据库管理员运气比较背的时候,即所有控制文件都出现损坏,此时数据库就无法正常启动了。不过只要将控制文件多路复用在多块硬盘上,一般来说控制文件一起损坏的纪律很小。所以采用多路复用控制文件可以在很大程度上提高控制文件的安全性。最重要的是,在控制文件转换的过程之中,不会有停机现象的产生。

  所以通过把控制文件存放在不同的硬盘上,数据库管理员就能够避免数据库出现单点故障的风险。当采用多路复用技术启用多个控制文件时,数据库在更新控制文件时会同时更新这些控制文件。虽然有时候这可能会让数据库对控制文件的修改花费更多的时间,但是相对于风险来说,这点时间上的投资还是值得的。再说只要硬盘的性能比较好,那么这个时间的影响是很少的,甚至可以忽略不计。不过在采用多路复用的时候,最好不要将控制文件防止在网络上的服务器中。有时候如果系统在更新控制文件时刚好碰到网络性能不好甚至网络中断的情况下,那么这个控制文件的更新就需要耗用比较长的时间。如在Windows操作系统下安装Oracle数据库的话,其默认情况下就启用了多路复用技术。不过这个多路复用技术不怎么合理。其将其余的两个控制文件副本保存在同一个分区的同一个目录下。万一这台服务器的硬盘出现了故障,由于控制文件保存在同一个硬盘中,为此多路复用就失去了意义。为此最好将控制文件保存在不同的硬盘中,以提高控制文件的安全性。

演示多路复用:

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/home/oracle/app/oradata/orcl/control01.ctl
/u01/fast_recovery_area/orcl/control02.ctl

SQL> alter system set control_files='/home/oracle/app/oradata/orcl/control01.ctl','/u01/fast_recovery_area/orcl/control02.ctl','/u01/control03.ctl' scope=spfile;                                                                                        System altered.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> ho cp /home/oracle/app/oradata/orcl/control01.ctl /u01/control03.ctl;

SQL> startup;
ORACLE instance started.

Total System Global Area 584568832 bytes
Fixed Size 2290992 bytes
Variable Size 461376208 bytes
Database Buffers 117440512 bytes
Redo Buffers 3461120 bytes
Database mounted.
Database opened.

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/home/oracle/app/oradata/orcl/control01.ctl
/u01/fast_recovery_area/orcl/control02.ctl
/u01/control03.ctl

控制文件的多路复用技术相关推荐

  1. Oracle体系结构之控制文件的多路复用技术

    在Windows操作系统中,如果注册表文件被损坏了,就会影响操作系统的稳定性.严重的话,会导致操作系统无法正常启动.而控制文件对于Oracle数据库来说,其作用就好象是注册表一样的重要.如果控制文件出 ...

  2. 重做日志和控制文件的多路复用

    控制文件的多路复用问题 如果是spfile 1 要添加一个control04.ctl 那么做一下修改 alter system set control_files = '/data1/control0 ...

  3. 【技术分享】Oracle控制文件的备份、恢复以及多路复用

                       Oracle控制文件的备份.恢复以及多路复用 前言      今天Frank给大家带来有关Oracle控制文件的技术分享.不积跬步无以至千里,不积小流无以成江海. ...

  4. 控制文件的备份与还原

    控制文件的备份与还原 本人是一名在校大三学生,刚入门Oracle数据库,有什么地方写的不对的,在这里,希望访问的IT同行给出建议评论,谢谢 控制文件是ORACLE数据库最重要的物理文件之一,每个ora ...

  5. 【Oracle】RAC中控制文件多路复用

    1.-关闭数据库,各个节点都要关闭: [oracle@rac1 ~]$ srvctl stop database -d racdb -o immediate 2.-启动任一节点到nomount状态: ...

  6. oracle重建控制文件流程,ORACLE之重建控制文件

    当这些信息更改或者变动时,oracle数据库会自动把最新信息更新到controlfile文件里面. 启动数据库时,Oracle从初始化参数文件(pfile/spfile)中获得控制文件的名字及位置,打 ...

  7. 复用Oracle数据文件,Oracle控制文件的备份、恢复以及多路复用

    前言 今天给大家带来有关Oracle控制文件的技术分享.不积跬步无以至千里,不积小流无以成江海.Oracle技术博大精深,以我一个人的力量,那无异于蜉蝣于天地,沧海之一粟.在此,笔者抛砖引玉,希望读者 ...

  8. oracle控制文件的复用,ORACLE 10g ASM 控制文件多路复用

    1> 检查数据库,查看控制文件存放路径 SQL> startup ORACLE instance started. Total System Global Area  230686720 ...

  9. python epoll多路复用技术_python:多路复用+零拷贝

    作为通信模块目前比较热的2个词:零拷贝,多路复用,都是性能提升较多的词,发送方利用零拷贝技术减少内存拷贝的时空开销,提升性能,接收方利用I/O多路复用技术,加速数据接受. 零拷贝 一种高效的数据传输机 ...

最新文章

  1. [转载]签名、加密、证书的基本原理和理解
  2. 前端学习(2929):vue改变多个样式的组合
  3. tensorflow:双线性插值反卷积
  4. ibm nvidia 超级计算机,IBM,Nvidia和美国能源部组成一个超级计算机超级团队
  5. 罗马音平假名片假名转换器_零基础日语萌新该如何学习五十音?
  6. python中文意思-请问在python中**是啥什么意思?
  7. 针对不同手机终端扫码安装对应环境APP
  8. java day25【Junit单元测试 、反射 、 注解】
  9. JAVA 中一个非常轻量级只有 200k 左右的 RESTful 路由框架
  10. vivo手机刷鸿蒙教程,vivo手机怎么刷机_vivo手机刷机全教程
  11. Vue的axios封装
  12. 自制网站服务器主机,自制服务器主机迷你
  13. 安装win10系统时,创建用户页面卡死
  14. Web基础技术开发设计规范
  15. html5的class属性值,HTML class 属性 | 菜鸟教程
  16. MS7024-数字编解码/TV编码器
  17. Hive中的in、exists和left semi join
  18. Smartbi V10.5新版本正式发布
  19. python程序员可以从哪些平台接单赚钱?看完我给你介绍的这几个平台,没学过python的你也能边学习边赚钱
  20. vue3+ts+ant-table横向表格数据实现对单元格过滤之后的数据进行标红

热门文章

  1. iOS 绘制圆角矩形
  2. Abp mysql guid_.NET生成多数据库有序Guid
  3. javascript : 点击按钮,把某标签中的内容复制到剪贴板
  4. AutoMapper 入门
  5. MySQL中INSERT INTO SELECT的使用
  6. hdfs/hbase 程序利用Kerberos认证超过ticket_lifetime期限后异常
  7. python3.7.2 pip 出现locations that require TLS/SSL异常处理方法
  8. 解决iscroll.js上拉下拉刷新手指划出屏幕页面无法回弹问题
  9. 怎样解决VMware虚拟机无法连接外网问题
  10. 由于SSH配置文件的不匹配,导致的Permission denied (publickey)及其解决方法