求救,误删了SYSTEM帐号下的表

[复制链接]
查看11 | 回复3 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
本想删一个建好的用户的中的表,结果是用了SYSTEM/MANAGER登录,将SYSTEM用户中的表、视图、同义词,全部删除,实在不能删除的表除外,后因报了一个错执行了一个SQL脚本, 又增加了一些表、如下所示:
TNAME
TABTYPECLUSTERID
------------------------------ ------- ----------
DEF$_AQCALL
TABLE
DEF$_AQERROR
TABLE
HELP
TABLE
PRODUCT_PRIVS
VIEW
PRODUCT_USER_PROFILE
SYNONYM
SQLPLUS_PRODUCT_PROFILETABLE
对于一个原始的SYSTEM账号:没有删表的帐号如下:
TNAME
TABTYPECLUSTERID
------------------------------ ------- ----------
AQ$DEF$_AQCALL
VIEW
AQ$DEF$_AQERROR
VIEW
AQ$_QUEUES
TABLE
AQ$_QUEUE_TABLES
TABLE
AQ$_SCHEDULES
TABLE
CATALOG
SYNONYM
COL
SYNONYM
DEF$_AQCALL
TABLE
DEF$_AQERROR
TABLE
DEF$_CALLDEST
TABLE
DEF$_DEFAULTDEST
TABLE
TNAME
TABTYPECLUSTERID
------------------------------ ------- ----------
DEF$_DESTINATION
TABLE
DEF$_ERROR
TABLE
DEF$_LOB
TABLE
DEF$_ORIGIN
TABLE
DEF$_PROPAGATOR
TABLE
DEF$_PUSHED_TRANSACTIONS TABLE
DEF$_TEMP$LOB
TABLE
HELP
TABLE
PRODUCT_PRIVS
VIEW
PRODUCT_USER_PROFILE
SYNONYM
PUBLICSYN
SYNONYM
TNAME
TABTYPECLUSTERID
------------------------------ ------- ----------
SQLPLUS_PRODUCT_PROFILETABLE
SYSCATALOG
SYNONYM
SYSFILES
SYNONYM
TAB
SYNONYM
TABQUOTAS
SYNONYM
有什么问题:
我若再建一个用户,一个表空间,没有任何问题,但要DROP它们,如DROP TABLESPACE, DROP USER 则出错,说表和视图对象不存在,报以下的错:
ORA-00604: error occurred at recursive SQL level 1
ORA-00942: table or view does not exist
问:这种问题如何解决,
另:这些表应是一些SQL语句脚本创建的,是否只要重建这些误删的表、视图就行啦吗?若可以重建,这些SQL语句脚本是那些。
多谢指点。

回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
试一下重新run 手动建 database 时需要run的那两个 sql scripts.
by the way, i know who you are, that is why i answer your question.


回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 snowhite2000 发布
[B]试一下重新run 手动建 database 时需要run的那两个 sql scripts.
by the way, i know who you are, that is why i answer your question.

[/B]

这样的话,可能会使更多的系统表为空,好像没有很好的办法,除了恢复备份以外。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
先exp建立表后再imp(ignore = y)?
可以么?呵呵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行