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

[经验分享] Oracle 11g R2 存储结构

[复制链接]

尚未签到

发表于 2018-9-21 11:28:30 | 显示全部楼层 |阅读模式
  数据文件相关知识
  想查看系统中有多少个数据文件我们可以通过动态数据字典或静态数据字典来查看:通过静态数据字典查看数据文件
DSC0000.jpg

  通过动态数据字典来查看数据文件
DSC0001.jpg

  直接查看数据文件的内容是看不到的,必须通过一个逻辑的结构即表空间来查看数据文件的内容。表空间是一个逻辑存储结构,而数据文件是一个物理的结构。
  如何查看表空间
DSC0002.jpg

  也可以通过dba_tablespaces查看表空间
DSC0003.jpg

  数据字典是一个逻辑的存储结构,而数据文件是一个真实的存储结构,如果有了表空间,而没有数据文件是不可以,表空间和数据文件是相对应的,如果没有数据文件,表空间不可能独立存在,如果只有表空间没有数据文件也是不行的,就好比如果电脑没有硬盘,你不能再逻辑上看到C盘D盘,在这里硬盘就相当于是数据文件,而C盘就相当于是表空间。我们可以把多个数据文件组成一个表空间,然后在表空间里面存储数据,表空间和数据文件是对应的,一个表空间可以是由一个或多个数据文件组成的,但是一个数据文件只能在一个表空间当中,我们如何查看表空间和数据文件之间的对应关系呢?
DSC0004.jpg

  也可以查看表空间的大小
DSC0005.jpg

  也可以在上述的表空间中创建新的数据文件。如果表空间不够用了,只需创建相应的数据文件即可。表空间大小就是组成数据文件的大小的总和,最终数据文件存放在硬盘里的,但是我们可以把数据文件存放在不同的硬盘里面,只要在一个表空间即可,这样就解决了硬盘大小对文件的限制,可以将多个硬盘中的数据文件组成一个表空间。
  所以在表空间中DBA会存放很多的表,视图,索引,同义词等对象。
  段:例如在xx表空间DBA创建了一个名为test的表,这张表表空间所占用的空间,我们称之为段。根据段中存储的对象的不同分为了数据段,索引段,回退段,临时段等
  可以查看段的信息
DSC0006.jpg

  对于段又有个更小的单位,称之为“区”
  区(extent):区是磁盘空间分配的最小单位,磁盘按区划分,每次至少分配一个区,区由连续的数据块组成,段主要由一个或多个区构成,当段创建时,它至少包含一个区,当段中所有空间已经使用完成时,系统自动为该段分配一个新区,区不能跨数据文件存在,只能存在于一个数据文件中。
  段是由区组成的,段必须是区的整数倍,假如一张表是25MB,一个区大小是4MB,那么段的大小是28MB,如果在表里添加了3MB的数据,此时段的空间还能容纳表,现在表的大小是28MB,如果又添加了1MB,此时29MB,那么段的空间是32MB.
DSC0007.jpg

  查看EXAMPLE表空间的区和段的分布情况
DSC0008.jpg

  在oracle数据库中最小的存储单位是块(block)--8KB,oracle数据库中的数据存储于数据块中。数据块是oracle服务器所能读取或写入的最小存储单元,oracle服务器以数据块为单位管理数据文件的存储空间,数据块的取值范围为2-64KB,其默认大小与oracle版本有关。
DSC0009.jpg

  查看操作系统的最小存储单元
  [root@orclsrv ~]# tune2fs -l  /dev/sda1
  通过OEM也可以查看这些信息
DSC00010.jpg

  创建表空间和数据文件

  SQL>create tablespace xx datafile '/u01/xx.dbf'>  2  next 5m maxsize 200m;
  表空间已创建。
DSC00011.jpg

  修改表空间的名字为yy
DSC00012.jpg

DSC00013.jpg

  为了好管理,我们希望表空间的名字和数据文件的名字一致。
  解决办法:

  •   使用操作系统命令将数据文件拷贝一份
  •   把表空间offline
  •   然后对数据文件重命名
    DSC00014.jpg

    DSC00015.jpg

      将表空间offline
    DSC00016.jpg

    DSC00017.jpg

      对数据文件重命名
    DSC00018.jpg

      查看修改情况
    DSC00019.jpg

      将表空间online
    DSC00020.jpg

      提示需要恢复/u01/yy.dbf
    DSC00021.jpg

      将表空间online
    DSC00022.jpg

    DSC00023.jpg

      如何扩展表空间大小
  • 直接改变数据文件大小
    DSC00024.jpg

    DSC00025.jpg

      2.给表空间增加数据文件
  如果表空间所在的分区的空间不够用了
DSC00026.jpg

DSC00027.jpg

DSC00028.jpg

  删除表空间
DSC00029.jpg

  创建临时表空间
DSC00030.jpg

DSC00031.jpg

  删除临时表空间与删除表空间的命令是一样的。
DSC00032.jpg

  如果对此文有什么问题的话,请加下面微信一起探讨
DSC00033.jpg



运维网声明 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.iyunv.com/thread-599362-1-1.html 上篇帖子: Oracle 11g R2 进程 下篇帖子: Oracle Database 网络管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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