oracle DBA 巡檢專案

strivechao發表於2020-10-23

11.Oracle審計-AUD$佔用空間較大處理方案

 truncate 或者 delete sys.aud$ 表

在delete 之前,可以先把aud$表exp備份一下,注意,不要直接exp,先建立一張臨時表,然後將臨時表exp。

   sql>create table audit_record tablespace users as select * from sys.aud$;

然後exp:

   exp tables=AUDIT_RECORD file=audit_record.dmp

最後delete 資料:

sql>delete from sys.aud$;

或者刪除指定表的審計:

sql>delete from sys.aud$ where obj$name='&table_nmae';

注意,delete 不會釋放system表空間。 可以使用truncate table:

sql>truncate table sys.aud$
2.oracle查詢表空間大小很緩慢
清空回收站所有物件
SQL> purge dba_recyclebin;
透過 iotop-0.3.2-9.el6.noarch 工具
iotop -oP
透過PID查詢SQL語句
SELECT *
  FROM v$sqltext a
 WHERE a.hash_value = (SELECT sql_hash_value
                         FROM v$session b, v$process c
                        WHERE b.paddr = c.addr
                          AND c.spid = 98261)
 ORDER BY piece ASC;
 
 
 
 查詢索引是否失效
 
 select Owner,index_name,status from dba_indexes  where owner='OR';
 
select status from DBA_IND_PARTITIONS   --分割槽索引
select status from dba_indexes  --普通索引  
  
如果狀態不是VALID的,那麼就是失效的索引。
在使用分割槽表情況下,可能出現索引失效。
如果索引失效,需要重建索引。
      
解決辦法
select count(*) from dba_recyclebin;
清空回收站所有物件
SQL> purge dba_recyclebin;



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25469263/viewspace-2729070/,如需轉載,請註明出處,否則將追究法律責任。

相關文章