Oracle体系结构之控制文件的多路复用技术
在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体系结构之控制文件的多路复用技术的更多相关文章
- 【Oracle】RAC控制文件多路复用
1.—关闭数据库,各个节点都要关闭: [oracle@rac1 ~]$ srvctl stop database -d racdb -o immediate 2.—启动任一节点到nomount状态: ...
- Oracle控制文件多路复用以及Oracle备份重建控制文件
控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...
- Oracle体系结构之控制文件管理
控制文件作用:记录了数据库的结构和行为,有多少个数据文件,日志文件及其位置名称,状态,维护数据库的一致性,即记录了数据库的启动SCN号和终止SCN号. 控制文件的位置和个数记录在参数文件中,通常控制文 ...
- oracle之二控制文件
控制文件 3.1 控制文件的功能和特点: 1)定义数据库当前物理状态,不断在往controlfile写入[SCN等] 2)维护数据的一致性 3)是一个二进制文件 ...
- oracle通过修改控制文件scn推进数据库scn
数据库当前scn 代码如下 复制代码 idle> select checkpoint_change# from v$database; CHECKPOINT_CHANGE#----------- ...
- Oracle RMAN 恢复控制文件到指定的路径
Oracle 数据库通过RMAN恢复控制文件到指定的路径 --------------------------------------------------------- 先查询备份集信息,再指定备 ...
- oracle 11g 添加控制文件
OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...
- Oracle中从控制文件读取的视图
Oracle中有一些数据字典视图需从控制文件中读取信息,如下所示.用户在数据库打开之前就可以访问这些视图,因为这些视图的内容存储在控制文件中. v$archived_log:归档日志信息,如大小,SC ...
- 【ORACLE】重写控制文件
[oracle@rac01 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 15 23:45:02 ...
随机推荐
- 利用BurpSuite实现半自动化盲注
为了方便演示,这里直接使用字符,构造SQL Payload: ?id= and substring(user(),,)='r' 1.使用Burp抓包,发送到Intruder,设置模式和变量 2.设置字 ...
- jq判断滚动条向上还是向下
$(document).ready(function(){ ,t=; $(window).scroll(function(e){ p = $(this).scrollTop(); if(t<=p ...
- vc 使用ShellExecut来启动控制面板中功能模块的操作
文件夹,文件,网址可以创建快捷方式,控制面板 中的设置也可以创建快捷方式,下面是快捷方式的命令,使用方法:在桌面或文件夹的空白处点右键,选择新建,快捷方式,在“请键入项目的位置”输入下面的命 令,然后 ...
- LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
解决方法 属性=>配置属性=>输入=>忽略特定库LIBCMT
- codeforces水题100道 第十八题 Codeforces Round #289 (Div. 2, ACM ICPC Rules) A. Maximum in Table (brute force)
题目链接:http://www.codeforces.com/problemset/problem/509/A题意:f[i][1]=f[1][i]=1,f[i][j]=f[i-1][j]+f[i][j ...
- 转:git windows中文目录乱码问题解决
Git的Windows版本Msysgit对中文的支持不够好 当使用时,会出现以下三种情况的中文乱码: 1.ls不能显示中文目录 解决办法:在git/git-completion.bash中增加一行: ...
- JAVA知多少
读<java解惑>感觉有意思的就记录一下. 1.判断奇数还是偶数 public boolean isOdd(int i){ return i%2==1; }; 这样子看起来很对,但是考虑到 ...
- 【CSS系列】网页头部进度条方式一
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JS案例 - 基于vue的移动端长按手势
================================惯例碎碎念前言================================ 当时首先想到要做长按事件的时候,我想到的是vue内部的自 ...
- u-boot.lds文件简介
可执行文件由许多链接在一起的对象文件组成.对象文件有许多节,如文本.数据.init 数据.bss等.这些对象文件都是由一个称为 链接器脚本(*lds)的文件链接并装入的.这个链接器脚本的功能是将输入对 ...