首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DROP USER……CASCADE特别慢怎么办?

问题:

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

方法:

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

例:

1.通过如下SQL列出目标用户所有对象的删除语句脚本(drop.sql)SQL> set pages 0SQL> spool drop.sqlSQL> select 'drop ' || object_type || ' ' || owner || '.' || object_name || ';' from dba_objects where owner = '';SQL> spool off

2.执行删除语句脚本(drop.sql)SQL> @drop.sql

3.删除用户SQL> DROP USER   CASCADE ;

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

例:

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';alter session set events '10046 trace name context off';exit

【怎么办专栏】

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

关于小编:

10+年数据库运维/开发/技术支持经验,多年项目维护/开发/团队管理经验,熟悉Oracle/MySQL/DB2等关系型数据库,翻译出版《MySQL基础教程》,Oracle 11g OCM大师认证、10g/11g/12c OCP、RAC&GI  OCE、Cloud等认证专家,IBM DB2 数据库V8.1 DBA认证。

本文仅代表个人观点,与任何公司无关。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200419A0E3RU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券