管理表空间和数据文件详情

1)介绍
表空间是数据库的逻辑组成部分。从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中,表空间由一个或是多个数据文件组成。
2)数据库的逻辑结构
oracle中逻辑结构包括表空间、段、区和块。数据库由表空间构成,表空间又是由段构成,段又是由区构成,区又是由oracle块构成的。
3)表空间
    表空间用于从逻辑上组织数据库的数据。数据库逻辑上是由一个或是多个表空间组成的。通过表空间可以到达到以下作用:
控制数据库占用的磁盘空间;
dba可以将不同数据类型部署到不同的位置,这样有利于提高i/o性能,同时利于备份和恢复等管理操作。
    ①建立表空间(create  tablespace)
    一般情况下,建立表空间是特权用户或是dba来执行的,或者具有create  tablespace的系统权限
    ②建立数据表空间
    create  tablespace  表空间名称  datafile  'd:\test\data01.dbf'  size  20m  uniform  size  128k;
    说明:建立名称为data01的表空间,并为表空间建立名称为data01.dbf的数据文件,大小为20M,区的大小为128k
    ③使用表空间
    create  table  mypart(deptno  number(4),dname  varchar2(14),loc  varchar2(13))  tablespace  表空间名称;
    ④改变表空间的状态
    当建立表空间时,表空间处于联机(online)状态,此时该表空间是可以访问的,可以读写、查询、执行语句。但是在进行系统维护或是数据维护时,可能需要改变表空间的状态。一般情况下,由特权用户或是dba来操作。
(使表空间脱机:alter  tablespace  表空间名  offline;)
(使表空间联机:alter  tablespace  表空间名  online;)
(只读表空间(不能执行update,delete,insert操作):alter  tablespace  表空间名  read  only;)
(可读表空间:alter  tablespace  表空间名  read  write;)
(查询表空间包括的所有表:select  *  from  all_tables  where  tablespace_name='表空间名';)
(查询表属于哪个表空间:select  tablespace_name,table_name  from  user_tables  where  table_name='EMP';)

5)删除表空间
    特权用户或是dba来操作或者具有drop  tablespace的系统权限(including  contents表示删除该空间的所有数据库对象、datafiles表示删除数据库文件)。
    drop  tablespace  '表空间'  including  contents  and  datafiles;
6)扩展表空间(数据文件的大小不要超过500M)
    ①增加数据文件:alter  tablespace  表空间名  add  datafile  'd:\test\space1.dbf'  size  20m;
    ②增加数据文件的大小:alter  tablespace  表空间名  'd:\test\.dbf'space1  resize  20m;
    ③设置文件的自动增长:alter  tablespace  表空间名  'd:\test\space1.dbf'  autoextend  on  next  10m  maxsize  500m;
7)移动数据文件
    ①确定数据文件所在的表空间:select  tablespace_name  from  dba_data_files  where  file_name='d:\test\sp01,dbf';
    ②使表空间脱机(转变为offline状态):alter  tablespace  表空间名  offline;
    ③移动数据文件到指定的位置:host  move  d:\test\sp01,dbf  c:\test\sp01.dbf;
    ④执行alter  tablespace命令:alter  tablespace  sp01  rename  datafile  'd:\test\sp01,dbf'  to  'c:\test\sp01.dbf';
    ⑤使表空间联机(转变为online状态):alter  tablespace  表空间名  online;
8)显示表空间信息(dba_tablespace)
    select  tablespace_name  from  dba_tablespaces;

9)显示表空间所包含的数据文件(dba_data_files)
    select  file_name,bytes  from  dba_data_files  where  tablespace_name='表空间名';

10)小结
    ①了解表空间和数据文件的作用
    ②掌握常用表空间、undo表空间和临时表空间的建立方法
    ③了解表空间的各个状态(online、offline、read  write、read  only)的作用,及如何改变表空间状态的方法
    ④了解移动数据文件的原因,及使用alter  tablespace和alter  datatable命令移动数据文件的方法
11)其他表空间
    ①索引表空间
    ②undo表空间
    ③临时表空间
    ④非标准块的表空间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值