是这样的,由于需要存储地理信息字段,而之前安装数据库的时候没有安装对oracle spatial的支持!
于是:
1.在高级安装->定制,添加上spatial组件。
2. 以sys用户执行D:\oracle\product\10.2.0\db_1\ord\admin\ordinst.sql创建MDSYS用户并相应的权限。
3. 以sys用户再执行D:\oracle\product\10.2.0\db_1\md\admin\mdinst.sql创建所需的地理信息相关的包。
问题:
执行第3点的时候发现有错误:同义词的循环链,而导致SDO_GEOM_METADATA_TABLE等表未能创建。执行完之后发现MDSYS.*
的很多包都有红色的叉。创建带有地理信息的表时依然报无法识别数据类型。
google了下发现执行第3点的时候应该以system用户角色,于是想把MDSYS用户drop掉之后重新执行下上述的两个sql脚本。
但问题是执行:drop user MDSYS cascade出现如下错误:
SQL> drop user MDSYS cascade;
drop user MDSYS cascade
*
第 1 行出现错误:
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-00942: 表或视图不存在
ORA-06512: 在 line 7
跟踪了下日志发现:
PARSE #55:c=0,e=26,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,tim=171035288510
=====================
PARSE ERROR #17:len=75 dep=2 uid=5 oct=7 lid=5 tim=171035291109 err=942
DELETE FROM SDO_GEOM_METADATA_TABLEWHERE '"'||SDO_OWNER||'"' = '"MDSYS"'
EXEC #55:c=0,e=9194,p=0,cr=0,cu=4,mis=0,r=0,dep=1,og=1,tim=171035298279
ERROR #55:err=942 tim=17103145
原来真的是SDO_GEOM_METADATA_TABLE该表不存在。
有什么方法可以drop掉MDSYS用户啊?
|