[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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Retrofit使用方法全面總結
- Oracle特性總結Oracle
- Windows RocketMQ使用方法經驗總結WindowsMQ
- Oracle學習總結Oracle
- oracle的interval時間格式的總結Oracle
- Oracle之Hint使用總結Oracle
- ORACLE臨時表總結Oracle
- oracle基本命令總結Oracle
- STM32 外部中斷使用方法總結
- JavaScript裡的陣列Array使用方法總結,超全的oJavaScript陣列
- oracle外來鍵約束的總結Oracle
- Oracle臨時表的用法總結FLOracle
- C++中list的使用方法及常用list操作總結C++
- Oracle Tuning (Oracle 效能調整)的一些總結(轉)Oracle
- Qt訊號與槽使用方法最完整總結QT
- 原創:oracle 事務總結Oracle
- Oracle LOAD_BALANCE&TAF總結Oracle
- Oracle Tuning (Oracle 效能調整)的一些總結(轉)2Oracle
- Oracle with使用方法以及遞迴Oracle遞迴
- YUIDoc的使用方法小結UI
- Oracle Partition 分割槽詳細總結Oracle
- Oracle細節及難點總結Oracle
- Oracle SQL隱碼攻擊 總結OracleSQL
- Oracle:Redhat 7 + Oracle RAC 11g 安裝 bug 總結OracleRedhat
- 例項總結Oracle知識點大全Oracle
- Oracle行轉列、列轉行的Sql語句總結OracleSQL
- 疾控中心20181122 IBM小型機Oracle故障總結IBMOracle
- 原創 oracle 資料完整性總結Oracle
- Oracle:ORA-27090 問題解決總結Oracle
- Newtonsoft序列化與反序列化json字串使用方法總結JSON字串
- 【經典】連線oracle的總結(關於tnsname和監聽)Oracle
- Oracle資料庫實訓後的大三上總結Oracle資料庫
- ORACLE會話連線程式三者總結Oracle會話線程
- Oracle 錯誤總結及問題解決 ORAOracle
- [20230510]19c dg無法使用dbms_metadata.get_ddl檢視錶結構定義.txt
- relink oracle的結果Oracle
- MySQL/Oracle資料庫最佳化總結(非常全面)MySqlOracle資料庫
- Oracle 18c&19c physical dg切換總結Oracle
- Oracle:優化方法總結(關於連表查詢)Oracle優化