[分享]当DBMS_AUDIT_MGMT过程调用FGA_LOG$时,Logstby错误_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
3
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 7594 | 回复: 2   主题: [分享]当DBMS_AUDIT_MGMT过程调用FGA_LOG$时,Logstby错误        下一篇 
unknsnow
注册用户
等级:上士
经验:272
发帖:78
精华:0
注册:2012-2-10
状态:离线
发送短消息息给unknsnow 加好友    发送短消息息给unknsnow 发消息
发表于: IP:您无权察看 2012-2-10 9:48:33 | [全部帖] [楼主帖] 楼主

适用于:

Oracle Audit Vault - Version: 10.2.3 to 10.2.3
Oracle Server - Enterprise Edition - Version: 10.2.0.3 to 10.2.0.3
Information in this document applies to any platform.


症状:

DBMS_AUDIT_MGMT是Audit Vault管理特性中的一部分的一个新的包,并且通过一个你能得到的数据库支援补丁来分布。

Please use the following patches for the respective versions:
10.2.0.3 patch 6989148 MLR ON TOP OF 10.2.0.3 FOR AUDIT TRAIL CLEAN-UP
10.2.0.4 patch 6996030 MLR ON TOP OF 10.2.0.4 FOR AUDIT TRAIL CLEAN-UP
The Logical Standby package gets invalidated when one of the following APIs from DBMS_AUDIT_MGMT is invoked for DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD or DBMS_AUDIT_MGMT.AUDIT_TRAIL_DB_STD or DBMS_AUDIT_MGMT.AUDIT_TRAIL_ALL:
- SET_AUDIT_TRAIL_LOCATION
- INIT_CLEANUP


换句话说,当FGA审计表被参与到如下任何一者中:

DBMS_AUDIT_MGMT.INIT_CLEANUP or DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION,


因为在SYS.DBMS_INTERNAL_LOGSTDBY里面的静态关联,所以这个包变得无效。

Hence, an error similar to the following can be seen:
*
ERROR at line 1:
ORA-00942: table or view does not exist
ORA-06512: at "SYS.DBMS_AUDIT_MGMT", line 2670
ORA-04061: existing state of has been invalidated
ORA-04061: existing state of package body "SYS.DBMS_INTERNAL_LOGSTDBY"
has been
invalidated
ORA-06508: PL/SQL: could not find program unit being called:
"SYS.DBMS_INTERNAL_LOGSTDBY"
ORA-06512: at "SYS.DBMS_AUDIT_MGMT", line 1489
ORA-06512: at line 1


改变:

任何各自的源数据库版本上安装上述补丁。

原因:

当上述的API执行对FGA审计线索表,表重新创建改变了审计线索表的表空间。这无效逻辑备用包,作为包SYS.DBMS_INTERNAL_LOGSTDBY静态引用到FGA_LOG$表。

解决:

1. Change directory to $ORACLE_HOME/rdbms/admin

2. Login as SYS

SQL> connect sys/sys_password as sysdba
3. Re-load the Logical Standby package
SQL> @@prvtlsby.plb
OR
3. Alternately, recompile SYS.DBMS_INTERNAL_LOGSTDBY and SYS.DBMS_IJOB packages.
SQL> ALTER PACKAGE SYS.DBMS_INTERNAL_LOGSTDBY COMPILE;
SQL> ALTER PACKAGE SYS.DBMS_IJOB COMPILE;
4. Retry the execution of DBMS_AUDIT_MGMT API that failed.




赞(0)    操作        顶端 
斗破苍穹
注册用户
等级:中尉
经验:442
发帖:3
精华:0
注册:2016-1-8
状态:离线
发送短消息息给斗破苍穹 加好友    发送短消息息给斗破苍穹 发消息
发表于: IP:您无权察看 2016-2-27 21:48:18 | [全部帖] [楼主帖] 2  楼

非常好



赞(0)    操作        顶端 
斑马斑马
注册用户
等级:下士
经验:176
发帖:0
精华:0
注册:2016-2-17
状态:离线
发送短消息息给斑马斑马 加好友    发送短消息息给斑马斑马 发消息
发表于: IP:您无权察看 2016-2-29 17:10:36 | [全部帖] [楼主帖] 3  楼

感谢分享



赞(0)    操作        顶端 
总帖数
3
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论