ORA-04089: 無法對 SYS 擁有的對象創(chuàng)建觸發(fā)器
當(dāng)在sys用戶下創(chuàng)建觸發(fā)器時,報錯ORA-04089,如下:
SQL> create or replace trigger bar_code_tg
2 before insert on sjk_bar_code for each row
3 begin
4 select bar_code_sequence.nextval into :new.idfrom dual;
5 end;
6 /
create or replace trigger bar_code_tg
*
第 1 行出現(xiàn)錯誤:
ORA-04089:?無法對?SYS?擁有的對象創(chuàng)建觸發(fā)器
異常原因:所有以sysdba登陸的賬戶都不能創(chuàng)建觸發(fā)器
解決方案:以normal方式登陸數(shù)據(jù)庫建表,建觸發(fā)器
執(zhí)行過程:
SQL> show user
USER 為"SYS"
SQL> create user bar identified by bar;
用戶已創(chuàng)建。
SQL> grant connect,resource,unlimited tablespace to bar;
授權(quán)成功。
SQL> conn bar/bar;
已連接。
SQL> create table SJK_BAR_CODE
2 (
3 id number(12) not null,
4 rule varchar2(255),
5 esp_no varchar2(100),
6 table_name varchar2(10),
7 esp_id number(12),
8 is_del number(1),
9 create_time date,
10 update_time date,
11 esp_content varchar2(100)
12 )
13 tablespace users
14 pctfree 10
15 initrans 1
16 maxtrans 255
17 storage
18 (initial 64K
19 minextents 1
20 maxextents unlimited
21 )
22 ;
表已創(chuàng)建。
SQL> create or replace trigger bar_code_tg
2 before insert on sjk_bar_code for each row
3 begin
4 select bar_code_sequence.nextval into :new.idfrom dual;
5 end;
6 /
觸發(fā)器已創(chuàng)建
