使用 TOAD for Oracle 将包从一个数据库复制到另一个数据库
Posted
技术标签:
【中文标题】使用 TOAD for Oracle 将包从一个数据库复制到另一个数据库【英文标题】:Copy package from one database to another using TOAD for Oracle 【发布时间】:2012-05-11 12:12:25 【问题描述】:我正在使用 TOAD for oracle 来管理 Oracle 数据库,我想将一个程序包从一个数据库复制到另一个数据库。有没有一些简单的方法来做到这一点,比如复制粘贴?
谢谢
【问题讨论】:
【参考方案1】:简单的选项是使用 TOAD 中可用的“在另一个架构中创建”选项。请按照以下步骤操作: (有两个数据库 DB1 和 DB2。假设您要将 DB1 中的过程创建到另一个数据库 DB2 中。)
-
您需要同时登录两个数据库(比如 DB1 和 DB2)。
转到 DB1 中的过程。
右键单击它。选择“在另一个架构中创建”。
选择所需的脚本选项并单击“确定”。
选择目标连接和目标模式(将用于 DB2)。
点击“执行”
你的工作完成了。我让它变得更简单了吗?
【讨论】:
【参考方案2】:使用模式浏览器,如果您有权限,您可以访问包的源代码。在那之后,您可以随心所欲地使用它。
如果您所说的这两个数据库实际上是两个架构,我建议不要重新创建包,而是将其授予另一个架构。
编辑:关于包的更多解释。
基本上,一个 Oracle 包包括两个对象; package
和 package body
。 package
是您的包中公开且对用户可见的方法所在的位置。 package body
是您实际实施程序的地方。
因此,当将包移动到其他地方时,您需要创建这两个对象。 Toad 有一种方法可以使用模式浏览器向您显示这些对象的脚本。找到源,复制两个脚本并在目标上运行它们。
【讨论】:
我是管理员,所以我有特权这样做,它们不是 shemas,它们是 2 个不同的数据库 好吧,然后复制粘贴。粘贴时请务必注意架构名称。 我不知道步骤,如果我标记包并单击“复制”,然后我另一个shema“粘贴”,什么也没有发生??? 使用 Schema Browser 时,在屏幕右侧应该可以看到包的来源。首先,复制包规范,然后复制包体。打开与其他数据库的新连接,并在那里执行它。以上是关于使用 TOAD for Oracle 将包从一个数据库复制到另一个数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Toad for Oracle 中使用自定义代码片段?