通过 TTS 导出 PL/SQL 包

Posted

技术标签:

【中文标题】通过 TTS 导出 PL/SQL 包【英文标题】:Exporting PL/SQL Packages Through TTS 【发布时间】:2014-05-30 16:25:08 【问题描述】:

我对 dba 任务非常陌生。我可以使用 expdp 和 impdp 将 PL/SQL 包、函数、过程从一个数据库导出到另一个数据库。但是我需要通过 Transporting the tablespace(TTS) 来导出这些对象(函数、过程)。我在不同的线程中搜索,但没有得到任何帮助。我听说有一种通过 TTS 导出包的方法(尽管我在许多论坛上读到“无法通过 TTS 导出包”)。但是怎么做?我已经尝试过 TTS,但没有导出包,只导出了表。

【问题讨论】:

为什么包不同于任何其他对象类型?你试过了吗? 你用的是哪个版本? @OldProgrammer 据我了解,包也依赖于系统表空间,无法传输系统表空间。但我听说有办法。 @Joseph 我正在使用 11g .. 为什么您决定需要使用一个特定工具(可传输表空间)来完成一项任务,而不是另一个您知道正确完成任务的看似更合乎逻辑的工具(expdp)?特别是在使用可传输表空间时,无论如何都需要导出元数据。 【参考方案1】:

如果你有Oracle 10g或更高版本,那么你可以使用Data Pump的INCLUDE参数来导出包,如下:

expdp system/password@db10g directory=TEST_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log INCLUDE=PACKAGE

参考文献

Oracle Data Pump (expdp and impdp) in Oracle Database 10g on ORACLE-BASE

Parameters Available in Export's Command-Line Mode on Oracle® Database Utilities

【讨论】:

我已经这样做了。有效。但我需要通过 TTS 转包

以上是关于通过 TTS 导出 PL/SQL 包的主要内容,如果未能解决你的问题,请参考以下文章

编写PL/SQL程序使用数据泵导出导入数据

如何使用 pl/sql 脚本导出 oracle sql 开发人员表模式?

PL SQL导入导出sql/dmp文件

Oracle 到 Excel - PL/SQL 导出过程

解决PL/SQL使用无法导出dmp

PL/SQL重新编译包无反应