用着用着oracle,出现一莫名其妙的错误,
建新表后建外键老出错,报递归sql级别1出现错误,表或视图不存在。
百度了下,可能是因为我之前删了一个系统,因为之前里面有很多废表,我就删了一个,结果悲剧了,我也不知道表名。。
在sql窗口执行命令如下:
alter session set sql_trace=true;
alter session set events'10046 trace name context forever,level 4';
alter session set sql_trace=false;
然后查看这个时间点的trace文件。
会发现少了access$这个表,找一个别人的能用的数据库现成的表导出成dmp文件,然后再导入就可以了。
select * from dba_recyclebin; 数据库回收站。
这篇文章有点类似,也是少了系统文件
http://hi.baidu.com/wvgqntjfezkmqre/item/d5cf210611d04ed21ef04662
创建 表
-- Create table
create table SYS.ACCESS$
(
D_OBJ# NUMBER not null,
ORDER# NUMBER not null,
COLUMNS RAW(126),
TYPES NUMBER not null
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 16
next 104
minextents 1
maxextents unlimited
);
-- Create/Recreate indexes
create index SYS.I_ACCESS1 on SYS.ACCESS$ (D_OBJ#, ORDER#)
tablespace SYSTEM
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 16K
next 104K
minextents 1
maxextents unlimited
);