热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle删除用户下的所有用户对象

使用PLSQLDeveloper恢复备份时,不小心把备份恢复到了system用户下,居然不出任何意外的成功了。而这时候我的心都碎了,大家知

使用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 from user_objects o

该语句是查出当前用户的所有用户对象的名称,类型,创建时间和修改时间结果如下图:

有了这几个字段,就可以做几件事了:1,可以根据导入备份的时间来筛选出需要删除的数据对象。2,根据类型可以分别筛选出不同的数据对象。3,根据名称可以拼接出不同的drop语句。例如:拼接出drop语句

select 'drop '|| o.OBJECT_TYPE||' ' ||o.OBJECT_NAME from user_objects o where to_char(o.LAST_DDL_TIME,'yyyy-mm-dd')>='2013-01-10'

这条语句是根据时间过滤出符合条件的数据对象名称和类型,拼接出drop语句,查询结果如下图:

这样所有的数据对象都拼接上了drop,把这些都拷贝到文本编辑器里,看一看有没有多余的东西,替换成空,然后拿到命令行下去执行。

这样就可以把大部分数据对象都删掉了,有些需要手动去删,反复执行上面的操作也可以,但有一个lob类型的是不能采用这种方式删的,所以需要想另外的办法。

这样折腾一段时间,应该就可以完成了,主要是TYPE,这个类型很顽固,,不但不好删除,而且还影响其他用户。所以一定要手动删除掉。


推荐阅读
  • 在安装 SQL Server 时,选择混合验证模式可以提供更高的灵活性和管理便利性。如果您已经安装了 SQL Server 并使用单一的 Windows 身份验证模式,可以通过以下步骤将其更改为混合验证模式。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • SQL中UPDATE SET FROM语句的使用方法及应用场景
    本文详细介绍了SQL中UPDATE SET FROM语句的使用方法,通过具体示例展示了如何利用该语句高效地更新多表关联数据。适合数据库管理员和开发人员参考。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • SPSS操作指南:双变量相关性分析的详细步骤
    本教程将详细介绍如何使用IBM SPSS Statistics进行双变量相关性分析。通过实例演示,帮助读者理解变量间的关系及其统计意义。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 如何在CAD查看器中同时打开并对比两张DWG图纸
    本文将详细介绍如何使用专业的CAD查看软件,如迅捷CAD看图,来同时打开和对比两张DWG格式的CAD图纸。无论是在设计审核还是项目管理中,掌握这一技能都能显著提高工作效率。 ... [详细]
  • 编写了几个500行左右代码的程序,但基本上解决问题还是面向过程的思维,如何从问题中抽象出类,形成类的划分和设计,从而用面向对象的思维解决问题?有这方面的入门好书吗?最好是结合几个具体的案例分析的 ... [详细]
  • Qt QTableView 内嵌控件的实现方法
    本文详细介绍了在 Qt QTableView 中嵌入控件的多种方法,包括使用 QItemDelegate、setIndexWidget 和 setIndexWidget 结合布局管理器。每种方法都有其适用场景和优缺点。 ... [详细]
  • Ulysses Mac v29:革新文本编辑与写作体验
    探索Ulysses Mac v29,这款先进的纯文本编辑器为Mac用户带来了全新的写作和编辑环境。它不仅具备简洁直观的界面,还融合了Markdown等标记语言的最佳特性,支持多种格式导出,并提供强大的组织和同步功能。 ... [详细]
  • 本文详细介绍了Vim编辑器的三种主要模式及其常用命令,帮助用户更好地掌握这一强大的文本编辑工具。 ... [详细]
  • 解决Windows 10开机频繁自检问题的实用方法
    许多用户在使用Windows 10系统时,经常会遇到开机时自动进行磁盘检查的情况。这不仅影响了开机速度,还可能带来不必要的麻烦。本文将详细介绍如何通过简单的注册表修改来避免每次开机时的磁盘自检,提升系统启动效率。 ... [详细]
  • 本文详细介绍了流编辑器sed中的G、H、g、h命令,探讨了它们的工作原理及应用场景。通过实例解析和图解分析,帮助读者掌握这些高级命令的使用方法。 ... [详细]
  • HTML基础入门指南
    本文将深入浅出地介绍HTML的基础知识,包括其定义、开发工具、制定机构、特性、基本标签及更多实用内容。 ... [详细]
  • 本文介绍了解决Oracle 10G数据库中ORA-12541 TNS: no listener错误的详细步骤。该错误通常发生在监听器服务未正确启动或配置不当的情况下,文章将指导您通过检查服务状态、配置注册表和启动监听器来解决问题。 ... [详细]
author-avatar
email_osoo_240
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有