通过 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 包的主要内容,如果未能解决你的问题,请参考以下文章