Oracle中exp备份某个用户后,imp到新的数据库中提示对象已存在,如何删除该用户下所有对象?
我知道dropuserXXXXcascade可以,但是重新创建该用户后imp导入时还是有部分function..提示已存在,大家知道如何在不删除用户的情况下,删除所有对象...
我知道 drop user XXXX cascade 可以,但是重新创建该用户后 imp 导入时还是有部分 function.. 提示已存在,大家知道如何在不删除用户的情况下,删除所有对象?谢谢了
展开
1个回答
展开全部
删除用户是最方便的,删除用户后它所拥有的对象全部会被删除
建议你将exp/imp命令行都贴出来给你分析
建议你将exp/imp命令行都贴出来给你分析
追问
谢谢你的回答,这个我知道,我也正是这么做的,但我重新创建用户 imp 时所有表都导入成功,但还是提示有几个 function 已存在(不仅仅是function),估计是创建用户的时候有默认帮你创建了那些function,所以这里应该还是有部分对象的,我想问的是如何在不删除用户的情况下,删除所有对象
追答
begin
for x in (select 'drop '||object_type||' '||owner||'.'||object_name sql1 from dba_objects where owner='XXX') loop
execute immediate x.sql1;
end loop;
end;
/
--XXX是你要删除对象的用户,要大写
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询