a.获取单个的建表和建索引的语法,其他对象类似:
select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;   
select dbms_metadata.get_ddl('INDEX','INDEX_NAME','INDEX_OWNER') from dual; 

b.获取一个SCHEMA下的所有建表的语法,以scott为例,其他对象类似:
SELECT DBMS_METADATA.GET_DDL('TABLE', u.table_name, u.owner) || ';' 
  FROM DBA_TABLES u 
 where owner = 'SCOTT' ;