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

[经验分享] oracle的表空间,数据文件,控制文件

[复制链接]

尚未签到

发表于 2016-8-8 06:32:59 | 显示全部楼层 |阅读模式
  
1,oracle的表空间

  
  
      表空间是数据库的逻辑组成部分。从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中,表空间由一个或多个数据文件组成。
  
1.2数据库介绍;
  
   
 
oracle中逻辑结构包括表空间、段、区和块。 
说明一下数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而区又是由oracle块构成的这样的一种结构,可以提高数据库的效率。 

 
   
  
  
看下图
  

DSC0000.gif
 

1.2表空间的作用;提高i/o的性能,控制数据库占用的磁盘
 
1.3表空间的建立; create tablespace;建立表空间的权限一般是dba
 
1.4 system表空间;每个Oracle数据库都包含一个名为 SYSTEM 的表空间(tablespace),她在数据库创建时由Oracle自动创建。只要数据库处于开启(open)状态,SYSTEM 表空间就一定是联机(online)的。
 
  

  SYSAUX 表空间;SYSAUX 表空间(tablespace)还被用来集中存储所有不应放在 SYSTEM 表空间的数据库元数据。不论是依据模版建立的数据库(seed database),还是用户定义的数据库(user-defined database),使用 SYSAUX 表空间可以减少默认创建的表空间数量,sysaux还是system的一个辅助空间
  
   
  
1.5 改变表空间的状态 
     当建立表空间时,表空间处于联机的(online)状态,此时该表空间是可以访问的,并且该表空间是可以读写的,即可以

  
查询该表空间的数据,而且还可以在表空间执行各种语句。但是进行系统维护时需要进行改变表空间的状态;由dba来操作;

1. 使表空间脱机
alter tablespace 表空间名 offline;
2. 使表空间联机
alter tablespace 表空间名 online;
3. 只读表空间
当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update,delete,insert操作,那么可以将表空间修改为只读
alter tablespace 表空间名 read only;
(修改为可写是 alter tablespace 表空间名 read write;)

  
 
  
 
  
 
1.6 表空间的修改;
  

1. 知道表空间名,显示该表空间包括的所有表
select * from all_tables where tablespace_name=’表空间名’;
2. 知道表名,查看该表属于那个表空间
select tablespace_name, table_name from user_tables where table_name=’emp’;

  
 
  
 
  
<!--EndFragment-->
  
 
  
1.7 删除表空间 ;
一般情况下,由特权用户或是dba来操作,如果是其它用户操作,那么要求用户具有drop tablespace系统权限。 
drop tablespace ‘表空间’ including contents and datafiles; 
说明:including contents表示删除表空间时,删除该空间的所有数据库对象,而datafiles表示将数据库文件也删除

<!--EndFragment-->
 
 
 
 
2数据文件;
   
      Oracle数据库中每个表空间(tablespace)都是由一个或多个物理数据文件(datafile)构成的。一个数据文件只能由一个数据库的一个表空间使用
 
 
    2.1 表空间的扩展;增加数据文件,增加数据文件的大小,设置数据文件自动增长
  

 
  <!--EndFragment-->
  

1. 增加数据文件
SQL> alter tablespace sp01 add datafile ‘d:\test\sp01.dbf’ size 20m;
2. 增加数据文件的大小
SQL> alter tablespace 表空间名 ‘d:\test\sp01.dbf’ resize 20m;
这里需要注意的是数据文件的大小不要超过500m。
3. 设置文件的自动增长。
SQL> alter tablespace 表空间名 ‘d:\test\sp01.dbf’ autoextend on next 10m maxsize 500m;
  
  
  
  3,控制文件;
  
     数据库控制文件(control file)是一个二进制文件,供数据库启动及正常工作时使用。在数据库运行过程中,控制文件会频繁地被Oracle修改,因此数据库处于开启(open)状态时控制文件必须可写。如果控制文件因故不能访问,数据库 也将无法正常工作。
  
      每个数据库有一个控制文件
  
     3.1控制文件的内容;
            控制文件(control file)中包含了其所属数据库的信息,实例(instance)在启动,及正常工作期间都需要存取这些信息。控制文件的内容只能由Oracle修改,数据库管理员或用户都不应编辑控制文件。
  
     3.2控制文件包含以下信息;
  
      
     数据库名(database name)


  • 数据库创建时的时间戳(timestamp)
  • 属于此数据库的数据文件(datafile)及重做日志文件(redo log file)的名称与存储位置
  • 表空间(tablespace)信息
  • 脱机(offline)的数据文件
  • 日志历史信息
  • 归档日志(archived log)信息
  • 备份集(backup set)与备份块(backup piece)信息
  • 数据文件与重做日志的备份信息
  • 数据文件复制信息
  • 当前的日志序列号(log sequence number)
  • 检查点(checkpoint)信息
  
   

 

运维网声明 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-254400-1-1.html 上篇帖子: the password has expired oracle数据库密码过期 下篇帖子: navicat创建oracle触发器出现编译错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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