如何以xml格式获取oracle数据库实例的架构信息/转储(没有数据)?

时间:2009-08-18 08:22:46

标签: database oracle command-line

嗯..我猜这个问题已经足够描述了。我正在寻找的是与oracle-

中的以下MySQL命令完全相同
mysqldump --xml --no-data -u[username] -p[pass] [db_instance] > [someXMLfile]

在Linux机器上我必须运行oracle命令吗?直接在shell里面会做什么?

1 个答案:

答案 0 :(得分:2)

您可以使用GET_XML包中的DBMS_METADATA函数获取任何给定表的XML表示形式。 DBMS_METADATA documentation有一个为模式中的所有表生成XML的示例(这不包括存储子句,但显然可以消除该调用)

set pagesize 0
set long 90000
execute DBMS_METADATA.SET_TRANSFORM_PARAM(
  DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
     FROM USER_ALL_TABLES u
     WHERE u.nested='NO' 
     AND (u.iot_type is null or u.iot_type='IOT');
execute DBMS_METADATA.SET_TRANSFORM_PARAM(
   DBMS_METADATA.SESSION_TRANSFORM,'DEFAULT');