您可能应该联系 Oracle 支持。
你有备份吗?如果是这样,请从备份中恢复该表。否则(如果您不适合联系 Oracle)...
Oracle对DUAL有特殊的优化,但不知道表本身有没有什么特别之处。我会把它当作一张普通的桌子来对待,看看会发生什么。尝试这个:
以 SYSDBA 身份连接,然后执行以下命令:
CREATE TABLE SYS.DUAL
(
DUMMY VARCHAR2(1 BYTE)
);
INSERT INTO SYS.DUAL VALUES ( 'X' );
COMMIT;
GRANT SELECT ON SYS.DUAL TO public WITH GRANT OPTION;
CREATE PUBLIC SYNONYM DUAL FOR SYS.DUAL;
Run Code Online (Sandbox Code Playgroud)
永远不要再更改 SYS 模式中的任何内容!
编辑:刚刚注意到今天的重复:https : //stackoverflow.com/questions/2816478/recovering-dual-table-in-oracle - 在此处添加了建议。