前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【怎么办001】DROP USER ... CASCADE特别慢怎么办?

【怎么办001】DROP USER ... CASCADE特别慢怎么办?

作者头像
SQLplusDB
发布2020-04-27 10:40:16
1.2K0
发布2020-04-27 10:40:16
举报

问题:

使用DROP USER ... CASCADE删除用户时执行特别慢怎么办?

方法:

使用DROP USER ... CASCADE删除用户时,如果目标用户有太多表等对象的话,执行可能会非常慢。作为临时处理方法可以先删除目标用户Schema中的所有对象,然后删除用户。 例:

代码语言:javascript
复制
1.通过如下SQL列出目标用户所有对象的删除语句脚本(drop.sql)SQL> set pages 0SQL> spool drop.sqlSQL> select 'drop ' || object_type || ' ' || owner || '.' || object_name || ';'     from dba_objects where owner = '<USER_NAME>';SQL> spool off
2.执行删除语句脚本(drop.sql)SQL> @drop.sql
3.删除用户SQL> DROP USER <USER_NAME>  CASCADE ;

如果想进一步调查原因的话,可以设置10046跟踪文件看看到底什么操作花费了更多的时间。 例:

代码语言:javascript
复制
set timing onset time onalter session set tracefile_identifier='10046';alter session set max_dump_file_size = UNLIMITED;alter session set timed_statistics=true;alter session set events '10046 trace name context forever, level 12';<SQL 文>alter session set events '10046 trace name context off';exit

【怎么办专栏】

数据库技术支持专家免费教你解决工作中的实际问题。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Oracle数据库技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档