删除caiwu表空间下对应的所有对象

[复制链接]
查看11 | 回复7 | 2015-9-17 13:12:47 | 显示全部楼层 |阅读模式
问题描述:oracle表空间caiwu,对应的用户caiwu。本来想用 drop user caiwu cascade; 把caiwu下的对象都给删除掉,然后重新导入数据,但是提示该用户正在连接,但是我还清除不掉该进程。
现在想问那位知道怎么删除caiwu用户下的所有的对象。最好能提供脚本啥的,或者教给我高招让我把连接的进程给删除掉。
回复

使用道具 举报

千问 | 2015-9-17 13:12:47 | 显示全部楼层
系统提示该用户正在连接,是不是英文的:the user is currently connected?
如果是的话,需要检查v$session中的内容:
select * from v$session where username = 'CAIWU';
然后杀掉相关的session。
可能的话,重启数据库看看。
回复

使用道具 举报

千问 | 2015-9-17 13:12:47 | 显示全部楼层
还有没有别人有不同的方法呢?
回复

使用道具 举报

千问 | 2015-9-17 13:12:47 | 显示全部楼层
已经连接到数据库的进程是不能直接删除的。
只能通过kill session来实现。
如果你觉得麻烦,还是重启好了。
如果你有兴趣自己杀进程:
select
'alter system kill session '''||
sid||
','||
serial#||
''' ; '
from v$session
where username = 'CAIWU'
然后将得到的句子自己执行就好。
回复

使用道具 举报

千问 | 2015-9-17 13:12:47 | 显示全部楼层
可以利用select table_name from user_tables;查出所有对象,然后删除.
回复

使用道具 举报

千问 | 2015-9-17 13:12:47 | 显示全部楼层
关了监听!重启数据库!
回复

使用道具 举报

千问 | 2015-9-17 13:12:47 | 显示全部楼层
caiwu表空间下不光有表还有别的东西,视图、同义词等。
查出来表有很多,2000多表,改怎么批量删除呢?
回复

使用道具 举报

千问 | 2015-9-17 13:12:47 | 显示全部楼层
drop user caiwu cascade啊
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行