oracle 表空間管理相關

經過如下幾步基本能夠查看錶空間狀況以及處理表空間不足問題。數據庫

ASM相關

查看asm空間

select group_number,name,total_mb,free_mb from v$asm_diskgroup;

 

表空間相關

表空間使用率

注:對於12c多租戶數據庫,須要先切換至你須要查詢的pdb下spa

方案一:
set
linesize 200 set pages 2000 col TABLESPACENAME for a30 select substr(a.TABLESPACE_NAME,1,30) TablespaceName, sum(a.bytes/1024/1024) as "Totle_size(M)", sum(nvl(b.free_space1/1024/1024,0)) as "Free_space(M)", sum(a.bytes/1024/1024)-sum(nvl(b.free_space1/1024/1024,0)) as "Used_space(M)", round((sum(a.bytes/1024/1024)-sum(nvl(b.free_space1/1024/1024,0))) *100/sum(a.bytes/1024/1024),2) as "Used_percent%" from dba_data_files a,(select sum(nvl(bytes,0)) free_space1,file_id from dba_free_space group by file_id) b where a.file_id = b.file_id(+) group by a.TABLESPACE_NAME order by "Used_percent%";

 

方案二:(包含了臨時表空間)
select * from (
Select a.tablespace_name,
to_char(a.bytes/1024/1024,'99,999.999') total_bytes,
to_char(b.bytes/1024/1024,'99,999.999') free_bytes,
to_char(a.bytes/1024/1024 - b.bytes/1024/1024,'99,999.999') use_bytes,
to_char((1 - b.bytes/a.bytes)*100,'99.99') || '%' use
from (select tablespace_name,
sum(bytes) bytes
from dba_data_files
group by tablespace_name) a,
(select tablespace_name,
sum(bytes) bytes
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
union all
select c.tablespace_name,
to_char(c.bytes/1024/1024,'99,999.999') total_bytes,
to_char( (c.bytes-d.bytes_used)/1024/1024,'99,999.999') free_bytes,
to_char(d.bytes_used/1024/1024,'99,999.999') use_bytes,
to_char(d.bytes_used*100/c.bytes,'99.99') || '%' use
from
(select tablespace_name,sum(bytes) bytes
from dba_temp_files group by tablespace_name) c,
(select tablespace_name,sum(bytes_cached) bytes_used
from v$temp_extent_pool group by tablespace_name) d
where c.tablespace_name = d.tablespace_name
);

 

查看數據文件

set linesize 300
SEt pagesize 500
col file_name format a80
col TABLESPACE_NAME for a30
select tablespace_name,file_id,status,bytes/1024/1024 FileSizeM,file_name from dba_data_files order by tablespace_name;

 

查看錶空間的擴展方式

set linesize 120
select TABLESPACE_NAME, BLOCK_SIZE, EXTENT_MANAGEMENT, SEGMENT_SPACE_MANAGEMENT
from dba_tablespaces;

 

查看數據文件擴展方式

set linesize 300
set pagesize 500
col FILE_NAME for a60
col TABLESPACE_NAME for a30
select file_id,file_name,tablespace_name,autoextensible
from dba_data_files order by file_id;

 

查看用戶默認表空間

set lines 200
set pages 2000
col username for a20
col default_tablespace for a30
col temporary_tablespace for a30
select username, default_tablespace, temporary_tablespace from dba_users;

 

表空間、數據文件修改 

進行表空間擴展

經過添加數據文件擴展表空間code

alter tablespace users add datafile '+DATA/GNNT/DATAFILE/users08.dbf' SIZE 5G 
autoextend on NEXT 50M maxsize 31G;

建議11c rac數據庫添加數據庫文件沒必要自定義數據文件名,由數據庫文件系統自動生成

alter tablespace users add datafile size xxxG;

 

修改數據文件大小orm

alter database datafile '+DATA/GNNT/DATAFILE/users08.dbf' RESIZE 10G; 

修改數據文件的自動增加值blog

alter database datafile '+DATA/GNNT/DATAFILE/users08.dbf'autoextend on NEXT 5G;

關閉數據文件的自動增加io

alter database datafile '+DATA/GNNT/DATAFILE/users08.dbf' autoextend off;
相關文章
相關標籤/搜索