Oracle存储结构之控制文件

php中文网
发布: 2016-06-07 17:16:20
原创
1210人浏览过

控制文件是个相当小的二进制文件,最多能增长到64m左右。参数文件告诉实例控制文件的位置。而控制文件告诉实例:数据库名,数据文

其实,蛮蛋疼的,体系结构要想深入的理解,还需要配合后续的备份与恢复的实验和原理。但不管啦,先稍微了解一下。
 
  控制文件是个相当小的二进制文件,最多能增长到64m左右。
 
  参数文件告诉实例控制文件的位置。而控制文件告诉实例:数据库名,数据文件的名称及其位置,在线重做日志文件的名称及其位置,以及系统和各个数据文件的SCN信息。

  我们的Oracle内部的几个人,都比较喜欢往ctl上面写东东,比如:
  server process会把数据库结构的变化更新到control file
  LGWR会把当前日志序列号记录到control file
  CKPT会把检查点信息记录到control file
  ARCn会把归档日志信息记录到control file
 
  有了以上的信息,因此,在mount阶段,SMON会去读控制文件,确认它上面的记录是否正确:
   1)上次关机的SCN             A
      上次关机的checkpoint      B
   2)日志组最后一条的记录       C
      RBA指针的位置             D
   若正常关机,则 A=B C=D
   若不正常关机,则 A>B  D>C
   这时,,就需要派SMON去前滚,按重做日志的记录在内存中重做一遍,直到C=D。

  以下是我的控制文件的部分摘录:
  平台是:RHEL-5.8 ora10g
   *** SERVICE NAME:() 2012-07-10 10:09:23.691
   *** SESSION ID:(159.3) 2012-07-10 10:09:23.691
   Thread 1 checkpoint: logseq 17, block 2, scn 676899
     cache-low rba: logseq 17, block 40599
       on-disk rba: logseq 17, block 40868, scn 697180
     start recovery at logseq 17, block 40599, scn 0

  我们对控制文件的一些常见操作,比如:
  1)如何多路镜像控制文件?
  正常关机,cp一份,修改pfile,生成spfile,重启数据库

  2)查看控制文件的位置?
  i  SQL> show parameter control_files

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    control_files                        string      /u01/app/oracle/oradata/ORCL/c
                                                 ontrolfile/o1_mf_7xzsjpnk_.ctl
                                                 , /u01/app/oracle/flash_recove
                                                 ry_area/ORCL/controlfile/o1_mf
                                                 _7xzsjq6j_.ctl
  ii  SQL> select name from  v$controlfile;

    NAME
   --------------------------------------------------------------------------------
   /u01/app/oracle/oradata/ORCL/controlfile/o1_mf_7xzsjpnk_.ctl
   /u01/app/oracle/flash_recovery_area/ORCL/controlfile/o1_mf_7xzsjq6j_.ctl

存了个图
存了个图

视频图片解析/字幕/剪辑,视频高清保存/图片源图提取

存了个图 17
查看详情 存了个图

  iii SQL> select value from v$parameter where; 

   VALUE
   --------------------------------------------------------------------------------
   /u01/app/oracle/oradata/ORCL/controlfile/o1_mf_7xzsjpnk_.ctl, /u01/app/oracle/fl
   ash_recovery_area/ORCL/controlfile/o1_mf_7xzsjq6j_.ctl
 

  3)查看控制文件的内容?
  alter database backup controlfile to trace;
  然后到udump下去找

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号