误删除dual表的解决办法

===========================================================
作者: m77m78(http://m77m78.itpub.net)
发表于:2007.05.14 21:43
分类: oracle 管理
出处:http://m77m78.itpub.net/post/125/287704
----------------------------------------------------------

1 ) Error 980 during db open is causing the shut down of the database
2 ) Need to create the Dual Table to resolve the issue (which was not possible in the mount stage)

Workaround
=========
3 ) Set the following parameter in the init.ora

replication_dependency_tracking = FALSE

4 ) Startup the database
5 ) Create the Dual Table and Dual Public Synonym


CREATE TABLE "SYS"."DUAL"
( "DUMMY" VARCHAR2(1)
) PCTFREE 10 PCTUSED 4;
Insert Into Dual Values ('X');
Commit;
Grant Select On Dual To Public;

6 ) Remove the above parameter and restart the database

Note :- Dual table should not be dropped in any case , as it can lead to serious problems
Errors

加参数replication_dependency_tracking = FALSE
就能open了。然后用sys
create table sys.DUAL(DUMMY varchar2(1));
insert into dual values('X');
commit;
grant select on dual to public;
把参数去了

原文地址:https://www.cnblogs.com/jasonsfu/p/1156055.html