[Oracle] dbms_metadata.get_ddl 的使用方法總結
dbms_metadata.get_ddl()用於獲取物件的DDL,其具體用法如下。
注意:在sqlplus裡,為了更好的展示DDL,需要設定如下引數:
複製程式碼程式碼如下:
set line 200
set pagesize 0
set long 99999
set feedback off
set echo off
1)獲得表、索引、檢視、儲存過程、函式的DDL
複製程式碼程式碼如下:
select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;
select dbms_metadata.get_ddl('INDEX','INDEX_NAME','INDEX_OWNER') from dual;
select dbms_metadata.get_ddl('VIEW','VIEW_NAME','VIEW_OWNER') from dual;
select dbms_metadata.get_ddl('PROCEDURE','PROCEDURE_NAME','PROCEDURE_OWNER') from dual;
select dbms_metadata.get_ddl('FUNCTION','FUNCTION_NAME','FUNCTION_OWNER') from dual;
下面這個指令碼用於獲得某個schema下所有的表、索引、檢視、儲存過程、函式的DDL
複製程式碼程式碼如下:
set pagesize 0
set long 90000
set feedback off
set echo off
spool schema_ddl.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name,u.owner) FROM DBA_TABLES u;
SELECT DBMS_METADATA.GET_DDL('VIEW',u.view_name,u.owner) FROM DBA_VIEWS u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name,u.owner) FROM DBA_INDEXES u;
select dbms_metadata.get_ddl('PROCEDURE',u.object_name, u.owner,) from dba_objects u where u.object_type = 'PROCEDURE';
select dbms_metadata.get_ddl('FUNCTION',u.object_name, u.owner,) from dba_objects u where u.object_type = 'FUNCTION';
spool off;
2)獲得表空間的DDL
獲得單個表空間的DDL:
複製程式碼程式碼如下:
select dbms_metadata.get_ddl('TABLESPACE','TBS_NAME') from dual;
獲得所有表空間的DDL:
複製程式碼程式碼如下:
SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)
FROM DBA_TABLESPACES TS;
3)獲得使用者的DDL
獲得單個使用者的DDL:
複製程式碼程式碼如下:
select dbms_metadata.get_ddl('USER','EPAY_USER') from dual;
獲得所有使用者的DDL:
複製程式碼程式碼如下:
SELECT DBMS_METADATA.GET_DDL('USER',U.username)
FROM DBA_USERS U;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2132850/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE常用結構和函式使用方法總結Oracle函式
- RAC 使用方法總結
- Retrofit使用方法全面總結
- Git和github使用方法總結Github
- C 語言中 define 的全部使用方法總結
- casperjs中start方法的使用方法總結JS
- JavaScript中textRange物件使用方法總結JavaScript物件
- 磁帶裝置使用方法總結
- Windows RocketMQ使用方法經驗總結WindowsMQ
- ORACLE鎖的總結Oracle
- Oracle 總結Oracle
- ORACLE EXPLAIN PLAN的總結OracleAI
- ORACLE中impdp的總結Oracle
- ORACLE中的EXPDP總結Oracle
- STM32 外部中斷使用方法總結
- JavaScript裡的陣列Array使用方法總結,超全的oJavaScript陣列
- C++中list的使用方法及常用list操作總結C++
- Oracle特性總結Oracle
- Oracle synonyms總結Oracle
- Oracle session總結OracleSession
- oracle sqlldr 總結OracleSQL
- Qt訊號與槽使用方法最完整總結QT
- Oracle analyze table的使用總結Oracle
- ORACLE關於NULL的總結OracleNull
- 有關Oracle role的總結Oracle
- 關於ORACLE鎖的總結Oracle
- ORACLE診斷事件的總結Oracle事件
- oracle體系結構總結Oracle
- Oracle學習總結Oracle
- Oracle rman 命令總結Oracle
- Oracle 調優總結Oracle
- Oracle SET 命令總結Oracle
- oracle hints用法總結Oracle
- Oracle調優總結Oracle
- Oracle 函式總結Oracle函式
- Oracle Tuning總結Oracle
- Oracle中“HINT”的使用方法Oracle
- spotlight on oracle的使用方法Oracle