- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在为一个 Web 项目开发 Oracle10.2g 数据库。我已经从文件 (some-file.dmp) 中的远程系统中导出了数据库的完整 Schema 对象。然后我想将文件的内容导入到本地系统上的另一个数据库中。该过程运行完美。
但是,我不小心将文件内容(包括表、 View 等)导入了SYS 用户。因此,SYS 用户现在挤满了大约 1500 不需要的对象。
我知道我可以单独丢弃对象,但是,这是一项令人厌烦的工作。现在,我想知道是否有任何方法可以撤消该过程并删除不需要的对象(从 SYS 用户删除表、 View 等错误导入)?
编辑:
导入对象特别包括
因此,它们是相互关联的。非常感谢任何想法或建议!
最佳答案
您可以尝试查询 DBA_OBJECTS
并查找属于 SYS
且最近创建的任何对象。例如,下面列出了今天在 SYS
模式中创建的所有对象:
SELECT object_name, object_type
FROM dba_objects
WHERE owner = 'SYS'
AND created >= TRUNC(SYSDATE)
然后您可以使用它来生成一些动态 SQL 来删除对象。这应该可以避免您手动删除它们。
但是请注意,可能有一些对象是最近创建的并且应该归 SYS
所有,因此在删除之前请仔细检查您要删除的是什么。 (在我的 Oracle 11g XE 数据库上,SYS
模式中的最新对象是大约一周半前创建的索引和表分区。)
我不知道你有什么类型的对象,但是对象类型之间会有一些依赖关系。特别是,如果另一个表具有指向它的外键约束,则不能删除该表。 This answer提供了一些 PL/SQL 代码来禁用表上的所有约束,如果需要,您可以修改这些代码以删除所有约束,或者只删除所有外键约束。
此外,如果表列使用了一种类型,则需要先删除该表,然后再删除该类型。同样,您可能需要注意类型是否依赖于其他类型。
其他需要注意的事项:
您没有指定您拥有的其他类型的对象,因此您可能会遇到其他问题。
编辑:回应您更新的问题:
AFTER LOGON ON DATABASE
,但无论如何这些触发器可能不会包含在导出中。)DROP JAVA
可能对你有帮助。关于database - 在 ORACLE 10.2g 中删除从 'SYS' 用户错误导入的模式对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19241862/
我正在编写一个 python 程序,它将所有输入都大写(替代非工作 tr '[:lowers:]' '[:upper:]')。语言环境是 ru_RU.UTF-8,我使用 PYTHONIOENCODIN
我收到错误;MVC Microsoft JScript 运行时错误:Sys.ArgumentTypeException:“Sys._Application”类型的对象无法转换为“Sys._Applic
尝试使用 IDLE 在 Python 3.7.4 版本中安装 sys 包时,出现以下错误: 输入:C:\Users\UserName\Downloads>pip install sys 输出: 采集系
我对 Python 还很陌生,所以我还在学习这门语言。我遇到的一件事是重新分配 sys.stdout 以更改打印的默认输出。所以我写了这个作为测试: import sys sys.stdout = o
我应该选择 sys.exc_info()在 sys.last_value和 friend (sys.last_type,sys.last_traceback)? 最佳答案 查看sys.last_val
我的 shell 脚本中出现奇怪的错误。使用这个: $find /sys/class/ -name temp -exec cat '{}' ';' 我得到输出 77000 find: `/sys/ke
我只想从 sys 库导入 argv 和可执行函数。 所以我使用 from 和 import 来指定这些函数,如下所示:- from sys import argv from sys import ex
我想找到调用我的程序的命令行参数,即 sys.argv,但我想在 Python 使 sys.argv 可用之前执行此操作.这是因为我在 usercustomize.py 中运行代码,该代码由 site
sys和os.sys在python中有什么区别?我见过很多项目在导入os时使用sys。当我尝试 dir(sys) 和 dir(os.sys) 时,它们的功能相同,输出也相同。 我经常看到像这样使用 s
create table T ( ID number, COL1 SYS.XMLTYPE )XMLType COLUMN COL1 STORE AS CLOB; select obj#,col
下面的 SQL 似乎可以工作,但我想知道是否有更好的方法来编写它。我正在尝试选择具有特定名称的所有 View 和表。如果找到匹配项,则应该只有一个返回值。 SELECT DISTINCT name F
在我的客户端(使用 LWJGL)中,我使用以下代码: private static long getTime() { return (Sys.getTime() * 1000) / Sys.g
我的老板让我看一些旧代码,其中所有内容都被发送到 stderr。我知道 stderr 应该有警告和错误,但他们什么时候才真正应该转到 stdout? 此程序是一项服务。它发送到 stderr 的一些消
使用 importlib,“Meta Path Finder”(通过遍历 sys.meta_path 找到)和“Path Entry Finder”(通过遍历 sys.path_hooks 找到)有什
我正在运行这个命令来安装 os_sys 包: pip3 install os_sys 但收到此错误: ERROR: os-sys has an invalid wheel, could not rea
如果我查询sys.dm_database_encryption_keys,它返回的encryption_state为3(加密),percent_complete 0。如果我查询 sys.databas
有人可以向我解释一下这些不同的环境函数具体有什么作用吗?即哪个返回什么帧?阅读文档后我完全困惑了(http://stat.ethz.ch/R-manual/R-patched/library/base
查看其他 stackoverflow 帖子后,我似乎无法解决这个重定向问题。我想做的是抑制 stdout 和 stderr,然后在捕获错误后恢复它们。抑制效果很好,但恢复它们只成功了一半。 如果我尝试
这个问题在这里已经有了答案: Understanding slicing (38 个答案) 关闭 3 个月前。 我写了这段代码: #!/usr/bin/env python import sys i
我正在创建一个名为 Qt ( Github link ) 的模块,我在其中为另一个模块起别名(例如 PyQt4),这样当我导入 Qt 我实际上正在导入 PyQt4: from Qt import Qt
我是一名优秀的程序员,十分优秀!