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

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

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

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

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

 

1、init.ora初始化文件多路复用控制文件

2、spfile多路复用控制文件(所有过程由sys用户操作)

1)修改control_files参数:

语法:alter system set control_files=‘控制文件路径1’,

‘控制文件路径2’,.......,

‘控制文件路径n’ scope=spfile;

2)关闭数据库:shutdown immediately;

3)进行文件拷贝(必须在数据库关闭下复制文件,并且需要DOS命令复制,不能手工复制):

语法:copy 文件1,文件2;

4)打开数据库:startup;

5)用select name from v$controlfile;查询控制文件信息。

Oracle体系结构之控制文件的多路复用技术的更多相关文章

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

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

  2. Oracle控制文件多路复用以及Oracle备份重建控制文件

    控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...

  3. Oracle体系结构之控制文件管理

    控制文件作用:记录了数据库的结构和行为,有多少个数据文件,日志文件及其位置名称,状态,维护数据库的一致性,即记录了数据库的启动SCN号和终止SCN号. 控制文件的位置和个数记录在参数文件中,通常控制文 ...

  4. oracle之二控制文件

    控制文件 3.1 控制文件的功能和特点:       1)定义数据库当前物理状态,不断在往controlfile写入[SCN等]       2)维护数据的一致性       3)是一个二进制文件   ...

  5. oracle通过修改控制文件scn推进数据库scn

    数据库当前scn 代码如下 复制代码 idle> select checkpoint_change# from v$database; CHECKPOINT_CHANGE#----------- ...

  6. Oracle RMAN 恢复控制文件到指定的路径

    Oracle 数据库通过RMAN恢复控制文件到指定的路径 --------------------------------------------------------- 先查询备份集信息,再指定备 ...

  7. oracle 11g 添加控制文件

    OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...

  8. Oracle中从控制文件读取的视图

    Oracle中有一些数据字典视图需从控制文件中读取信息,如下所示.用户在数据库打开之前就可以访问这些视图,因为这些视图的内容存储在控制文件中. v$archived_log:归档日志信息,如大小,SC ...

  9. 【ORACLE】重写控制文件

    [oracle@rac01 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 15 23:45:02 ...

随机推荐

  1. Dubbo -- 系统学习 笔记 -- 示例 -- 结果缓存

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 结果缓存 结果缓存,用于加速热门数据的访问速度,Dubbo提供声明式缓存,以减少用 ...

  2. 【数据分析】Superset 之四 直接安装

    apt install python-pip pip install --upgrade pip apt-get install build-essential libssl-dev libffi-d ...

  3. 2. Oracle体系结构

    一. Oracle体系结构图 体系结构图如下: 体系结构图看似简单:其中很有玄机.它对Oracle来讲:相当于武功中的心法.配合体系结构来学Oracle:能起到事半功倍的效果.我们平时遇到Oracle ...

  4. Oracle sqlldr导入之“MAXIMUM ERROR COUNT EXCEEDED”

    昨天看到一个同事在通过PL/SQL Developer工具把文本数据往oracle表;有两个文本:一个有30万条记录:一个7万多条记录.在导入到过程中:出现错误记录还需要点击确认.不过使用黑科技(屏幕 ...

  5. RF实现多次失败重跑结果合并的基础方法和优化方法

    实现思路:通过分次执行失败案例重跑,然后通过结果文件合并命令实现多次失败重跑结果文件的合并,并输出合并后的log和report文件: 说明:具体失败案例重跑命令和结果文件合并命令请参考本博客其他相关章 ...

  6. java-使用SImpleDateFormat格式化时间输出

    之前有篇博客是使用NSDateFormatter来对时间进行格式化输出,但使用起来有点繁琐,今天介绍下最近刚刚使用的SimpleDateFormat. public class SimpleDateF ...

  7. 微信小程序连续动画

    <view animation="{{animationData}}" style="background:red;height:100rpx;width:100r ...

  8. Tomcat的目录结构和配置文件详解

    本文转载: https://www.zybuluo.com/1234567890/note/515235 参考帖子: Tomcat(一):基础配置详解 Tomcat服务器中配置多个域名,访问不同的we ...

  9. google v8引擎常见问题

    最近在项目中使用v8来进行扩展,下面简单说一下使用v8过程中遇到的一些问题.   v8的多线程调用 最初调研v8的测试代码是单线程的,后来一个项目在多线程中使用,出现了一些问题,后来看到参考3中的才恍 ...

  10. 重建索引:ALTER INDEX..REBUILD ONLINE vs ALTER INDEX..REBUILD

    什么时候需要重建索引 1. 删除的空间没有重用,导致 索引出现碎片 2. 删除大量的表数据后,空间没有重用,导致 索引"虚高" 3.索引的 clustering_facto 和表不 ...