oracle控制文件都一样么,Oracle控制文件详解

一、Oracle控制文件

为二进制文件,初始化大小由CREATEDATABASE指定,可以使用RMAN备份

记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等

在参数文件中描述其位置,个数等等。通常采用分散放开,多路复用的原则。在mount阶段被读取,open阶段一直被使用

维护数据库一致性(数据库启动时会比较控制文件与联机日志文件中的ckpt,即起始scn号,如相等则正常启动,否则需要介质恢复)

一个控制文件只能属于一个数据库

控制文件的任意修改将写入到初始化参数中指定的所有控制文件中,读取时则仅读取第一个控制文件

控制文件只能连接一个数据库,控制文件的大小一般不要超过MB,最多为个,最少一个,互为镜像

控制文件中包含的内容

数据库的名字、ID、创建的时间戳

表空间的名字

联机日志文件、数据文件的位置、个数、名字

联机日志的Sequence号码

检查点的信息

撤销段的开始或结束

归档信息

备份信息

二、查看控制文件的相关信息

1.使用相关视图来查看

V$CONTROLFILE--列出实例中所有控制文件的名字及状态信息

V$PARAMETER--列出所有参数的位置及状态信息

V$CONTROLFILE_RECORD_SECTION--列出控制文件中记录的部分信息

SHOW PARAMETERCONTROL_FILES--列出控制文件的名字、状态、位置等

2.使用STRINGS命令来查看控制文件中的具体内容

3.备份控制文件到平面文件(然后查看控制文件中的具体内容)

sql>alterdatabasebackupcontrolfiletotraceas'/u01/app/oracle/ctl.txt';

Databasealtered.

4.转储控制文件内容(查看控制文件中的具体内容)

altersessionsetevents'immediatetrace name CONTROLF level 12';level表示级别

或--level1块头的内容--level2数据文件内容--levle10 |12所有内容

oradebug setmypid

oradebugdumpcontrolf12

sql>altersystemsetevents'immediatetrace name controlf level 10';

System altered.

sql>showparameter user_dump;

NAMETYPEVALUE

----------------------------------------------- ------------------------------

user_dump_deststring/u01/app/oracle/admin/orcl/udu

mp

三、控制文件的管理

规划原则:多路复用,建议存放到不同的磁盘或同一磁盘不同的分区

个数与位置及状态管理:

查看控制文件的状态是否与参数定义中的相吻合,当数据库发生结构修改时,将修改内容同时写入控制文件

备份管理

恢复管理

新建控制文件语句

spfile或pfile都可以实现对控制文件的个数及位置管理

spfile步骤

修改spfile参数中的control_files--alter system ... scope = spfile | both |memory

增加或减少控制文件(cpormv)

启动数据库使用spfile

验证结果

pfile步骤

修改pfile参数(vi或vim)修改*.control_files=......这一段

增加或减少控制文件(cpormv)

启动数据库使用pfile

验证结果

--演示spfile修改控制文件

sql>showparameter control_file

NAMETYPEVALUE

----------------------------------------------- ------------------------------

control_file_record_keep_timeinteger7

control_filesstring/u01/app/oracle/oradata/orcl/c

ontrol01.ctl,/u01/app/oracle/

oradata/orcl/control02.ctl,/u

01/app/oracle/oradata/orcl/con

trol03.ctl

--将控制文件减少到一个

sql>altersystemsetcontrol_files='/u01/app/oracle/oradata/orcl/control01.ctl'scope=spfile;

System altered.

sql>shutdownimmediate;

Databaseclosed.

Databasedismounted.

ORACLE instanceshut down.

sql>startupmount

ORACLE instancestarted.

Total SystemGlobal Area251658240 bytes

FixedSize1218796bytes

VariableSize88082196bytes

DatabaseBuffers159383552bytes

RedoBuffers2973696bytes

Databasemounted.

--再次查看参数文件,已显示为一个

sql>showparameter control_file

NAMETYPEVALUE

----------------------------------------------- ------------------------------

control_file_record_keep_timeinteger7

control_filesstring/u01/app/oracle/oradata/orcl/c

ontrol01.ctl

--增加控制文件(在nomount状态下即可修改)

sql>altersystemsetcontrol_files='/u01/app/oracle/oradata/orcl/control01.ctl',

2'/u01/app/oracle/oradata/orcl/control02.ctl',

3'/u01/app/oracle/oradata/orcl/control03.ctl'

4scope=spfile;

System altered.

总结

以上是编程之家为你收集整理的Oracle控制文件详解全部内容,希望文章能够帮你解决Oracle控制文件详解所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值