使用 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 包包括两个对象; packagepackage bodypackage 是您的包中公开且对用户可见的方法所在的位置。 package body 是您实际实施程序的地方。

因此,当将包移动到其他地方时,您需要创建这两个对象。 Toad 有一种方法可以使用模式浏览器向您显示这些对象的脚本。找到源,复制两个脚本并在目标上运行它们。

【讨论】:

我是管理员,所以我有特权这样做,它们不是 shemas,它们是 2 个不同的数据库 好吧,然后复制粘贴。粘贴时请务必注意架构名称。 我不知道步骤,如果我标记包并单击“复制”,然后我另一个shema“粘贴”,什么也没有发生??? 使用 Schema Browser 时,在屏幕右侧应该可以看到包的来源。首先,复制包规范,然后复制包体。打开与其他数据库的新连接,并在那里执行它。

以上是关于使用 TOAD for Oracle 将包从一个数据库复制到另一个数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Toad for Oracle 中使用自定义代码片段?

Oracle / Toad 中的 For 循环

Toad for Oracle安装

toad for oracle可否批量导出存储过程

是否因为省略了依赖项而将包从 Stackage LTS 中排除?

使用 Toad for Oracle 检索存储过程、视图、函数、触发器