原文轉載至:http://bbs.csdn.net/topics/390819138
--用戶創建語句,權限語句
select dbms_metadata.get_ddl('USER','SCOTT') from dual;
select dbms_metadata.get_granted_ddl('OBJECT_GRANT','SCOTT') from dual;
select dbms_metadata.get_granted_ddl('ROLE_GRANT','SCOTT') from dual;
select dbms_metadata.get_granted_ddl('SYSTEM_GRANT','SCOTT') from dual;
--表空間創建語句
select dbms_metadata.get_ddl('TABLESPACE','EXAMPLE') from dual;
以上是例子,根據情況改.
你如果不是想查詢用戶和表空間的創建語句,只是為了導出的話,個人建議你還是用expdp,content=metadata_only就可以了.
除了用戶和表空間其他對象不是我需要的。另外我一個庫有很多用戶,有沒有更方便的導出方法。這個已經可以滿足需求了。
類似select dbms_metadata.get_ddl('USER',username) from dba_users where username in ('SCOTT','SYSTEM')就可以方便導出
這個不錯。可以基於這種做法,寫個存儲過程,將相關的語句寫到一個文件里
