久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何解決System表空間不足的報警問題

175次閱讀
沒有評論

共計 4242 個字符,預計需要花費 11 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下如何解決 System 表空間不足的報警問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體代碼如下所示:

--SYSTEM 表空間不足的報警  
登錄之后,查詢,發現是 sys.aud$ 占的地方太多。 
SQL  select owner, segment_name, segment_type, sum(bytes)/1024/1024 space_m 
 from dba_segments 
 where tablespace_name =  SYSTEM  
group by owner, segment_name, segment_type 
having sum(bytes)/1024/1024  = 20 
order by space_m desc 
; 
 4 5 6 7 
OWNER SEGMENT_NAME SEGMENT_TYPE SPACE_M 
-------- ------------------------------- ------- 
SYS AUD$ TABLE 4480 
SYS IDL_UB1$ TABLE 272 
SYS SOURCE$ TABLE 72 
SYS IDL_UB2$ TABLE 32 
SYS C_OBJ#_INTCOL# CLUSTER 27 
SYS C_TOID_VERSION# CLUSTER 24 
6 rows selected. 
SQL  
查看是哪個記得比較多。 
col userhost format a30 
select userid, userhost, count(1) from sys.aud$ 
where ntimestamp#  =CAST(to_date( 2014-03-01 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
group by userid, userhost 
having count(1)   500 
order by count(1) desc 
; 
再繼續找哪天比較多。 
select to_char(ntimestamp#,  YYYY-MM-DD) audit_date, count(1) 
from sys.aud$ 
where ntimestamp#  =CAST(to_date( 2014-03-01 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and userid =  xxxx  and userhost =  xxxx  
group by to_char(ntimestamp#,  YYYY-MM-DD) 
order by count(1) desc 
; 
select spare1, count(1) from sys.aud$ 
where ntimestamp# between CAST(to_date( 2014-03-10 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and CAST(to_date( 2014-03-11 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and userid =  xxxx  and userhost =  xxxx  
group by spare1 
; 
select action#, count(1) from sys.aud$ 
where ntimestamp# between CAST(to_date( 2014-03-10 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and CAST(to_date( 2014-03-11 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and userid =  xxxx  and userhost =  xxxx  
and spare1 =  xxxx  
group by action# 
order by count(1) desc 
; 
結果如下: 
 ACTION# COUNT(1) 
---------- ---------- 
 101 124043 
 100 124043 
SQL  
其實是上次打開的 audit 一直沒有關閉。 
關閉: 
SQL  noaudit session; 
清空: 
truncate table sys.aud$; 
------------------------------------------------------------------------ 
實戰  
------------------------------------------------------------------------ 
--1, 查詢表空間占用情況  
select dbf.tablespace_name as tablespace_name, 
 dbf.totalspace as totalspace, 
 dbf.totalblocks as totalblocks, 
 dfs.freespace freespace, 
 dfs.freeblocks freeblocks, 
 (dfs.freespace / dbf.totalspace) * 100 as freeRate 
 from (select t.tablespace_name, 
 sum(t.bytes) / 1024 / 1024 totalspace, 
 sum(t.blocks) totalblocks 
 from DBA_DATA_FILES t 
 group by t.tablespace_name) dbf, 
 (select tt.tablespace_name, 
 sum(tt.bytes) / 1024 / 1024 freespace, 
 sum(tt.blocks) freeblocks 
 from DBA_FREE_SPACE tt 
 group by tt.tablespace_name) dfs 
 where trim(dbf.tablespace_name) = trim(dfs.tablespace_name) 
--2, 查看哪里占的比較多  SYSTEM  為 step1 中查詢  tablespace_name  內容  
select owner, segment_name, segment_type, sum(bytes)/1024/1024 space_m 
 from dba_segments 
 where tablespace_name =  SYSTEM  
group by owner, segment_name, segment_type 
having sum(bytes)/1024/1024  = 20 
order by space_m desc 
--3, 查看是哪個記得比較多  count(1)  越大, 說明占得比較多  
select userid, userhost, count(1) from sys.aud$ 
where ntimestamp#  =CAST(to_date( 2014-03-01 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
group by userid, userhost 
having count(1)   500 
order by count(1) desc 
--4, 再繼續找哪天比較多  userid userhost  為上一步查詢內容  
select to_char(ntimestamp#,  YYYY-MM-DD) audit_date, count(1) 
from sys.aud$ 
where ntimestamp#  =CAST(to_date( 2015-03-01 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and userid =  userid  and userhost =  userhost  
group by to_char(ntimestamp#,  YYYY-MM-DD) 
order by count(1) desc 
; 
select spare1, count(1) from sys.aud$ 
where ntimestamp# between CAST(to_date( 2016-03-10 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and CAST(to_date( 2016-12-11 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and userid =  userid  and userhost =  userhost  
group by spare1 
; 
--spare1  為上一步查詢內容  
select action#, count(1) from sys.aud$ 
where ntimestamp# between CAST(to_date( 2016-03-10 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and CAST(to_date( 2016-12-11 00:00:00 ,  YYYY-MM-DD hh34:mi:ss) AS TIMESTAMP) 
and userid =  userid  and userhost =  userhost  
and spare1 =  Administrator  
group by action# 
order by count(1) desc 
--5, 關閉 seeion 
noaudit session; 
--6, 清空: 
truncate table sys.aud$;

以上是“如何解決 System 表空間不足的報警問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計4242字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 华安县| 兴宁市| 昌江| 罗城| 游戏| 庐江县| 谷城县| 句容市| 绥滨县| 永春县| 虎林市| 赤壁市| 杭锦后旗| 洛扎县| 天镇县| 修武县| 临夏县| 呼伦贝尔市| 灵山县| 浪卡子县| 云霄县| 东山县| 济阳县| 婺源县| 临沭县| 子长县| 吐鲁番市| 通州区| 青铜峡市| 富蕴县| 威信县| 同德县| 双桥区| 沙洋县| 三门峡市| 福清市| 泾阳县| 吉安市| 永年县| 五家渠市| 政和县|