首页 > 编程知识 正文

oracle怎么删除用户,如何删除oracle用户

时间:2023-05-03 14:55:17 阅读:142768 作者:2650

使用PL/SQL Developer恢复备份时,意外地将备份恢复到system用户下,但意外地成功了。 这个时候我的心碎了。 大家都知道

犯了错误。 使用PL/SQL Developer恢复备份时,错误地将备份恢复到了system用户下。 没有意外的成功。 这时,我的心碎了。 system是Oracle的超级管理员之一,是次于sys用户的管理次级系统对象和用户对象的管理员,不能删除或重建。 但是,引入了那么多数据,又是如何清晰呢?

在网上搜索了一些资料,得到了一些启发。 用户数据对象可以集中管理。 用select检测并过滤用户对象,然后一个一个删除即可。 麻烦有点小,但反正有解决的办法。 补救办法如下:

select o.OBJECT_NAME,o.OBJECT_TYPE,o.CREATED,o.last _ DDL _ time fromuser _ objectso

此语句显示了检测到当前用户的所有用户对象的名称、类型、创建时间和修改时间的结果,如下图所示。

有了这些字段,我们可以做一些事情。 1 .可以根据导入备份的时间过滤要删除的数据对象。 2 )可以根据类型筛选不同的数据对象。 3 )根据不同的名称可以连接不同的drop语句。 例如,将drop语句连接起来

select ' drop '|o.object _ type|| '|o.object _ name fromuser _ objectsowhereto _ char (o.last _ DDL _ ) )

此语句根据时间过滤满足条件的数据对象的名称和类型,并由drop语句连接而成,查询结果如下图所示。

现在所有数据对象都已拼接到drop中。 将它们复制到文本编辑器中,看看有没有多余的东西,替换为空,拿到命令行上执行。

现在,您可以删除大多数数据对象。 有些东西需要手动删除。 您可以重复上述操作,但有些lob类型无法用这种方法删除,需要考虑其他方法。

这样折腾一会儿,应该就完成了。 主要是类型。 此类型很顽固,不仅难以删除,还会影响其他用户。 所以请务必手动删除。

这篇技术文章来自互联网。 如果您不打算侵犯您的权益,请单击此处反馈版权投诉。 php中文网

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。