细粒度审计导致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,如需转载请自行联系原作者
相关文章
|
12月前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
328 14
|
人工智能 安全 算法
利用AI技术提升网络安全防御能力
【10月更文挑战第42天】随着人工智能技术的不断发展,其在网络安全领域的应用也日益广泛。本文将探讨如何利用AI技术提升网络安全防御能力,包括异常行为检测、恶意软件识别以及网络攻击预测等方面。通过实际案例和代码示例,我们将展示AI技术在网络安全防御中的潜力和优势。
|
6月前
|
Java 计算机视觉
医院证明图片制作生成工具,病假条证明图片生成器, 医院报告单p图软件【仅供娱乐】
报告单P图软件的Java实现,包含多个模块,仅供娱乐用途。代码实现了基本的图像处理和文本叠加功能。
|
9月前
|
Web App开发 编解码 算法
布谷一对一直播源码开发:阿里云视频语音通话社交交友App的必备功能
在当今移动社交领域,一对一视频和语音通话功能已成为用户期待的基础配置。从熟人社交到陌生人交友,从专业咨询到情感陪伴,实时音视频互动能力直接决定了社交App的用户留存和市场竞争力。山东布谷科技将深入探讨一对一直播源码开发高质量一对一视频和语音通话功能的关键要素和技术实现方案。
布谷一对一直播源码开发:阿里云视频语音通话社交交友App的必备功能
|
存储 算法 NoSQL
天呐!汇编语言竟如此神奇,从零到精通的学习指南带你开启计算机世界神秘大门!
【8月更文挑战第31天】汇编语言是一种底层编程语言,直接与硬件交互,对于理解计算机体系结构和底层原理至关重要。尽管现代软件开发中较少使用,但学习汇编语言有助于深入了解计算机如何执行指令、管理内存和处理数据,从而优化程序性能,进行底层系统开发和调试。不同处理器有不同指令集,如 x86 和 ARM,掌握这些指令集及寄存器、内存地址等基本概念是学习汇编语言的基础。通过简单示例开始,逐步掌握复杂指令和调试工具,可以大大提高编程技能和解决问题的能力。
337 1
|
编解码 前端开发 JavaScript
跨平台兼容性
【10月更文挑战第31天】跨平台兼容性
517 2
|
机器学习/深度学习 人工智能 算法
AI与未来教育:一场革命性融合
在这个信息爆炸的时代,人工智能(AI)正逐步渗透到我们生活的每一个角落,教育领域也不例外。本文旨在探讨AI技术如何革新传统教育模式,以及这一变革可能带来的深远影响。通过分析AI在个性化学习、智能辅导系统、教育资源优化分配等方面的应用案例,揭示其对未来教育生态的重塑潜力。同时,文章也将讨论伴随技术进步而来的挑战,如数据隐私保护、教师角色转变等问题,并提出相应的解决思路和建议,为构建更加公平、高效、人性化的教育体系提供参考。
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
541 6
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
230 0
|
Android开发
android自定义混淆字典及生成混淆字典文件
android自定义混淆字典及生成混淆字典文件
1098 0
android自定义混淆字典及生成混淆字典文件