The following command is generally used to extract object DDL:
SQL>SELECT DBMS_METADATA.GET_DDL('object_type','object_name','object owner') FROM DUAL;
- Generate a Table DDL
- Generate All Tables DDL
- Generate an Index DDL
- Generate All Indexes DDL
- Generate a View DDL
- Generate All Views DDL
- Generate a Materialized View DDL
- Generate All Materialized Views DDL
- Generate a Procedure DDL
- Generate All Procedures DDL
- Generate a Function DDL
- Generate All Functions DDL
- Generate a Package DDL
- Generate a Package Body DDL
- Generate a Tablespace DDL
- Generate All Tablespaces DDL
- Generate Foreign Key Constraints DDL
- Generate System Privileges Granted to User DDL
- Generate the Role Granted to User
- Generate the Objects Granted to User
Generate a Table DDL
SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','TABLE_NAME','OWNER') FROM DUAL;
Generate All Tables DDL
SQL> select dbms_metadata.get_ddl('TABLE',t.table_name, t.owner) from dba_tables t where owner='USER_NAME' ;
Generate an Index DDL
SQL> SELECT DBMS_METADATA.GET_DDL('INDEX','INDEX_NAME','OWNER') FROM DUAL;
Generate All Indexes DDL
SQL> select dbms_metadata.get_ddl('INDEX',i.index_name, i.owner) from dba_indexes i where table_owner='USER_NAME' ;
Generate a View DDL
SQL> Select Dbms_metadata.get_ddl ('VIEW', 'VIEW_NAME', 'OWNER') from dual;
Generate All Views DDL
SQL> SELECT dbms_metadata.GET_DDL ('VIEW', v.view_name,v.owner) from dba_views v;
Generate a Materialized View DDL
SQL> SELECT query FROM DBA_MVIEWS WHERE MVIEW_NAME='MV_NAME';
SQL> Select Dbms_metadata.get_ddl ('MATERIALIZED_VIEW', 'MVIEW_NAME', 'MV_OWNER') from dual;
Generate All Materialized Views DDL
SQL> SELECT dbms_metadata.GET_DDL ('MATERIALIZED_VIEW', mv.mview_name,mv.owner) from dba_mviews mv;
Generate a Procedure DDL
SQL>select dbms_metadata.get_ddl ('PROCEDURE','PROCEDURE_NAME','OWNER') from dual;
Generate All Procedures DDL
SQL>select dbms_metadata.get_ddl ('PROCEDURE', o.object_name, o.owner,) from dba_objects o where o.object_type = 'PROCEDURE' and o.owner='USER';
Generate a Function DDL
SQL>select dbms_metadata.get_ddl ('FUNCTION', 'FUNCTION_NAME', 'OWNER') from dual;
Generate All Functions DDL
SQL>select dbms_metadata.get_ddl ('FUNCTION', f.object_name, f.owner,) from dba_objects f where f.object_type = 'FUNCTION' and f.owner='USER';
Generate a Package DDL
SQL> SELECT DBMS_METADATA.GET_DDL('PACKAGE','PACKAGE_NAME','OWNER') FROM DUAL;
Generate a Package Body DDL
SQL> SELECT DBMS_METADATA.GET_DDL('PACKAGE_BODY','PACKAGE_NAME','OWNER') FROM DUAL;
Generate a Tablespace DDL
SQL> SELECT DBMS_METADATA.GET_DDL('TABLESPACE','TABLESPACE_NAME') FROM dual;
Generate All Tablespace DDL
SQL> SELECT dbms_metadata.GET_DDL('TABLESPACE', ts.tablespace_name) from dba_tablespaces ts;
Generate Foreign Key Constraints DDL
SQL> SELECT DBMS_METADATA.GET_DEPENDENT_DDL('REF_CONSTRAINT','TABLE_NAME','OWNER') from dual;
System Privileges Granted to User
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','USER') from dual;
Generate Roles Granted DDL
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','USER') from dual;
Generate Objects Granted to User DDL
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','USER') from dual;