oracle表空间操作

发布时间:2018-04-20作者:spider阅读(418)

    1,查询表空间剩余

    -- 剩余量
    select tablespace_name,sum(bytes) from dba_free_space group by tablespace_name;
    -- 总量
    select tablespace_name,sum(bytes) from DBA_DATA_FILES group by tablespace_name;

    2,查询数据库原始文件

     select * from DBA_DATA_FILES;

    3,增加表空间大小的四种方法

    方法1:给表空间增加数据文件
    ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
     
    方法2:新增数据文件,并且允许数据文件自动增长
    ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
     
    方法3:允许已存在的数据文件自动增长
    ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
     
    方法4:手工改变已存在数据文件的大小
    ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF' RESIZE 100M;

    4,更改表及分区表的表空间

    可以通过alter方法,将一个表移动到另外一个表空间中:
    sql: alter table spaceOne.tablename move tablespace spaceTwo;
    解释:以上语句就是把tablename表从spaceOne移动到spaceTwo中。
    备注一:
    当前的用户必须对spaceTwo、spaceOne都有操作权限才可以。
    备注二:
    其实如果对两个表空间都有权限的话,可以通过
    create spaceTwo.tablename as select * from spaceOne.tablename;
    之后再删除spaceOne中tablename表的间接方式也能实现。
    
    -- 分区表
    alter table slz_ysz move partition YSZ_200901  tablespace 你要定义的tablespacename;

    5,其它

    查询数据服务地址信息:tnsping service_name

    文章转载自:http://www.open-open.com/code/view/1457508793343

0 +1

版权声明

本文章为系统自动抓取,如涉及您的版权,请联系博主进行下架处理

 数据库  oracle

 请文明留言

0 条评论