细粒度审计导致SYSTEM表空间异常引发ORA-01653同时性能异常

简介:

故障现象:用户反馈无法登录,WEBLOGIC日志显示ERROR 2010-08-17 23:05:36,889 JDBCExceptionReporter:logExceptions - ORA-01653: unable to extend table SYS.FGA_LOG$ by 8192 in tablespace SYSTEM

 

推理:ORA-01653: unable to extend table SYS.FGA_LOG$ by 8192 in tablespace SYSTEM分析,可能是SYSTEM表空间的问题,通过OEM查看发现SYSTEM表空间确实已经满。但是应用方反馈没有对SYSTEM相关的操作。

 

继续分析:由于用户反馈昨天1800开始进行应用加压测试,但24点应用出错,后台提示

ORA-01653错误。为了精确定位,采用OEMADDM采集了1800-2400的信息,从报告中发现如下语句占据了50%左右的开销。

insert into sys.fga_log$ (sessionid, ntimestamp#, dbuid, osuid, obj$schema, obj$name, policyname, scn, oshst, clientid, extid, lsqltext, proxy$sid,user$guid, instance#, process#, xid, statement, entryid, stmt_type, lsqlbind, auditid) values( :1, SYS_EXTRACT_UTC(SYSTIMESTAMP), :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17, :18, :19, :20, :21 )

很显然,从sys.fga_log$可以看出以上是一个细粒度审计。

向应用方提出,但是应用方反馈未加审计策略。只好出手找证据。

------------------------------------------------------------------------------------------

SETP1通过select * from DBA_AUDIT_POLICIES;找出审计事项:

SQL> select * from DBA_AUDIT_POLICIES;

OBJECT_SCHEMA                  OBJECT_NAME                    POLICY_NAME                   POLICY_TEXT                                                                      POLICY_COLUMN                  PF_SCHEMA                     PF_PACKAGE                     PF_FUNCTION                    ENABLED SEL INS UPD DEL AUDIT_TRAIL  POLICY_COLUMN_OPTIONS

------------------------------ ------------------------------ ------------------------------ -------------------------------------------------------------------------------- ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------- --- --- --- --- ------------ ---------------------

OPERATION                      SK_SSO_GRANTING_TICKET         FGA_SK_SSO_GRANTING_TICKET                                                                                                                                                                                                                 YES    YES YES YES YES DB+EXTENDED  ANY_COLUMNS

 

再通过sys.fga_log$来看审计内容,很显然对表更新做了审计。

SQL> SELECT dbuid, lsqltext FROM sys.fga_log$;

 

DBUID                          LSQLTEXT

------------------------------ --------

OPERATION                      insert i

OPERATION                      update S

OPERATION                      select s

OPERATION                      insert i

计算下条数165万条。

SQL> select count(*) from sys.fga_log$;

  COUNT(*)

----------

   1650749

 

此时把审计对象反馈给应用,一轮闻讯下来总算有人坦白了。 

----------------------------------------------------------------------------------

SETP2:执行execute dbms_fga.drop_policy去除审计

SQL> execute dbms_fga.drop_policy(object_schema=>'OPERATION',object_name=>'SK_SSO_GRANTING_TICKET',policy_name=>'FGA_SK_SSO_GRANTING_TICKET');

 

PL/SQL procedure successfully completed

----------------------------------------------------------------------------------

SETP3:重复SETP1发现审计消失

SQL> select * from DBA_AUDIT_POLICIES;

 

OBJECT_SCHEMA                  OBJECT_NAME                    POLICY_NAME                   POLICY_TEXT                                                                      POLICY_COLUMN                  PF_SCHEMA                     PF_PACKAGE                     PF_FUNCTION                    ENABLED SEL INS UPD DEL AUDIT_TRAIL  POLICY_COLUMN_OPTIONS

------------------------------ ------------------------------ ------------------------------ -------------------------------------------------------------------------------- ------------------------------ ------------------------------ ------------------------------ ------------------------------ ------- --- --- --- --- ------------ ---------------------

 

SQL>


删除现有审计数据:

SQL> truncate table Sys.fga_log$;


Table truncated

 

本文转自zylhsy 51CTO博客,原文链接:http://blog.51cto.com/yunlongzheng/379608,如需转载请自行联系原作者
相关文章
|
存储 Oracle 关系型数据库
Oracle 代码异常查询(五)
Oracle 代码异常查询
303 0
|
2月前
|
JSON 缓存 fastjson
一行日志引发的系统异常
本文记录了一行日志引发的系统异常以及作者解决问题的思路。
|
存储 Oracle 关系型数据库
Oracle 代码异常查询(六)
Oracle 代码异常查询
221 0
|
SQL Oracle 关系型数据库
Oracle 代码异常查询(八)
Oracle 代码异常查询
286 0
|
Oracle 关系型数据库
审计策略ORA_SECURECONFIG
oracle里默认激活的审计策略只有两个ORA_SECURECONFIG和ORA_LOGON_FAILURES,其中ORA_SECURECONFIG这个审计策略记录的信息较多
利用访问日志在ASM中定位异常延迟问题
阿里云服务网格ASM会在工作负载中注入Sidecar以实现对流量劫持,并按照用户的配置对流量进行修改、路由。因此,Sidecar处理和转发带来的额外时间开销会导致请求的延迟有一定的增长。除延迟方面的影响外,在节点性能充足的情况下,Sidecar通常不会对并发能力有显著的影响。本文将介绍利用访问日志在服务网格ASM中排查耗时异常的通用方法和思路。  一、在请求路径上确定耗时异常的组件 查看访问日志中
99 0
|
SQL 存储 监控
Oracle中的SQL_TRACE是什么?诊断事件是什么?常用的10046及10053诊断事件的区别是什么?
Oracle中的SQL_TRACE是什么?诊断事件是什么?常用的10046及10053诊断事件的区别是什么?
503 0
|
Oracle 关系型数据库 数据库
表空间检测异常的问题诊断
    不知道大家在工作中的表空间管理情况如何,大体会分为两派。以前的公司我们更喜欢直接把空间都分配好,比如500G的容量规划,那就提前准备500G,另外一类是我先给定200G,后续的空间就自动增长,反正容量还是500G。
882 0