Oracle
如何從 Oracle 導出中提取過程、函式等原始碼
我
EXPDAT.DMP
使用以下命令生成了一個 Oracle 數據庫文件:exp userid=usr/pass@db owner=own rows=n compress=n
然後我執行以下命令來生成一個包含“創建表…”語句的文件:
imp userid=usr/pass@db full=y indexfile=output.sql
這對於 Create Table 語句非常有用,但我還想要 Create Procedure / Create Function / Create View 原始碼。我可以在 .DMP 文件中看到它們,但我還沒有找到提取它們的方法。
是否可以從 EXPDAT.DMP 文件中提取此資訊?還是我需要使用其他方法?
目的是使源可導出到可以受源控制的文件。
如果您可以訪問原始數據庫,我會選擇 DBMS_METADATA.GET_DDL。
您可以使用 UTL_FILE 編寫腳本,以便它遍歷每個對象(來自 USER_OBJECTS),使用名稱和類型來提取對象,然後將其寫入具有適當命名約定的文件。
這比嘗試拆分單個文件要乾淨得多。
使用SHOW參數查看 DDL:
imp userid=usr/pass@db full=y show=y log=imp.log