Oracle数据库中删除DUAL表后的处理

Oracle系统中dual表是一个“神秘”的表,网上有很多网友都对该表进行了测试,该表只有一行一列,其实该表和系统中的其他表一样,一样可以执行插入、更新、删除操作,还可以执行drop操作。但是不要去执行drop表的操作,否则会使系统不能用,数据库起不了,会报Database startup crashes with ORA-1092错误。

此时也不要慌乱,可以通过执行以下步骤来进行恢复。可以用sys用户登陆。

SQL> create pfile=’d:\\pfile.bak’ from spfile
SQL> shutdown immediate

在d:\\pfile.bak文件中最后加入一条:

replication_dependency_tracking = FALSE

重新启动数据库:

SQL> startup pfile=’d:\\pfile.bak’
SQL> create table “sys”.”DUAL”