Oracle使用技巧及PL/SQL Developer配置

摘自:http://livenzhao.spaces.live.com/blog/cns!6E368BE9F6DDD872!595.entry

·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:沒有監聽器

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

  2、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:能解析服務名

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

  5、ORA-1034 :TNS:ORACLE不可用

  原因:ORACLE的數據庫服務正確啓動,但是數據庫沒有打開!

  使用命令:

  1)svrmgrl 啓動服務管理器

  2)connect internal 以internal身份登陸

  3)startup 打開數據庫

  6、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開頭的服務名。

    

·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之前,先建一個臨時環境變量 nls_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腳本就可以正常的訪問服務器數據庫了。


發佈了1 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章