oracle DBA 巡检项目

来源:这里教程网 时间:2026-03-03 16:15:20 作者:

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;

相关推荐