表空间的管理

管理表空间和数据文件

  表空间是数据库的逻辑组成部分,从物理上讲,数据库存放在数据文件中,从逻辑上讲,数据库存放在表空间中,表空间由一个或是多个数据文件组成

oracle的逻辑结构包括表空间,段,区和块组成

数据库--》表空间--》段---》区--》块

1,建立表空间

 一般情况下,建立表空间是特权用户或是dba来执行的,如果其他用户想建立表空间,需要拥有create tablespace的系统权限

·unifrom 区分配方式

SQL> create tablespace sp01

  2  datafile 'D:\oracle\oradata\hwt\sp01.dbf' size 20M

  3  uniform size 128k; --- 默认情况下是1M

·autoallocate区分配方式

SQL> create tablespace sp01

  2  datafile 'D:\oracle\oradata\hwt\sp01.dbf' size 20M

  3  autoallocate;

·auto段管理方式

SQL> create tablespace sp01

  2  datafile 'D:\oracle\oradata\hwt\sp01.dbf' size 20M

  3  uniform size 128k;

          4  segment space management auto;

2,使用表空间

SQL> create table test(

  2  tid number(5) not null,

  3  tname varchar2(30),

  4  log varchar2(50)) tablespace sp01;

3,修改表空间的状态

一般是特权用户或是dba来操作

·使表空间脱机

SQL> alter tablespace sp01 offline;

   ·使表空间联机

SQL> alter tablespace sp01 online;

·使表空间只读

SQL> alter tablespace sp01 read only;

·设置表空间可读可写

SQL> alter tablespace sp01 read write;

4,删除表空间

SQL>drop  tablespace  sp01  including  contents  and  datafiles ;

 including  contents : 表示删除表空间的时候删除表空间里面的数据对象

     including  datafiles: 表示删除表空间的数据文件

5,扩展表空间

·增加数据文件

SQL> alter tablespace sp01

  2  add datafile 'D:\oracle\oradata\hwt\sp01_2.dbf' size 20M;


·增加数据文件的大小

SQL> alter database hwt  --- 这里不是alter tablespace 

  2  datafile 'D:\oracle\oradata\hwt\sp01.dbf'

  3  resize 5M;  --- 最大不能超过 500 M

·设置数据文件自动增长

SQL> alter database hwt  --- 这里不是alter tablespace 

  2  datafile 'D:\oracle\oradata\hwt\sp01_2.dbf'

  3  autoextends on next 10M maxsize 500M; -- 最大不能超过 500 M

你可能感兴趣的:(表空间的管理)