帮助帮助:ORA04080:触发'LOG_ERRORS-TRIG'不存在 [英] HELP HELP : ORA04080: trigger 'LOG_ERRORS-TRIG' does not exist

查看:135
本文介绍了帮助帮助:ORA04080:触发'LOG_ERRORS-TRIG'不存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的需要帮助。


我运行此脚本并提示错误消息如下:


drop trigger log_errors_trig;

drop trigger log_errors_trig

第1行的错误:

ORA04080:触发''LOG_ERRORS-TRIG''不存在


drop table log_errors_tab;

drop table log_errors_tab

第1行的错误:

ORA00942:表或视图不存在

创建表log_errors_tab(

错误varchar2(30),

时间戳日期,

用户名varchar2(30) ,

osuser varchar2(30),

machine varchar2(64),

process varchar2(8),

program varchar2(48));


创建或替换触发器log_errors_trig

数据库上的servererror之后

声明

var_user varchar2(30);

var_osuser varchar2(30);

var_machine varchar2(64);

var_process varchar2(8 ); <无线电通信/>
var_program varchar2(48);

begin

选择用户名,osuser,机器,进程,程序

到var_user, var_osuser,var_machine,var_process,var_program

来自sys.v_ $ session

其中audsid = userenv(''sessionid'');


插入log_errors_tab

值(dbms_standard.server_error(1),sysdate,var_u ser,

var_osuser,var_machine,var_process,var_program);

end;

/

WARINING:使用编译错误创建的触发器。


SQL>回滚;

回滚完成。


之后我在SQL中收到错误消息:

错误在第1行:

ORA-04098:触发''SYSTEM.LOG_ERRORS_TRIG''无效且失败

重新验证

我在user_objects& user_errors,结果如下:

1 select * from user_objects

2 * WHERE STATUS<>''VALID''

SQL /


OBJECT_NAME

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

SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE

创建LAST_DDL_

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

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

TIMESTAMP状态TGS

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

LOG_ERRORS_TRIG

47321 TRIGGER

06-FEB-04 06-FEB-04

2004-02-06:14:56 :15无效NNN

SQLselect *来自user_errors;


名称类型序列行

POSITION

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

---------

TEXT
------------------------------------------- -------------------------------------------------- -------

LOG_ERRORS_TRIG TRIGGER 1 10

13

PL / SQL:ORA-00942:表或视图不存在


LOG_ERRORS_TRIG TRIGGER 2 8

2

PL / SQL:忽略SQL语句

怎么能我解决了这个问题?我在触发后回滚,为什么

这仍然发生?

问候。

tracy kim

Hi, I really need help.

I run this script and error message appeal as below:

drop trigger log_errors_trig;
drop trigger log_errors_trig
ERROR at line 1:
ORA04080: trigger ''LOG_ERRORS-TRIG'' does not exist

drop table log_errors_tab;
drop table log_errors_tab
ERROR at line 1:
ORA00942: table or view does not exist
create table log_errors_tab (
error varchar2(30),
timestamp date,
username varchar2(30),
osuser varchar2(30),
machine varchar2(64),
process varchar2(8),
program varchar2(48));

create or replace trigger log_errors_trig
after servererror on database
declare
var_user varchar2(30);
var_osuser varchar2(30);
var_machine varchar2(64);
var_process varchar2(8);
var_program varchar2(48);
begin
select username, osuser, machine, process, program
into var_user, var_osuser, var_machine, var_process, var_program
from sys.v_$session
where audsid = userenv(''sessionid'');

insert into log_errors_tab
values(dbms_standard.server_error(1),sysdate,var_u ser,
var_osuser,var_machine,var_process,var_program);
end;
/
WARINING: trigger created with compilation errors.

SQL>roll back;
Rollback complete.

After that i got error message in my SQL:
ERROR at line 1:
ORA-04098: trigger ''SYSTEM.LOG_ERRORS_TRIG'' is invalid and failed
re-validation
I check under user_objects & user_errors, result as below:
1 select * from user_objects
2* WHERE STATUS <>''VALID''
SQL/

OBJECT_NAME
----------------------------------------------------------------------------------------------------
SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
CREATED LAST_DDL_
------------------------------ --------- --------------
------------------ --------- ---------
TIMESTAMP STATUS T G S
------------------- ------- - - -
LOG_ERRORS_TRIG
47321 TRIGGER
06-FEB-04 06-FEB-04
2004-02-06:14:56:15 INVALID N N N
SQLselect * from user_errors;

NAME TYPE SEQUENCE LINE
POSITION
------------------------------ ------------ --------- ---------
---------
TEXT
----------------------------------------------------------------------------------------------------
LOG_ERRORS_TRIG TRIGGER 1 10
13
PL/SQL: ORA-00942: table or view does not exist

LOG_ERRORS_TRIG TRIGGER 2 8
2
PL/SQL: SQL Statement ignored
How can i fix this problem? I roll back after I run the trigger, why
this still happened?
Regards.
tracy kim

推荐答案

session

其中audsid = userenv(''sessionid'');


插入log_errors_tab

值(dbms_standard.server_error(1),sysdate,var_u ser,

var_osuser,var_machine,var_process,var_program);

end;

/

WARINING:使用编译错误创建的触发器。


SQL>回滚;

回滚完成。


之后我在SQL中收到错误消息:

第1行的错误:

ORA-04098:触发' 'SYSTEM.LOG_ERRORS_TRIG''无效且失败

重新验证

我在user_objects& user_errors,结果如下:

1 select * from user_objects

2 * WHERE STATUS<>''VALID''

SQL /


OBJECT_NAME

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

SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE

创建LAST_DDL_

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

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

TIMESTAMP状态TGS

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

LOG_ERRORS_TRIG

47321 TRIGGER

06-FEB-04 06-FEB-04

2004-02-06:14:56 :15无效NNN

SQLselect *来自user_errors;


名称类型序列行

POSITION

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

---------

TEXT
------------------------------------------- -------------------------------------------------- -------

LOG_ERRORS_TRIG TRIGGER 1 10

13

PL / SQL:ORA-00942:表或视图不存在


LOG_ERRORS_TRIG TRIGGER 2 8

2

PL / SQL:忽略SQL语句

怎么能我解决了这个问题?我在触发后回滚,为什么

这仍然发生?

问候。

tracy kim
session
where audsid = userenv(''sessionid'');

insert into log_errors_tab
values(dbms_standard.server_error(1),sysdate,var_u ser,
var_osuser,var_machine,var_process,var_program);
end;
/
WARINING: trigger created with compilation errors.

SQL>roll back;
Rollback complete.

After that i got error message in my SQL:
ERROR at line 1:
ORA-04098: trigger ''SYSTEM.LOG_ERRORS_TRIG'' is invalid and failed
re-validation
I check under user_objects & user_errors, result as below:
1 select * from user_objects
2* WHERE STATUS <>''VALID''
SQL/

OBJECT_NAME
----------------------------------------------------------------------------------------------------
SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
CREATED LAST_DDL_
------------------------------ --------- --------------
------------------ --------- ---------
TIMESTAMP STATUS T G S
------------------- ------- - - -
LOG_ERRORS_TRIG
47321 TRIGGER
06-FEB-04 06-FEB-04
2004-02-06:14:56:15 INVALID N N N
SQLselect * from user_errors;

NAME TYPE SEQUENCE LINE
POSITION
------------------------------ ------------ --------- ---------
---------
TEXT
----------------------------------------------------------------------------------------------------
LOG_ERRORS_TRIG TRIGGER 1 10
13
PL/SQL: ORA-00942: table or view does not exist

LOG_ERRORS_TRIG TRIGGER 2 8
2
PL/SQL: SQL Statement ignored
How can i fix this problem? I roll back after I run the trigger, why
this still happened?
Regards.
tracy kim




Hello Tracy,


任何DDL(如create)都会在
之前和之后执行内部提交
DDL ix执行 - 即你不能回滚DDL。


看起来你以用户''SYSTEM''的形式运行脚本。作为系统用户问题

" grant select on v _

Hello Tracy,

Any DDL (like "create") would perform commit internally before and after
DDL ix executed - I.e. you can not rollback DDL.

Looks like you run the script as user ''SYSTEM''. As a "sys" user issue
"grant select on v_


session to system;"这将解决问题

ORA-00942:表格或视图不存在。


如果有帮助,请告诉我们。


问候,


支持


DBA Infopower

https://www.dbainfopower.com


建议由DBA Infopower提供的按原样提供。没有保修。

DBA Infopower明确表示不对任何保修提出任何保证

包括对特定用途的商家健身的任何默示保证

aviating交易和/或表现的过程。 DBA Infopower不保证DBA Infopower提供的建议不会产生偏见,b $ b b b bb,错误,窃听或聆听。 DBA Infopower不对

服务的信息质量或认证负责,或由专家就建议提供的详细信息负责。通过使用此建议,该建议的

用户接受本声明的条款和条件。


" tracy" < tr ******** @ yahoo.com.hkwrote in message

news:5c ******************** ******@posting.google.c om ...
session to system;" This would resolve issue of
"ORA-00942: table or view does not exist".

Please, let us know if this helps.

Regards,

Support

DBA Infopower

https://www.dbainfopower.com

The advice provided by DBA Infopower are provided "as is" with no warranty.
DBA Infopower expressly disclaims any warranty, regarding the advice
including any implied warranty of merchant fitness for a particular purpose
aviating course of dealing and/or performance. DBA Infopower does not
warrant that the advices provided by DBA Infopower will be free from bias,
detests, errors, eavesdropping or listening. DBA Infopower shall not be
responsible for the quality of information or the authentication of the
services or details given by experts on the advice. By using this advice the
user of the advice accepts the terms and conditions of this statement.


"tracy" <tr********@yahoo.com.hkwrote in message
news:5c**************************@posting.google.c om...

我真的需要帮助。


我运行此脚本和错误消息呼吁如下:

drop trigger log_errors_trig;

drop trigger log_errors_trig

ERROR at line 1:

ORA04080:触发''LOG_ERRORS-TRIG''不存在


drop table log_errors_tab;

drop table log_errors_tab

第1行的错误:

ORA00942:表或视图不存在


create table log_errors_tab(

error varchar2(30),

时间戳日期,

用户名varchar2(30),

osuser varchar2(30),

机器varchar2(64),

进程varchar2(8),

程序varchar2(48));


在数据servererror之后创建或替换触发器log_errors_trig

base

声明

var_user varchar2(30);

var_osuser varchar2(30);

var_machine varchar2(64 );

var_process varchar2(8);

var_program varchar2(48);

begin

选择用户名, osuser,机器,进程,程序

到var_user,var_osuser,var_machine,var_process,var_program

来自sys.v _
Hi, I really need help.

I run this script and error message appeal as below:

drop trigger log_errors_trig;
drop trigger log_errors_trig
ERROR at line 1:
ORA04080: trigger ''LOG_ERRORS-TRIG'' does not exist

drop table log_errors_tab;
drop table log_errors_tab
ERROR at line 1:
ORA00942: table or view does not exist
create table log_errors_tab (
error varchar2(30),
timestamp date,
username varchar2(30),
osuser varchar2(30),
machine varchar2(64),
process varchar2(8),
program varchar2(48));

create or replace trigger log_errors_trig
after servererror on database
declare
var_user varchar2(30);
var_osuser varchar2(30);
var_machine varchar2(64);
var_process varchar2(8);
var_program varchar2(48);
begin
select username, osuser, machine, process, program
into var_user, var_osuser, var_machine, var_process, var_program
from sys.v_


这篇关于帮助帮助:ORA04080:触发'LOG_ERRORS-TRIG'不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆