使用impdp导入数据库,脑袋一时发热,怀疑好像有问题,然后按了ctrl+c退出。结果不但导致impdp出现问题,还导致create table不能进行。由于是生产系统,吓出一身冷汗。
[oracle@voddb ~]$ impdp system/xxxxx@voddb directory=expdp_dir dumpfile=oam20130605.dmp SCHEMAS=OAM REMAP_SCHEMA = OAM:OAM2
Import: Release 11.2.0.1.0 - Production on Thu Jun 6 14:06:18 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
UDI-31623: operation generated ORACLE error 31623
ORA-31623: a job is not attached to this session via the specified handle
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3263
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4488
ORA-06512: at line 1

SQL> create table aaaaa(aa  varchar2(100));
create table aaaaa(aa  varchar2(100))
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kqlInvObj:user], [111], [], [], [],
[], [], [], [], [], [], []

网上查得: http://www.freedba.net/2010/1824.html
select dataobj# from obj$ where name = '_NEXT_OBJECT';
select max(obj#) from obj$ ;

但发现 dataobj# 比 max(obj#) 大,update obj$ set dataobj#=【30397】 where name = '_NEXT_OBJECT';
也没用。仔细查看,跟这个问题还不一样。它报的错误是ORA-00600: internal error code, arguments: [kkdlcob-objn-exists], [254555], [], [], [], [], [], [], [], [], [], []
我的后面是kqlInvObj:user,继续用这个关键字查询:
http://space.itpub.net/11088128/viewspace-711751
http://blog.mchz.com.cn/?p=8433 ;,跟我的问题一样:
select * from sys.obj$where owner# in (111);      //111即报错信息中的信息:[kqlInvObj:user], [111],
查到有记录
select * from sys.user$ where user#=111;
查到无记录,然后将上面的记录删除掉:

delete from sys.obj$where owner# in (111);
commit;

继续create table就正常了:
SQL> create table aaaaa(aa  varchar2(100));

Table created.

impdp也正常了!

庆幸!!!