问题描述
我试图追踪与ORA-00600出错的SQL的源 (即机器和程序)。当会话生成跟踪文件时,它使用SID,serial # 组合标识会话: *** 会话ID :( 1346.55751) 2017-10-19 05:01:34.416。在dba_audit_trail中,我正在审核来自提交查询的用户的所有连接。登录和注销显示audsid并识别机器和程序。有没有一种方法可以找到与特定audsid相对应的SID,serial #,或者我应该以不同的方式进行此操作?
专家解答
您跟踪文件的名称中有操作系统进程,例如
您可以使用它 (加上任何其他相关细节) 来检查dba_audit_trail,例如
SQL> select p.TRACEFILE
2 from v$session s, v$process p
3 where s.PADDR = p.ADDR
4 and s.SID = sys_context('USERENV','SID');
TRACEFILE
-------------------------------------------------------------
C:\ORACLE\diag\rdbms\db122\db122\trace\db122_ora_10128.trc
您可以使用它 (加上任何其他相关细节) 来检查dba_audit_trail,例如
SQL> select * from dba_audit_trail 2 where os_process like '%10128%' 3 and timestamp > sysdate - 3 4 @pr ============================== OS_USERNAME : XPS13\hamcdc USERNAME : MCDONAC USERHOST : XPS13 TERMINAL : XPS13 TIMESTAMP : 20-OCT-17 OWNER : OBJ_NAME : ACTION : 100 ACTION_NAME : LOGON NEW_OWNER : NEW_NAME : OBJ_PRIVILEGE : SYS_PRIVILEGE : ADMIN_OPTION : GRANTEE : AUDIT_OPTION : SES_ACTIONS : LOGOFF_TIME : LOGOFF_LREAD : LOGOFF_PREAD : LOGOFF_LWRITE : LOGOFF_DLOCK : COMMENT_TEXT : Authenticated by: DATABASE SESSIONID : 821375 ENTRYID : 1 STATEMENTID : 1 RETURNCODE : 0 PRIV_USED : CREATE SESSION CLIENT_ID : ECONTEXT_ID : SESSION_CPU : EXTENDED_TIMESTAMP : 20-OCT-17 09.43.53.391000 AM +08:00 PROXY_SESSIONID : GLOBAL_UID : INSTANCE_NUMBER : 0 OS_PROCESS : 10100:10128 TRANSACTIONID : 0000000000000000 SCN : SQL_BIND : SQL_TEXT : OBJ_EDITION_NAME : DBID : 872342268 RLS_INFO : CURRENT_USER : MCDONAC PL/SQL procedure successfully completed.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




