oracle之二控制文件
控制文件
3.1 控制文件的功能和特点:
1)定义数据库当前物理状态,不断在往controlfile写入[SCN等]
2)维护数据的一致性
3)是一个二进制文件
4)在mount阶段被读取
5)记录RMAN备份的元数据[账本]
查看database控制文件位置:
19:02:27 SQL> show parameter control_file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/oradata/timran11g/control01.
ctl, /u01/oradata/timran11g/contr
ol02.ctl, /u01/oradata/timran11g/
control03.ctl
19:02:42 SQL> select name from v$controlfile;
NAME
---------------------------------------------------------------------------------------------------
/u01/oradata/timran11g/control01.ctl
/u01/oradata/timran11g/control02.ctl
/u01/oradata/timran11g/control03.ctl
desc v$controlfile_record_section控制文件详细信息
3.2 控制文件多元化
1)配置多个control_files,控制文件最好有三个,是相互镜像的(shutdown下cp命令复制即可),然后修改spfile中的control_files参数,Oracle建议分配在不同的物理磁盘上。
*考点:最多可以有8个control files多路复用。
19:10:25 SQL> alter system set control_files='/u01/oradata/timran11g/control01.ctl','/u01/disk1/control02.ctl','/u01/disk1/control03.ctl' scope=spfile;
System altered.
2)三个control文件要一致(同一版本,scn相同),本来就是镜像关系
-rw-r----- 1 oracle oinstall 7356416 07-16 20:00 control01.ctl
-rw-r----- 1 oracle oinstall 7356416 07-16 20:01 control02.ctl
-rw-r----- 1 oracle oinstall 7356416 07-16 20:01 control03.ctl
3)控制文件查看:v$controlfile 、show parameter controlfile、 v$parameter
3.3 控制文件的重建与备份
1)trace 文件: 可以在mount或open模式下生成一个脚本,用于控制文件重建。
19:59:24 SQL> alter database backup controlfile to trace; //生成的trace 文件在udump的最新trc文件里
或者 SQL> alter database backup controlfile to trace as '/u01/con.trace'; //存到自己起的文件名里。
2)binary 文件:控制文件的备份
20:00:20 SQL> alter database backup controlfile to '/u01/oradata/timran11g/con.bak';
3.4 控制文件手工恢复
控制文件一但损坏,系统将崩溃或死机。
1)单个文件损坏了:数据库关闭,使用操作系统命令复制其副本到指定的位置。
2)所有的控制文件丢失,(正常关闭,shutdown immediate后删除控制文件)
假设控制文件的备份也没有,利用前面做的trace文件重新生成控制文件
在nomount 状态下执行trace脚本
15:37:16 SQL> startup force nomount
ORACLE instance started.
SQL>
CREATE CONTROLFILE REUSE DATABASE "TIMRAN11" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/oradata/timran11g/redo01.log' SIZE 50M,
GROUP 2 '/u01/oradata/timran11g/redo02.log' SIZE 50M,
GROUP 3 '/u01/oradata/timran11g/redo03.log' SIZE 50M
DATAFILE
'/u01/oradata/timran11g/system01.dbf',
'/u01/oradata/timran11g/sysaux01.dbf',
'/u01/oradata/timran11g/user01.dbf',
'/u01/oradata/timran11g/example01.dbf',
'/u01/oradata/timran11g/test01.dbf',
'/u01/oradata/timran11g/undotbs01.dbf'
CHARACTER SET ZHS16GBK
;
可以看到执行后三个控制文件又重新建立了。
说明:这个重建控制文件的过程主要有两大部分内容:
第一部分是脚本中的可见信息:1)定义了几个参数的最大值,2)在线日志的物理信息,3)数据文件的物理信息,4)使用的字符集。
第二部分是隐含的不可见信息,比如SCN信息,重建最关键的是将当前所有数据文件头部的最新SCN信息复制到了控制文件中。以便接下来打开数据库。
SQL> select file#,checkpoint_change# from v$datafile; //从控制文件读出
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 5629150
2 5629150
3 5629150
4 5629150
5 5629150
6 5629150
SQL> select file#,checkpoint_change# from v$datafile_header; //从数据文件读出
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 5629150
2 5629150
3 5629150
4 5629150
5 5629150
6 5629150
15:39:49 SQL> alter database open;
2)利用控制文件备份(手动备份或RMAN备份都可以)恢复控制文件。(有点复杂,留在053备份恢复中再介绍吧)
3)控制文件恢复后里面的记录会丢失,如归档的记录等[SQL> select name from v$archived_log;]
oerr ora 错误号 查看错误
oracle之二控制文件的更多相关文章
- Oracle控制文件多路复用以及Oracle备份重建控制文件
控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...
- 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 ...
- Oracle体系结构之控制文件的多路复用技术
在Windows操作系统中,如果注册表文件被损坏了,就会影响操作系统的稳定性.严重的话,会导致操作系统无法正常启动.而控制文件对于Oracle数据库来说,其作用就好象是注册表一样的重要.如果控制文件出 ...
- Oracle基础 06 控制文件 controlfile
--查看控制文件路径 show parameter control_files; --控制文件的备份,三种方式1)使用OS命令进行拷贝:1)open状态下,使用alter database命令生成控制 ...
- 【Oracle】RAC控制文件多路复用
1.—关闭数据库,各个节点都要关闭: [oracle@rac1 ~]$ srvctl stop database -d racdb -o immediate 2.—启动任一节点到nomount状态: ...
随机推荐
- LeetCode 873. 最长的斐波那契子序列的长度 题目详解
题目详情 如果序列 X_1, X_2, ..., X_n 满足下列条件,就说它是 斐波那契式 的: n >= 3 对于所有 i + 2 <= n,都有 X_i + X_{i+1} = X_ ...
- 蒲公英 · JELLY技术周刊 Vol.17: 90 行代码实现 React Hooks
蒲公英 · JELLY技术周刊 Vol.17 React Hooks 相信大家都不陌生,自被设计出以来就备受好评,在很多场景中都有极高的使用率,其中原理更是很多大厂面试中的必考题,很多朋友都能够如数家 ...
- clients-producer-网络处理与请求响应对接部分
- Netty多协议开发
HTTP协议开发 post与get的区别 1)get用于信息获取,post用于更新资源. 2)get数据放在请求行中,post数据放在请求体内. 3)get对数据长度有限制(2083字节),post没 ...
- 实战开发,使用 Spring Session 与 Spring security 完成网站登录改造!!
上次小黑在文章中介绍了四种分布式一致性 Session 的实现方式,在这四种中最常用的就是后端集中存储方案,这样即使 web 应用重启或者扩容,Session 都没有丢失的风险. 今天我们就使用这种方 ...
- 深入了解Promise对象,写出优雅的回调代码,告别回调地狱
深入浅出了解Promise 引言 正文 一.Promise简介 二.Promise的三种状态 三.函数then( ) 四.函数catch( ) 五.函数finally( ) 六.函数all( ) 七. ...
- TCP协议中的三次握手和四次挥手(图解)-转
转自:http://blog.csdn.net/whuslei/article/details/6667471/ 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看 ...
- Azure Kubernetes Service 入门
一,引言 上一节,我们使用Azure CLI 创建了Azure Resource Group 和 Azure Container Registry 资源,并且将本地的一个叫 “k8s.net.demo ...
- 数组的三种方式总结 多维数组的遍历 Arrays类的常用方法总结
一.数组的三种声明方式总结 public class WhatEver { public static void main(String[] args) { //第一种 例: String[] tes ...
- 你竟然不知道Java中可以用 :: 吗?
简介 Java8中方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式 静态方法引用,通过类名::静态方法名, 如 Integer::parseInt 实例方 ...