ORACLE 查询、新增及释放表空间

一、查询表空间

--1、查看表空间的名字及文件所在位置

select tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space from sys.dba_data_files order by tablespace_name 
--2、查询表空间信息

 

select username,default_tablespace,t.* from dba_users t

 

--3、查询当前表空间下使用情况

select a.tablespace_name, a.bytes / 1024 / 1024 "sum MB", (a.bytes - b.bytes) / 1024 / 1024 "used MB", b.bytes / 1024 / 1024 "free MB", round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "used%" from (select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name, sum(bytes) bytes, max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name = b.tablespace_name order by ((a.bytes - b.bytes) / a.bytes) desc;

二:新增表空间

增加表空间大小常见的有四种方法
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;

三、释放表空间

1、删除过期用户
DROP USER colin CASCADE;

2、查询过期用户相关的表空间是否还有对象
SELECT OWNER, SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME
FROM DBA_SEGMENTS
WHERE TABLESPACE_NAME IN
(SELECT TABLESPACE_NAME
FROM DBA_TABLESPACES
WHERE TABLESPACE_NAME LIKE '%COLIN%')

3、转移过期用户表空间上的对象到其他表空间
ALTER TABLE tab_colin MOVE TABLESPACE colin_song_tbs;
ALTER INDEX idx_tab_colin REBUILD TABLESPACE colin_song_idx_tbs;

4、查询无对象的表空间
SELECT 'DROP TABLESPACE ' || TABLESPACE_NAME ||
' INCLUDING CONTENTS AND DATAFILES;'
FROM DBA_TABLESPACES
WHERE NOT EXISTS (SELECT 12
FROM DBA_SEGMENTS
WHERE DBA_SEGMENTS.TABLESPACE_NAME =
DBA_TABLESPACES.TABLESPACE_NAME);

5、删除之 把上述查询出来的语句贴到文本编辑里检查下(PS:这里会包含一个temp的临时表空间一定要去掉啊)
SQL> drop tablespace STAT_FTFY_CHRGSTAY_DTBS including contents and datafiles;
Tablespace dropped
SQL> drop tablespace STAT_FTFY_CHRGNEW_WIXTBS including contents and datafiles;
Tablespace dropped
SQL> drop tablespace STAT_FTFY_CHRGSMR_MIXTBS including contents and datafiles;
Tablespace dropped

好文要顶 关注我

 

你可能感兴趣的:(ORACLE 查询、新增及释放表空间)