PL/SQL DEVELOPER 6對象比較功能說明(原創)
PL/SQL DEVELOPER 6的對象比較功能非常強大與實用,對于開發人員來說是一個必備的工具,主要有以下用途:
檢查兩個不同數據庫間某個用戶下所有對象的不同信息
自動生成用來匹配的SQL腳本
下面我將全面介紹PL/SQL DEVELOPER 6對象比較功能的操作步驟:
1、打開窗口
打開Tools/Compare User Objects…菜單,比較窗口顯示如下:
中間主區域顯示的是當前登錄用戶下的所有對象,包括表、視圖、包、函數、過程、觸發器、序列等等,這些都是可以比較的對象。
javascript:if(this.width>screen.width-333) this.width=screen.width-333" border="0" pop="點擊查看全圖"/>
2、從列表中選擇你要比較的對象,如上圖所示,可以通過ctrl或者shift鍵多選。
3、設置目標數據庫對象
點擊下方的Target Session..按鈕,將彈出連接對話框如下圖所示
輸入目標數據庫的用戶名、密碼、服務名,注意用戶名必需是含用要比較對象的用戶
4、開始比較
輸入完目標對象的連接后,點擊右下方的Compare按鈕即開始進行對比。
在對比時有一個選項,默認為選擇
Include storage in generated DDL for new objects
如果不選中的話將在產生的腳本中不包括對象的存儲信息(如表空間信息等等)
完成后會自動顯示對象間的不同信息如下圖所示,如果對比的對象DDL語句完全相同則不會顯示列表。
5、查看對象間的具體不同信息
通過比較顯示了不同對象的列表后,可以選擇你要查看的對象具體不同定義,同樣支持多選,在下方將對應顯示當前數據庫用戶下的對象要應用到目標數據庫對象的腳本。
注:主要有以下幾種情況會產生應用腳本
編號 | 情況 | 生成的腳本 | 實例 |
1 | 目標對象不存在 | 生成創建目標對象的全部腳本 | 表不存在 |
2 | 目標對象不同 | 生成修改腳本 | 表的字段大小不同 |
3 | 目標對象有但當前對象不存在 | 無任何提示 | |
4 | 函數、過程、包體、觸發器、視圖對象定義不同 | 生成重新替換對象的腳本 | 函數定義不同 |
6、其它操作
對比后可以根據個人要求進行相應的操作
1. 保存腳本成文件
2. 復制腳本到windows剪貼板
3. 應用腳本到目標數據庫(進行此操作需比較小心,建議在全面檢查對比產生的腳本后才能進行此項操作,特別是一些刪除操作,因為這個操作是批量應用的,沒有確認提示。)
4. 顯示具體的不同信息(功能非常強大,這是PL/SQL DEVELOPER借助第三方工具擴展的功能,當前版本用的工具是ExamDiff1.6版)
當前ExamDiff1.6版在對比方面功能一般,不過還是可以了,就是對漢字不太兼容,如果你有ExamDiff3.2 或3.3的版本,只要通過配置對比工具將它指向你的對比工具就可以了,顯示的效果更好。關于對比工具的操作,我不做詳細的介紹。
5. 配置對比工具(根據個人要求定義自己的對比工具)
葉正盛