2010-06-04 52 views
3

我正在使用Oracle 10G。我想为oracle 10 G中的整个模式生成DDL?

我是新来的oracle,我有点关于dbms_metadata.get_ddl,现在使用这个工具我想为我的整个架构生成一个DDL。

我的意思是什么DDL操作对我的模式(testschema)完成。

请帮我一把。

谢谢

纳什。

回答

1

建议你看看EXPDP。这可以产生模式中的所有对象(带或不带数据)的完全导出。

如果它是一个相当“朴素”的架构(没有异国情调的对象和依赖关系),你可以脚本的东西基于

SELECT DBMS_METADATA.GET_DDL(object_type, object_name) FROM user_objects 
1

看一看我的命令行工具oraddlscript,它调用GET_DLL( )函数为给定用户的每个对象。结果可以写入每个对象一个文件。

+0

嗨Devio, 我得到 d:\ IhubTest \ orascript \工具> oraddlscript.exe -s HYDIHUB 错误: 'Oracle.DataAccess.Client.OracleConnection' THRE的类型初始 有例外。 错误:当我使用oraddlscript时,提供程序与Oracle客户端版本 不兼容。请建议我 Registers Nash – NareshKumar 2010-06-04 09:19:21

+0

@ gnash-85你安装了ODAC吗? http://devio.wordpress.com/2009/11/04/oraddlscript-solving-odp-net-version-conflicts/ ODAC11声称与所有Oracle数据库的兼容性> = 9.2 – devio 2010-06-04 09:55:35

0

一个非常简单的方法是创建一个新的空白模式,使用Schema Compare for Oracle比较您的现有模式(testschema),然后单击部署按钮以自动生成DDL。