今天无缘无故的outln不见了,后台alter日志也没有删除的信息。重新创建也创建不上create user outln identified by outln*ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-18008: cannot find OUTLN schema很是郁闷,不见了居然还不让创建。只能通过后台的dump文件来查看原因了sqlplus / as sysdbaalter session set events "18008 trace name errorstack level 3";alter session set events "10046 trace name context forever, level 12";create user outln identified by outln;通过跟踪后台日志查看。知道是这个trigger的问题:MDSYS.SDO_ST_SYN_CREATEalter trigger MDSYS.SDO_ST_SYN_CREATE disable;create user outln identified by outln;alter trigger MDSYS.SDO_ST_SYN_CREATE enable;这个以后就不会出现ORA-18008: cannot find OUTLN schema这个问题了。
附上:OUTLN用户的创建语句DECLARE
user_exists EXCEPTION;
outln_user number;
outln_tables number;
extra_outln_tables number;
DDL_CURSOR integer;
BEGIN
select count(*) into outln_user from user$ where name="OUTLN";select count(*) into outln_tables from obj$ where name in
("OL$", "OL$HINTS","OL$NODES") and owner#=
(select user# from user$ where name="OUTLN");select count(*) into extra_outln_tables from obj$ where name not in
("OL$", "OL$HINTS","OL$NODES") and type#=2 and owner#=
(select user# from user$ where name="OUTLN");
DDL_CURSOR := dbms_sql.open_cursor;
IF outln_user = 0 THEN
dbms_sql.parse(DDL_CURSOR, "create user outln identified by outln",
dbms_sql.native);
dbms_sql.parse(DDL_CURSOR,
"grant connect, resource, execute any procedure to outln",
dbms_sql.native);
dbms_sql.parse(DDL_CURSOR, "create table outln.ol$ ( "||
"ol_name varchar2(30), " ||
"sql_text long, " ||
"textlen number, " ||
"signature raw(16), " ||
"hash_value number, " ||
"hash_value2 number, " ||
"category varchar2(30), " ||
"version varchar2(64), " ||
"creator varchar2(30), " ||
"timestamp date, " ||
"flags number, " ||
"hintcount number, " ||
"spare1 number, " ||
"spare2 varchar2(1000))", dbms_sql.native);
dbms_sql.parse(DDL_CURSOR, "create table outln.ol$hints ( "||
"ol_name varchar2(30), "||
"hint# number, "||
"category varchar2(30), "||
"hint_type number, "||
"hint_text varchar2(512), "||
"stage# number, "||
"node# number, "||
"table_name varchar2(30), "||
"table_tin number, "||
"table_pos number, "||
"ref_id number, "||
"user_table_name varchar2(64), "||
"cost FLOAT(126),"||
"cardinality FLOAT(126),"||
"bytes FLOAT(126),"||
"hint_textoff number, "||
"hint_textlen number,"||
"join_pred varchar2(2000),"||
"spare1 number, "||
"spare2 number, "||
"hint_string clob)", dbms_sql.native);
dbms_sql.parse(DDL_CURSOR, "create table outln.ol$nodes ( "||
"ol_name varchar2(30), "||
"category varchar2(30), "||
"node_id number, "||
"parent_id number, "||
"node_type number, "||
"node_textlen number, "||
"node_textoff number, "||
"node_name varchar2(64))", dbms_sql.native);
dbms_sql.parse(DDL_CURSOR, "create unique index outln.ol$name "||
"on outln.ol$(ol_name)", dbms_sql.native);
dbms_sql.parse(DDL_CURSOR, "create unique index outln.ol$signature "||
" on outln.ol$(signature,category)", dbms_sql.native);
dbms_sql.parse(DDL_CURSOR, "create unique index outln.ol$hnt_num "||
" on outln.ol$hints(ol_name, hint#)", dbms_sql.native);
dbms_output.put_line("OUTLN CREATION SUCCESSFUL");
ELSE
IF outln_tables!=3 or extra_outln_tables!=0 THEN
dbms_output.put_line("ERROR - OUTLN USER ALREADY EXISTS");
RAISE user_exists;
ELSE
dbms_output.put_line("OUTLN CREATION SUCCESSFUL");
END IF;
END IF;EXCEPTION
WHEN user_exists THEN
RAISE;END;
/alter user outln account lock;
10g R2的outln用户的文档Subject: Script. to create user OUTLN in 10.2
Doc ID: 422983.1 Type: SCRIPT
Modified Date : 04-SEP-2008 Status: PUBLISHED9i的参考文档如下:
Subject: Script. to create user OUTLN in 9i
Doc ID: 240478.1 Type: SCRIPT
Modified Date : 08-DEC-2008 Status: PUBLISHED8i的参考文档如下:
Subject: Script. to create user OUTLN in 8i
Doc ID: 98572.1 Type: BULLETIN
Modified Date : 10-JUN-2003 Status: PUBLISHED
Oracle 创建dblink 报错:ORA-01017、ORA-02063Oracle rename数据文件的两种方法相关资讯 ORA-18008
- Oracle报错:“ORA-18008: 无法找 (04/01/2013 20:06:06)
本文评论 查看全部评论 (0)