http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=Oracle+%A4%C7+DDL+%A4%F2%BC%E8%C6%C0%A4%B9%A4%EB 例1) 表「emp」のDDL文を取得します。 SQL> set long 2000 SQL> set heading off SQL> SQL> select  2   dbms_metadata.get_ddl('TABLE','EMP','所有者')  3   from dual; CREATE TABLE "TEST"."EMP" (   "EMP_ID" CHAR(5),   "DEPT_ID" CHAR(5),   "EMP_NAME" VARCHAR2(10),   "EMP_DATE" DATE,   "SALARY" NUMBER(5,0), PRIMARY KEY ("EMP_ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" 例2) ログイン中のユーザーの全ての表のDDL文をファイル「create_table.sql」に出力する。 set long 2000 set heading off set line 120 set pages 2000 set long 2000 set heading off set trimspool off set feedback off set longchunksize 600 EXEC DBMS_METADATA.SET_TRANSFORM_PARAM( DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR',TRUE) spool create_table.sql select dbms_metadata.get_ddl('TABLE',table_name) from user_tables; spool off; EXEC DBMS_METADATA.SET_TRANSFORM_PARAMで、各DDL文の最後に、セミコロン(;)が出力されます。 SQL コマンド select dbms_metadata.get_ddl('(1)','(2)','(3)') from dual; (1) オブジェクト種類:TABLESPACE、TABLE、INDEX、VIEW、SYNONYM、PACKAGE、PROCEDURE など (2) オブジェクト名:対象のオブジェクト名を指定 (3) スキーマ名:省略時は現在のスキーマとなる 例:SYSTEM 表領域の DDL 出力 SQL> set long 10000 SQL> select dbms_metadata.get_ddl('TABLESPACE','SYSTEM') from dual; CREATE TABLESPACE "SYSTEM" DATAFILE '/share/oradata/ORCL/system01.dbf' SIZE 1048576000 AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS SEGMENT SPACE MANAGEMENT MANUAL 例:HOGE スキーマの TEST テーブルの DDL 出力 SQL> set long 10000 SQL> set pages 0 SQL> select dbms_metadata.get_ddl('TABLE','TEST','HOGE') from dual; CREATE TABLE "HOGE"."TEST" ( "COL1" NUMBER, "COL2" CHAR(10), "COL3" DATE ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "TESTTBS"