我试图访问一个Oracle 12c EM
,当我尝试登录时,它会显示一个加载错误框,其中包含我在下面公开的错误,这可能会发生吗?是否有可能重新配置EM Express?如果可能的话,我想知道日志在哪里,谢谢。
ORA-00979: not a GROUP BY expression
ORA-06512: at "SYS.PRVT_AWR_VIEWER", line 9171
ORA-06512: at "SYS.PRVT_AWR_VIEWER", line 13196
ORA-06512: at "SYS.PRVTEMX_DBHOME", line 876
ORA-06512: at "SYS.PRVTEMX_DBHOME", line 144
ORA-06512: at "SYS.WRI$_REPT_DBHOME", line 91
ORA-06512: at "SYS.DBMS_REPORT", line 898
ORA-06512: at line 1
发布于 2018-12-27 19:33:33
这是MOS (我的Oracle支持)注释的一个简短但公开的版本:
通过EM快递登录时,将引发Ora-979 (医生ID 2390782.1)。
在这里我们可以找到以下信息:
改变
setting "_fix_control"='11657903:ON'
它提供了解决方案,而不访问私有内容。有人为bug 11657903启用了修补程序,而该更改导致了此错误。尝试禁用为bug 11657903应用的修补程序:
alter session set "_fix_control"='11657903:OFF';
但这不会产生任何影响,因为登录到EM将创建一个新的会话。代替它,您可以在系统级别禁用它:
alter system set "_fix_control"='11657903:OFF';
这解决了您的问题,但该修补程序用于修复其他问题,完全禁用它并不好。如果您只想在LOGON
上为特定会话动态设置参数,则可以使用登录触发器来实现这一点。下面是这样一个触发器的示例,它向您展示了如何为特定用户和修补程序设置_fix_control
,只需将其更改为您的需要即可。
http://karandba.blogspot.com/2015/03/tracing-session-with-client-identifier.html
CREATE OR REPLACE TRIGGER set_trace_logon_test1
AFTER LOGON ON SCOTT.SCHEMA
WHEN (lower(sys_context('USERENV', 'CLIENT_IDENTIFIER')) like '%hr%')
DECLARE
lcommand varchar(200);
BEGIN
EXECUTE IMMEDIATE 'alter session set tracefile_identifier=''From_Trigger''';
EXECUTE IMMEDIATE 'alter session set statistics_level=ALL';
EXECUTE IMMEDIATE 'alter session set max_dump_file_size=UNLIMITED';
EXECUTE IMMEDIATE 'alter session set events ''10046 trace name context forever, level 12 : 10053 trace name context forever, level 1''';
EXECUTE IMMEDIATE 'alter session set "_fix_control"="6765823:off"';
insert into sys.trigger_test values (sys_context('USERENV', 'CLIENT_IDENTIFIER'),sysdate,'LOGON');
commit;
END set_trace_logon_test1;
/
https://dba.stackexchange.com/questions/225871
复制相似问题