[置顶] All about control file in Oracle Database
--数据库实例启动的三个阶段:
NOMOUNT(START):打开初始化参数文件
MOUNT:打开控制文件
OPEN:打开数据文件和日志文件
--控制文件
控制文件的作用:管理数据库的状态和描述数据库的物理结构信息。
控制文件主要包含如下信息:
数据库名
数据库标识符DBID
数据库创建时间戳
数据库字符集
数据文件信息
临时文件信息
在线重做日志信息
近期的归档日志信息
表空间信息
RMAN 信息库
检查点信息
损坏的数据块注册表
还原点信息
RESET_SCN
脏数据块的数量
-------------All about DBID
1. DBID 在数据库创建时自动生成
2. Oracle 不保证两个同名数据库DBID一定唯一
3. DBID 在数据库创建后永远不变,除非使用 $ORACLE_HOME/bin/nid 修改数据库名称时自动生成新的 DBID
4. 在未使用 FRA 时,通过控制文件的自动备份 restore 控制文件时,会遇到 ORA-06495 错误(在11R2尝试时未出现此错误)
5. DBID 和数据库名一样,不仅存在于控制文件,还存在于数据文件、日志文件头部,用于判断控制文件、数据文件和日志文件是否属于同一数据库
--获取数据库的 DBID
1. v$database.dbid
SQL> select dbid from v$database;
DBID
----------
2127893003
2.控制文件的自动备份文件名(前提是自动备份没有放在FRA上,FRA使用OMF管理方式不会显式地显示DBID信息)
[oracle@ora dbs]$ ls -lrt c*
-rw-r----- 1 oracle asmadmin 48005120 Oct 28 15:09 c-2127893003-20131028-00
--------------2127893003 即为 DBID
3.执行转储命令查看各种数据文件的文件头信息
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
1 1 1 10485760 512 2 NO CURRENT 459088 28-OCT-13 2.8147E+14
2 1 0 10485760 512 2 YES UNUSED 0 0
3 1 0 10485760 512 2 YES UNUSED 0 0
SQL> alter system dump logfile '+DATA/test/onlinelog/group_1.266.829746583';
System altered.
SQL> select value from v$diag_info where name='Default Trace File';
VALUE
------------------------------------------------------------
/u01/app/oracle/diag/rdbms/test/test/trace/test_ora_7538.trc
[oracle@ora dbs]$ grep -i 'db id' /u01/app/oracle/diag/rdbms/test/test/trace/test_ora_7538.trc
Db ID=2127893003=0x7ed5120b, Db Name='TEST'
4.如果使用了 catalog ,还可以在查询 catalog 数据库中的 DB 表
select * from catalog_user.DB;
-----------数据库物理信息
在数据库处于 mount 状态(datafile和logfile均未open)时,可以查询记录在控制文件中的相应动态视图获取数据库的物理结构
v$database
v$archive_log
v$datafile
v$tempfile
v$log
v$logfile
v$recover_file
-----------控制文件序列号
控制文件序列号用于判断控制文件是否过时的因素“之一”,在控制文件被更新后就会增长。控制文件的更新包括检查点信息更新,表空间的增删操作等。
控制文件序列号也存在于数据文件和日志文件,只不过它们是在自身的文件头被更新时从当时的控制文件复制而来。
控制文件的更新次数总是比数据文件和日志文件多,因为每当数据文件和日志文件头被更新时,控制文件都会复制其部分内容,同时控制文件
的某些操作比如增量检查点只会更新控制文件而不会更新日志文件盒数据文件。
查看 v$database 和 v$kcvfh 可以查看当前控制文件记录的控制文件序列号和各个数据文件头部所记录的控制文件序列号。
SQL> select CONTROLFILE_SEQUENCE# from v$database;
CONTROLFILE_SEQUENCE#
---------------------
1160
SQL> select hxfil as file#, fhcsq from x$kcvfh;
FILE# FHCSQ
---------- ----------
1 1128
2 1128
3 1128
4 1128
-----------控制文件检查点 SCN
控制文件检查点 SCN 也是判断控制文件是否过时的要素之一。检查点分为完全检查点和增量检查点,完全检查点会把 SCN 更新至数据文件头和控制文件中,
而增量检查点只会将SCN更新至控制文件。无论哪种检查点,其SCN在控制文件中都称为控制文件检查点SCN(有别于数据库检查点SCN)
select CONTROLFILE_CHANGE# from v$database;
CONTROLFILE_CHANGE#
-------------------
464297
每当控制文件发生变化(增删文件、日志切换、完全或增量检查点),控制文件检查点SCN的值都会上升。该SCN的值一定大于或等于 current redo log 的低位 SCN
同时,控制文件检查点 SCN 的值一定大于所有数据文件头部的检查点SCN号,否则该控制文件就会被认为过时,实例无法启动。
select controlfile_change# from v$database
union all
select first_change# from v$log where status = 'CURRENT';
CONTROLFILE_CHANGE#
-------------------
466258
465700
------------数据库检查点 SCN
控制文件中保存的数据库检查点SCN实际上市所有数据文件头中最小的检查点SCN。Oracle 根据该值与每个 redo 日志的高低为SCN一一比较,确定恢复数据文件时
所需的第一个 redo 或归档日志
v$database 中的 checkpoint_change# 和 v$datafile_header 中的 checkpoint_change# 应该一致
SQL> select checkpoint_change# from v$database
2 union all
3 select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
465700
465700
465700
465700
465700
------------online redo 的高低水位 SCN
SQL> select GROUP#,FIRST_CHANGE#,NEXT_CHANGE#,status from v$log;
GROUP# FIRST_CHANGE# NEXT_CHANGE# STATUS
---------- ------------- ------------ ----------------
1 459088 465700 INACTIVE
2 465700 2.8147E+14 CURRENT
3 0 0 UNUSED
FIRST_CHANGE#:低位SCN redo log 中的第一个 redo entry
NEXT_CHANGE#:高位SCN下一个日志文件中的第一个 redo entry
------------RMAN 信息库
RMAN 配置、闪回日志路径、重做日志历史、归档路径及属性、RMAN 备份集信息、RMAN image copy 信息、RMAN 备份集和RMAN IMAGE COPY 中损坏的数据块
数据文件坏块信息等
------------还原点信息
还原点主要通过 create restore point 命令创建,是SCN的别名,主要用于 flashback 技术
------------resetlog SCN
使用resetlog选项open数据块时的SCN值,也存在于数据文件和日志文件头部。每次打开数据库时都会检查他们是否一致
转载请注明作者出处及原文链接,否则将追究法律责任:
作者:xiangsir
原文链接:http://blog.csdn.net/xiangsir/article/details/13773629
QQ:444367417
MSN:xiangsir@hotmail.com
[置顶] All about control file in Oracle Database的更多相关文章
- [置顶] 如何使用c3p0+spring连接oracle数据库
1. 首先是jdbc.properties属性文件的编写,便于数据库移植: datasource.driverClassName=oracle.jdbc.driver.OracleDriver dat ...
- ORA-00214: control file 控制文件版本不一致
故障现象:今日学习oracle控制文件移动和修改,发现本机安装oracle数据库启动时只使用了一个控制文件.如下:SQL> select * from V$controlfile; STATUS ...
- 什么时候会刷新备库控制文件refresh the standby database control file?
通过合理的设置,对于Primary的绝大数操作,都是可以传递到Physical Standby,datafile的操作是通过STANDBY_FILE_MANAGEMENT参数来控制的,但是即使STAN ...
- ORACLE CONTROL FILE 笔记
控制文件包含的信息: 1.数据库的名字 2.联机重做日志文件和数据文件的名字和位置 3.数据库创建的时间戳 4.当前日志的序列号 5.检查点信息 6.备份信息 TIP:数据 ...
- [置顶] How to create Oracle 11g R2 database manually in ASM?
Step 1: Specify an Instance Identifier (SID) export ORACLE_SID=maomi Step 2: Ensure That the Require ...
- [置顶] 阅读Oracle官方文档指南
还在整理中.... EXPDP/IMPDP 相关文档:Utilities 2 Data Pump Export 3 Data Pump Import SQL*Loader 相关文档:Utilities ...
- [Oracle]数据库的Control File 取Dump后的样例
[Oracle]数据库的Control File 取Dump后的样例: 片段截取-------------------------------(size = 40, compat size = 40, ...
- 番外:Oracle 中关于 Control File 的备份说明
番外系列说明:该系列所有文章都将作为独立篇章进行知识点讲解,是对其他系列博文进行的补充说明,来自于博客园AskScuti. 主题:关于 Control File 控制文件备份的说明 内容预览:本篇涉及 ...
- [置顶] Oracle 11g R2 ASM:了解 Oracle ASM 基本概念
About Oracle ASM Instances About Oracle ASM Disk Groups About Mirroring and Failure Groups About Ora ...
随机推荐
- 异步模型(APM)的注意事项
一.在没有线程池的前提下使用APM APM可以让线程池在异步操作完成时调用指定的回调方法.它使用很少的资源,并提供了出色的性能,然而,APM 还允许通过另外三种方式发现异步操作在何时完成. 首先,如果 ...
- win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)
这篇文章主要介绍了win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装.优化.安全等),需要的朋友可以参考下 win2008 r2 安装 http://www ...
- URAL 1995 Illegal spices
构造. 前$n-k$个都是$1$,最后$k$个进行构造,首先选择填与上一个数字一样,如果不可行,那么这一格的值$+1$. #include<map> #include<set> ...
- Python并发编程-守护进程
守护进程 子进程转换为守护进程 主进程的代码结束,子进程的代码也应该接收, 这个事情有守护进程来做 守护进程会随着主进程的代码执行完毕而结束, 而不是随着主进程的接收而结束(子进程不一定结束) fro ...
- 洛谷——P2071 座位安排 seat.cpp/c/pas
P2071 座位安排 seat.cpp/c/pas 题目背景 公元二零一四年四月十七日,小明参加了省赛,在一路上,他遇到了许多问题,请你帮他解决. 题目描述 已知车上有N排座位,有N*2个人参加省赛, ...
- JSP文件管理后门工具jsp-file-browser
JSP文件管理后门工具jsp-file-browser 在网页后门中,快速浏览服务器文件非常重要.为此,Kali Linux新增了一款JSP后门工具jsp-file-browser.该工具提供所有 ...
- ubuntu16.04安装python3
今天用了下阿里云的云服务器,装个python3真是各种踩坑.记录下吧: ubuntu自带了2.7.想要装3.5并设置为默认python版本. 安装python3.5 sudo add-apt-repo ...
- BZOJ1002輪狀病毒 暴搜 + 找規律 + 高精度
@[暴搜, 找規律, 高精度] Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个\(n\)轮状基由圆环上\(n\)个不同的基原子和圆心处一个核原子构成的,2个 ...
- 记git升级版本之后出现fatal: NullReferenceException encountered问题
问题缘由 因为实习的时候,公司要求将Git升级到最新版本,然后我就升级了. 这里之前有一段小插曲: 因为最初下载Git的本地目录是中文目录,然后在webstorm里面配置Git的路径时最好是用英文的路 ...
- java开发_数字转换汉语中人民币的大写_完整版
做这个应用,源于突然的一个想法:看到发票上面的数字要转换成汉语中人民币的大写 于是就有了下面的这些事儿..... 先看看运行效果: ================================== ...