设为首页 收藏本站
查看: 777|回复: 0

[经验分享] oracle学习之系统结构(2)--物理结构

[复制链接]

尚未签到

发表于 2016-8-6 13:44:35 | 显示全部楼层 |阅读模式
  上一篇学习了oracle中常见的术语,术语应当是基于一个体系才会变的有意义。所以有必要对orale的体系结构作一下认识。最经典的图,就是下边这张了http://dl.iyunv.com/upload/attachment/546579/5aabc4f7-4b59-39ce-8314-08e5bcd072fe.png" alt="
  
  个人觉得oracle的整个体系可以分为三个部分:物理文件管理体系、内存管理体系、用户(APP)接口调用。
  本篇先从第一部分物理文件管理体系说起:
  文件体系由一堆文件构成,大家都知道oracle的数据以及诸多DBMS的信息都是存储在文件中的,这样的文件主要有:
  1.Data FILES(数据文件)
  2.CONTROL FILES(控制文件)
  3.REDO_LOG FILES(重做日志文件)
  4.ARCHIVED_LOG FILES(归档日志文件)
  除此之外,还有一些譬如Parameter files、password files等小文件
  下面做简单的解析:
  (一)data files
  数据文件主要用来存储数据内容(以数据块形式)以及数据库对象,如SEQUENCE\INDEX \SYNONYM\TABLE\等,读取数据时,系统首先从数据库文件中读取数据,并存储到SGA的数据缓冲区中。这是为了减少I/O,如果读取数据时,缓冲区中已经有要读取的数据,就不需要再从磁盘中读取了。存储数据时也是一样,事务提交时改变的数据先存储到内存缓冲区中,再由oracle后台进程DBWR决定如何将其写入到数据文件中。oracle正是通过采用这样的机制,减少I/O,提高性能,增强稳定性。
  (二)control files
  这是一个二进制格式的文件,文件内容包括:
  

  • 数据库名及数据库惟一标识
  • ·数据文件及日志文件的标识
  • ·系统恢复的必要信息,即SCN(system change number)
我们可以在Oracle的init.ora文件中看到这样一个参数:controller_files = ('file1','file2'...'filen'),这说明数据库有多个控制文件,这些控制文件彼此之间都是镜像的关系。只要其中一个文件是完好的数据库就可以启动。
(三)、redo_log files
重做日志文件记录了对数据库的所有修改的信息。
每一个Oracle数据库中都有至少两个的重做日志文件组,每个重做日志文件组都包含了一个到多个的重做日志文件-即日志成员。同一个日志文件组中的各个日志成员之间是镜像关系,它们的内容都是一模一样的。
Oracle在写日志的时候是以日志组为单位的,只有写完了同一个日志组中的所有日志成员之后,写日志才会结束。当一个日志文件组中所有的成员同时被写满数据时,系统自动转换到下一个日志文件组,这个转换过程称为日志切换。
当日志切换后,会给前一个日志组编一个号,用于归档日志的编号,这个编号称为日志序列号。此编号由1开始,每切换一次,序列号自动加1,最大值受参数MAXLOGHISTORY限制,该参数的最大值为65534。
当oracle把最后一个日志组写满了以后,自动转向第一个日志组,这时,再向第一个日志组写日志的时候, 如果数据库运行在非归档模式下,这个日志组中的原有日志信息就会被覆盖。
(四)arechived_log files
归档日志文件用于系统出现故障时进行恢复操作
Oracle中各种物理文件的操作SQL语句注:
创建(添加)数据文件

alter tablespace *** add datafile ***  size ***m autoextend on maxsize unlimited(在linux下得注意限制文件大小不能超过2G)
调整数据文件
alter database *** datafile *** resize ***m
查看数据文件
select * from dba_data_files/select * from v$datafile
查看空闲空间
select * from dba_free_space
查看日志文件
select * from v$log
查看检查点号
select first_change# / checkpoint_change# from v$log/v$datafile/v$database
查看控制文件
select * from v$controller
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-253717-1-1.html 上篇帖子: 书写历史的甲骨文--ORACLE公司传奇(三) 下篇帖子: 应用Oracle组件实现动态Web数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表