oracle 表空间介绍

一, 表空间类型

  

 

二, 表空间创建  

  语法:

    

  01, 创建50兆的永久表空间,禁止数据自动扩展  

create tablespace TEST01
    logging
    datafile '/oradata/TEST01.dbf' size 50m
    reuse autoextend off;

         查看表空间信息01

    

    查看表空间信息01 

    

          查看表空间数据文件情况

     

     02,创建永久表空间,允许扩展,每次扩展10M,最大200M   生产低于30G

1 SQL> create tablespace TEST02
2     logging
3     datafile '/oradata/TEST02.dbf'  size 50m
4     reuse autoextend on next 10m maxsize 200m
5     extent management local;  2    3    4    5  
6 
7 Tablespace created.
View Code

     

    

                03,创建永久表空间TEST03,允许自动扩展数据文件,本地管理方式,区分配方式为自动分配

1 create tablespace TEST03
2     logging
3     datafile'/oradata/TEST03.dbf' size 50m
4     reuse autoextend on next 10m maxsize 200m
5     extent management local autoallocate;
View Code

    

 

     04, 创建永久表空间TEST04,允许自动扩展数据文件,本地管理方式,区分配方式为定制分配

   

1 create tablespace TEST04
2     logging
3     datafile'/oradata/TEST04.dbf' size 50m
4     reuse autoextend on next 10m maxsize 200m
5     extent management local uniform size 10m;
View Code

     

    05 创建永久表空间TEST05,允许自动扩展数据文件,本地管理方式,区分配方式为自动分配,段管理方式为自动管理  

1 create tablespace test05
2     logging
3     datafile'/oradata/TEST05.dbf' size 50m
4     reuse autoextend on next 10m maxsize 200M
5     extent management local autoallocate
6     segment space management auto;
View Code

    

    06 创建永久表空间TEST06,允许自动扩展数据文件,本地管理方式,区分配方式为定制分配,段管理方式为手动管理

 

1 create tablespace test06
2     logging
3     datafile'/oradata/TEST06.dbf' size 50m
4     reuse autoextend on next 10m maxsize 200M
5     extent management local uniform size 10m
6     segment space management manual;
View Code

        

 

           07,创建一个临时表空间test07,为了避免临时空间频繁分配与回收时产生大量碎片,临时表空间的区只能采用自动分配方式       

1 create temporary tablespace test07
2     tempfile '/oradata/TEST07.dbf' size 20M;
View Code

    

 

     08, 创建一个undo表空间test08  

1 create undo tablespace test08
2     datafile'/oradata/TEST08.dbf' size 20M;
View Code

    

 

  

三, 表空间管理

    移动表空间

       下线表空间

      

      alter tablespace TEST03 offline normal;

    查看状态

      

      
      
    复制表空间到其他地方

      

 

     上线表空间

       

1 alter tablespace TEST03 rename datafile
2     '/oradata/TEST03.dbf'
3     to
4     '/oradata/orcl/TEST03_1.dbf';
View Code

    

 

 

四, 删除表空间和对应的数据库

  drop tablespace test01 including contents and datafiles;

 

五,其他

    查询表空间的free space 

    

select tablespace_name, count(*) AS extends,round(sum(bytes) / 1024 / 1024, 2) AS MB,sum(blocks) AS blocks from dba_free_space group BY tablespace_name;

 

     查询表空间的总容量
      

select tablespace_name, sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name;

 

    查询表空间使用率

 

 1 SELECT total.tablespace_name,
 2        Round(total.MB, 2)           AS Total_MB,
 3        Round(total.MB - free.MB, 2) AS Used_MB,
 4        Round(( 1 - free.MB / total.MB ) * 100, 2)
 5        || '%'                       AS Used_Pct
 6 FROM   (SELECT tablespace_name,
 7                Sum(bytes) / 1024 / 1024 AS MB
 8         FROM   dba_free_space
 9         GROUP  BY tablespace_name) free,
10        (SELECT tablespace_name,
11                Sum(bytes) / 1024 / 1024 AS MB
12         FROM   dba_data_files
13         GROUP  BY tablespace_name) total
14 WHERE  free.tablespace_name = total.tablespace_name;

    

 


表空间扩容

    01,
    添加数据文件:

      

alter tablespace TEST03 add datafile '/oradata/test03_1.dbf' size 30M;

    02

    表空间增加数据文件,设置自增长,限制最大值

alter tablespace test02 add datafile '/oradata/test02_1.DBF' size 50M autoextend on maxsize 10240 M; 

    

 

    03

               已存在表空间数据文件设置自增长

    

alter database  datafile  '/oradata/test01.dbf' autoextend on maxsize 10240 M; 

 

      04

    已存在表空间数据文件重新设置大小

  

alter database datafile '/oradata/test01.dbf' resize 80M; 

 


    

  

posted on 2018-12-07 17:15  kingle-l  阅读(154)  评论(0编辑  收藏  举报

levels of contents