获得整个SCHEMA DDL语句的方法:
set pagesize 0
set linesize 180
set long 90000
set feedback off
set echo off
spool get_schema.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u;
spool off;
获取用户下所有索引脚本,用于数据迁移后重建索引:
set pagesize 0
set long 90000
set feedback off
set echo off
spool get_index_ddl.sql
SELECT to_char(DBMS_METADATA.GET_DDL('INDEX',u.index_name))||' nologging '||' parallel 4;' FROM USER_INDEXES u;
spool off
获取用户下所有表脚本:
set pagesize 0
set long 90000
set feedback off
set echo off
spool get_table_ddl.sql
SELECT to_char(DBMS_METADATA.GET_DDL('TABLE',u.table_name))||' nologging '||' parallel 4;' FROM USER_TABLES u;
spool off
set heading off;
set linesize 180
set long 999999;
spool xxx_table.sql
select dbms_metadata.get_ddl(o.object_type,o.object_name,'OWNER') from dba_objects o where o.owner='xxx' and o.object_type in ('TABLE');
set heading off;
set echo off;
set linesize 180
Set pages 9999;
set long 999999;
spool get_single.sql
select dbms_metadata.get_ddl('TABLE','TB_NAME','OWNER') from dual;
select dbms_metadata.get_ddl('INDEX','INDXX_NAME','OWNER') from dual;
spool off;




