Oracle 11G以后,数据库默认是开启审计功能的,因此有时候我们忘记了关闭该功能导致SYSTEM表空间暴满,但由于关闭审计功能需要重启数据库,此类操作生产环境下是不允许的,因此我们需要找出哪类审计产生的较多,然后单独的进行关闭:我们可以通过如下方法查找: 如果你发现AUD$这个表比较大了,检查下是哪种审计占的空间: SQL> select action_name,count(*) from dba_audit_trail group by action_name;一般是LOGON和LOGOF
(一)问题: 最近在做Oracle数据清理,在对分区表进行数据清理时,采用的方法是drop partition,删除的过程中,没有遇到任何问题,大概过了10分钟,开发人员反馈部分分区表上的业务失败.具体错误为: ORA-01502错误:索引或这类索引的分区处于不可用状态(英文:ora-01502:index 'schema.index_name' or partition of such index is in unusable state). (二)原因分析 查看出现问题的分区表,均有一个共同
垃圾数据清理,简单的说,就是删除不需要的那些数据,释放存储空间 最常用的就是delete命令.truncate命令,甚至是删除表空间重建,具体操作都很简单,不是本文的重点 下面,总结几个垃圾数据清理常见的几个问题 1.查找数据量最大的表 可以直接执行下面的SQL语句 select t.table_name, t.num_rows, t.blocks, t.empty_blocks from user_tables t where t.num_rows is not null order by t
Oracle 数据库 alert日志及trace日志的清理 方案一: 暂停数据库的trace 登录到数据库 sqlplus / as sysdba 修改参数: SQL> alter system set trace_enabled=false; System altered. 查询数据库的alert日志及trace日志的路径 select * from v$diag_info; VALUE------------------------------------------------------