如何以与toad相同的方式在PL / SQL中导出数据库对象?

时间:2013-12-04 02:39:40

标签: oracle plsqldeveloper toad

我正在从toad切换到pl / sql开发人员,并希望对模式进行备份。在toad中,我选择Database-> Export-> Generate Schema Script,并且有一个名为object types的选项卡,我可以选择我想要的对象。

有没有人在pl / sql开发人员中如何做到这一点?我得到了Tools->导出用户对象.. 我正在查看列表,它没有蟾蜍所拥有的一切,我无处可寻找选择我想要的对象。例如,作业不在用户对象中(并且用户拥有它们)。

我的版本是8.0.4.1514。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

在PL / SQL Developer中,我不知道解决方案。 8.0.4也真的过时了。我没有8.0.4可用于检查它,但也许该版本已经有包dbms_metadata。如果是这样,请使用以下内容:

  l_clob   clob;
  l_return varchar2(240);
begin
  dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'DEFAULT', true);
  dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'STORAGE', false);
  dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SEGMENT_ATTRIBUTES', false);
  dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'TABLESPACE', false);
  dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'REF_CONSTRAINTS', false);
  dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'CONSTRAINTS', false);
  dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'PARTITIONING', false);
  dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SIZE_BYTE_KEYWORD', true);
  begin
    l_clob   := dbms_metadata.get_ddl(p_object_type, p_object_name, p_owner);
    ...

如果没有,您可能需要考虑Oracle导入/导出(旧版本的8.0.4,而不是数据泵)。使用'imp show = yes'我想要记住你可以打印所有DDL并使用'log = xxx'将其假脱机到文本文件。

最后一种方法是查询数据字典并自己构建语句,但我不再有代码了。