1. 程式人生 > >PLSQL Developer使用技巧

PLSQL Developer使用技巧




本文由liuyk80貢獻


·PL/SQL Developer 使用技巧


1、PL/SQL Developer 記住登陸密碼


在使用 PL/SQL Developer 時,為了工作方便希望 PL/SQL Developer 記住登入 Oracle 的使用者名稱和密碼; 設定方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , "Store history"是預設勾選的, 勾上"Store with password" 即可, 重新登入在輸入一次密碼則記住了。


2、執行單條 SQL 語句


在使用 PL/SQL Developer 的 SQL Window 時,按 F8 鍵,PL/SQL Developer 預設 是執行該視窗的所有 SQL 語句,需要設定為滑鼠所在的那條 SQL 語句,即執行當 前 SQL 語句; 設定方法: PL/SQL Developer 7.1.2 -->tools->Preferences-->Window types , 勾上"AutoSelect Statement" 即可。


3、格式化 SQL 語句


在使用 PL/SQL Developer 的 SQL Window 時, 有時候輸入的 SQL 語句太長或太亂, 希望能用比較通用的寫法格式話一下,這樣看起來會好看些,也好分析; 使用方法:選中需要格式化的 SQL 語句,然後點選工具欄的 PL/SQL beautifier 按鈕即可.


4、檢視執行計劃


在使用 PL/SQL Developer 的 SQL Window 時, 有時候輸入的 SQL 語句執行的效率, 分析下表結構,如何可以提高查詢的效率,可以通過檢視 Oracle 提供的執行計 劃; 使用方法: 選中需要分析的 SQL 語句, 然後點選工具欄的 Explain plan 按鈕 (即 執行計劃),或者直接按 F5 即可。


5、除錯儲存過程


在使用 PL/SQL Developer 操作 Oracle 時,有時候呼叫某些儲存過程,或者除錯 儲存過程; 呼叫儲存過程的方法:首先,在 PL/SQL Developer 左邊的 Browser 中選擇 Procedures, 查詢需要呼叫的儲存過程; 然後, 選中除錯的儲存過程, 點選右鍵, 選擇 Test,在彈出來的 Test scrīpt 視窗中,對於定義為 in 型別的引數,需要 給該引數的 Value 輸入值;最後點選上面的條數按鈕:Start debugger 或者按 F9;最後點選:RUN 或者 Ctrl+R


學習手冊: ·Oracle 學習手冊:新手常見錯誤小集


沒有人會否認 ORACLE 是全球最有影響的資料庫產品之一;不過好的東西似乎總 不是那麼好用(初看起來如此),甚至有些無情--總會給 layman 們一個個無情的 錯誤號。下面是我個人的總結,條條有用,希望能給初學者一點啟示。 關於"好的東西似乎總不是那麼好用(初看起來如此)"的一個笑話:在參加 IBM DB2 512、513 培訓前,在校園網上下載到了安裝程式,不過任憑我們幾個 同學研究個半天,也不知哪個檔案是安裝檔案,竟沒有安裝成功。最後,一致認 為:看來這個培訓真是太有必要了!事後,才知道--我們下載的是 4linux 的! [以 8.1.6 為例]:


1、ORA-12541:TNS:沒有監聽器 ORA-12541:TNS:沒有監聽器


原因:沒有啟動監聽器或者監聽器損壞。如果是前者,使用命令 net start OracleOraHome81TNSListener(名字可
能有出入)即可;如果是後者, 則使用"Net8 Configuration Assistant"工具嚮導之"監聽程式配置"增加一個監聽器即可(基 本不用寫任何資訊,一路 OK。在新增之前可能需要把所有的監聽器先刪除!)


2、ORA-12500:TNS:監聽程式無法啟動專用伺服器程序 ORA-12500:TNS:監聽程式無法啟動專用伺服器程序


或 ORA-12560:TNS:協議介面卡錯誤 原因:ORACLE 的資料庫服務沒有啟動。使用命令 net start ORACLESERVICEORADB(ORADB 為資料庫名字)即可。如果仍沒有解決,請繼續向下 看。


3、如果資料庫服務啟動失敗,則很有可能是其登錄檔項值損壞, 如果資料庫服務啟動失敗,則很有可能是其登錄檔項值損壞, 最好的做法是以下兩步: 最好的做法是以下兩步:


1)ORADIM -DELETE -SID oradb 刪除資料庫服務項 2)ORADIM -NEW -SID oradb 新增資料庫服務項 注:這個過程中如果出錯,就重啟計算機!


4、ORA-12154:TNS:能解析服務名 ORA-12154:TNS:能解析服務名


原因:ORACLE 的網路服務名沒有正確配置。請使用"Net8 Configuration Assistant"工具嚮導之"本地網路服務名配置"配置 TNS 即可。如果仍沒有解決, 請繼續向下看。


5、ORA-1034 :TNS:ORACLE 不可用 ORA原因:ORACLE 的資料庫服務正確啟動,但是資料庫沒有開啟! 使用命令: 1)svrmgrl 啟動服務管理器 2)connect internal 以 internal 身份登陸 3)startup 開啟資料庫


6、ORA-12560:TNS:協議介面卡錯誤(頑固性的) ORA-12560:TNS:協議介面卡錯誤(頑固性的) 協議介面卡錯誤


原因:未知。 解決:必殺技--開啟"Windows 工作管理員", 殺死 ORACLE.exe 及 ORADIM.exe 程序,書寫自己的 ora_startup.bat,執行之! PS: 1、我的 ora_startup.bat: net start OracleOraHome81TNSListener net start ORACLESERVICEORADB svrmgrl 一般情況下不用,不過有時少不了它的,具體步驟見第 5 步。 2、我的 ora_shutdown.bat: net stop OracleOraHome81TNSListener net stop ORACLESERVICEORADB 3、ORACLE 相關服務名請參見"管理工具"之"服務"中以 ORACLE 開頭的服務 名。


Developer·Oracle 10g 綠色客戶端 plus PL/SQL Developer搭建方便的 Oracle 客戶端使用環境


整個一個暑假都在做基於 Oracle 的一個數據處理程式。但是一直沒有找到合適 的人工訪問實驗室的資料庫的方便的方法。 最酷的時候我的做法是自己寫個程式用 JDBC 連線資料庫自己扒下想要的表 格…… 後來發現實驗室裡邊有很多機器是裝過 Oracle 客戶端的, 但是 ms 都是當時實驗 室搭建資料庫時用正版的安裝光碟裝的, 我對這樣臃腫的客戶端有一種生理上的 恐懼,於是還是用原始的方法進行自己的開發。 直到有一天,看到 Oracle 的官方網站上邊有 10g 的綠色版的簡易客戶端…… http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle 的官方網站下載軟體是要帳戶
的,這個申請一個就是了,本人沒有網上 的空間存放相關的軟體,即使有也沒有官網上的可靠和持久,所以就只給一個鏈 接了。 http://www.allroundautomations.nl/plsqldev.html PL/SQL Developer 是一個開發與資料庫相關工程的軟體,ms 是 Free 的,不大了 解,只不過看到很多開發 Oracle 相關資料庫的人都在用,我一般只用來當作與 資料庫伺服器互動用的 Client 介面……,最多的時候主要是開一個視窗敲 SQL 語句,(殺雞用牛刀了……) 下邊是安裝的過程,由於是免安裝的,所以要自己配置一些環境變數和檔案,比 較麻煩…… 首先將下載的 Oracle 客戶端的壓縮包解壓到一個路徑,在本機上解壓到了 E:\OracleClient 下邊,所以,實際上 Oracle 客戶端的路徑是 E:\OracleClient\instantclient_10_2 然後進入 instantclient_10_2 資料夾, 新建一個 network 資料夾, 並在 network 資料夾下新建 admin 資料夾,在 admin 資料夾中新建名為 tnsnames.ora 檔案, 這個檔案是用來配置連線遠端資料庫的登入資訊的 (客戶端軟體都會從這個相對 路徑下的檔案中獲取連線資料庫的資訊),內容如下: databasename = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = database name) )


) 例如我連結實驗室資料庫的對應檔案內容是: TCM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = TCM) ) ) IP 我就不寫出來了,我所用的資料庫名為 TCM,so…… 然後安裝 PL/SQL Developer,過程是傻瓜式的。進入 PL/SQL 後(開始進入時會 要求登入資料庫,但是現在 PL/SQL 現在還找不到你的 Oracle 客戶端,所以登入 是不會成功的, 但是可以進入軟體) 選擇 Tools->Preferences, Oracle Home , 在 OCI Library 兩欄中分別填入 Oracle 客戶端的路徑和 OCI 檔案的路徑(oci.dll 檔案直接在 instantclient_10_2 資料夾下),所以我在這兩個選項中填寫的內 容是"E:\OracleClient\instantclient_10_2"和"E:\OracleClient \instantclient_10_2\oci.dll"。這時再登入就可以登入成功了。如若還不行就 重啟一下 PL/SQL。 綠色版的客戶端可能會出現對於中文支援的問題, 這主要是因為伺服器端指定的 字符集和客戶端所預設的字符集是不相同的導致的, 只要找到伺服器端的字符集 設定,然後將客戶端的字符集設定與伺服器端保持一致就好了。修改客戶端字元 集設定的方法有好幾種,可以修改登錄檔,也可以用環境變數的方法解決。不過 我這裡介紹的客戶端是綠色版的,只是解壓到某一個路徑而已,所以登錄檔的方 法在這裡不是很適用,所以我寫了一個啟動指令碼,在啟動 PL/SQL 之前,先建一 個臨時環境變數 nl
s_lang,並給變數賦值,再啟動軟體。(我曾經做過實驗, 通過建立系統環境變數的方法在這裡是行不通的,具體的原因我說不清楚><) 我的指令碼 plsql.bat 的內容如下: set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK cd "c:\Program Files\PLSQL Developer" PLSQLDev.exe 其中第二行進入的路徑是 PL/SQL Developer 安裝到的路徑。


我這裡的實際情況是伺服器端的字符集設定為 SIMPLIFIED CHINESE_CHINA.ZHS16GBK,所以我將這個值賦給 nls_lang。通過執行 plsql.bat 指令碼就可以正常的訪問伺服器資料庫了。