oracle-用户表空间操作

--查询用户表空间使用情况

SELECT TABLESPACE_NAME "表空间",
       To_char(Round(BYTES / 1024, 2), '99990.00')
       || ''           "实有",
       To_char(Round(FREE / 1024, 2), '99990.00')
       || 'G'          "现有",
       To_char(Round(( BYTES - FREE ) / 1024, 2), '99990.00')
       || 'G'          "使用",
       To_char(Round(10000 * USED / BYTES) / 100, '99990.00')
       || '%'          "比例"
FROM   (SELECT A.TABLESPACE_NAME                             TABLESPACE_NAME,
               Floor(A.BYTES / ( 1024 * 1024 ))              BYTES,
               Floor(B.FREE / ( 1024 * 1024 ))               FREE,
               Floor(( A.BYTES - B.FREE ) / ( 1024 * 1024 )) USED
        FROM   (SELECT TABLESPACE_NAME TABLESPACE_NAME,
                       Sum(BYTES)      BYTES
                FROM   DBA_DATA_FILES
                GROUP  BY TABLESPACE_NAME) A,
               (SELECT TABLESPACE_NAME TABLESPACE_NAME,
                       Sum(BYTES)      FREE
                FROM   DBA_FREE_SPACE
                GROUP  BY TABLESPACE_NAME) B
        WHERE  A.TABLESPACE_NAME = B.TABLESPACE_NAME)
--WHERE TABLESPACE_NAME LIKE 'CDR%' --这一句用于指定表空间名称
ORDER  BY Floor(10000 * USED / BYTES) DESC;

--查询表空间的数据文件路径

 select t1.name,t2.name

         from v$tablespace t1,v$datafile t2

         where t1.ts# = t2.ts#;


--查询当前用户所属表空间
select username,default_tablespace from user_users;
        
--创建表空间
create tablespace SHJ datafile '/data/oracle/product/11.2.0/db_1oradataorclshj4.dbf' size 1024M --存储地址 初始大小1G
autoextend on next 10M maxsize 20480m   --每次扩展10M,最大20480m,无限制扩展用unlimited   

--创建临时表空间
CREATE TEMPORARY tablespace tempshj tempfile '${ORACLE_HOME}\oradata\orcl\temp_shj.bdf' size 100 m reuse autoextend ON NEXT 20 m maxsize unlimited;

--创建用户指定表空间
create user songhongjun identified by bagayalu default tablespace shj temporary tablespace tempshj;

--修改用户默认表空间
ALTER USER songhongjun DEFAULT TABLESPACE SHJ;
 
--修改表的默认表空间
ALTER TABLE songhongjun.t1 modify default attributes TABLESPACE  SHJ;

--表空间扩容
ALTER TABLESPACE SHJ2 ADD DATAFILE'/data/oracle/product/11.2.0/db_1oradataorclshj4.dbf' size 500m ;   --增加500兆

--表空间删除
删除USER。

DROP USER XX CASCADE

删除表空间。

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

删除空的表空间,不包含物理文件。

DROP TABLESPACE tablespace_name;

删除空表空间,包含物理文件。

DROP TABLESPACE tablespace_name INCLUDING DATAFILES;

删除非空表空间,不包含物理文件。

DROP TABLESPACE tablespace_name INCLUDING DATAFILES;

删除非空表空间,包含物理文件。

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;



posted @ 2021-01-27 15:00  RedArmy  阅读(110)  评论(0编辑  收藏  举报