你将如何在oracle 10g中只进行存储过程备份?

时间:2009-06-22 10:02:37

标签: oracle stored-procedures backup

你将如何在oracle 10g中只进行存储过程备份?

3 个答案:

答案 0 :(得分:5)

ammoQ的回答是正确的。

为了更进一步,如果你只想要没有表结构的存储过程,你需要连接到数据库并使用SQL(即使用sqlplus或其他东西)。然后,使用您感兴趣的存储过程列表,调用dbms_metadata函数。您可以使用sqlplus执行以下操作:

SELECT dbms_metadata.get_ddl('PROCEDURE','PROC1') FROM dual;

将为您提供程序PROC1的来源。

还有一个名为USER_SOURCE的视图,您可以使用以下内容:

select * from user_source where type in ('PROCEDURE', 'PACKAGE', 'PACKAGE_BODY', 'FUNCTION', 'TRIGGER');

为您提供您登录的用户拥有的所有内容的来源。

答案 1 :(得分:1)

TOAD等工具提供了导出存储过程,函数,包,触发器等源代码的功能。

如果您不介意导出表格结构(没有内容),

exp user/password file=emptybackup.dmp owner=myschema rows=n

应该这样做。

答案 2 :(得分:1)

如果你没有处理配置管理,即没有将你的存储过程保存在适当的源代码控制应用程序中(例如CVS,Subversion,MSS),你只是做不对的事 。即使是单人团队也应该使用版本控制系统,以进行任何非平凡的工作。

阅读Revision control