又见图形工具引起的灾难, 在PL/SQL中用SYS用户登录, 不小心把所有的视图都删除了.
我已经见过好多次OEM上误删表/用户/表空间的问题, 都是因为在图形工具上按错了键或点错了鼠标, 这些工具在有权限时, 要删除什么东西总是默认以CASCADE方式进行的, 因此才造成的问题. 在这个例子中, 后来发现不单单是一些视图没有了, 还有一些SYS用户下的系统表被删除了. 在运行catalog重建系统视图时, 遇到了以下错误.
CREATE OR REPLACE VIEW exu81approle (
role, schema, package) AS
SELECT u$.name, r$.schema, r$.package
FROM sys.user$ u$, sys.approle$ r$
WHERE u$.user# = r$.role#
ORA-00942: Table or view does not exist!
涉及到SYS中的东西时总是很麻烦, 不仅是很长时间的系统停顿, 还极有可能造成不能恢复的场面.
需要密切注意权限问题.