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;