摘自:http://livenzhao.spaces.live.com/blog/cns!6E368BE9F6DDD872!595.entry
·PL/SQL Developer使用技巧
1、PL/SQL Developer記住登陸密碼
在使用PL/SQL Developer時,為了工作方便希望PL/SQL Developer記住登錄Oracle的用戶名和密碼;
設(shè)置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , "Store history"是默認(rèn)勾選的,勾上"Store with password" 即可,重新登錄在輸入一次密碼則記住了。
2、執(zhí)行單條SQL語句
在使用PL/SQL Developer的SQL Window時,按F8鍵,PL/SQL Developer默認(rèn)是執(zhí)行該窗口的所有SQL語句,需要設(shè)置為鼠標(biāo)所在的那條SQL語句,即執(zhí)行當(dāng)前SQL語句;
設(shè)置方法: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、查看執(zhí)行計劃
在使用PL/SQL Developer的SQL Window時,有時候輸入的SQL語句執(zhí)行的效率,分析下表結(jié)構(gòu),如何可以提高查詢的效率,可以通過查看Oracle提供的執(zhí)行計劃;
使用方法:選中需要分析的SQL語句,然后點擊工具欄的Explain plan按鈕(即執(zhí)行計劃),或者直接按F5即可。
5、調(diào)試存儲過程
在使用PL/SQL Developer操作Oracle時,有時候調(diào)用某些存儲過程,或者調(diào)試存儲過程;
調(diào)用存儲過程的方法:首先,在PL/SQL Developer左邊的Browser中選擇Procedures,查找需要調(diào)用的存儲過程;然后,選中調(diào)試的存儲過程,點擊右鍵,選擇Test,在彈出來的Test scrīpt窗口中,對于定義為in類型的參數(shù),需要給該參數(shù)的Value輸入值;最后點擊上面的條數(shù)按鈕:Start debugger 或者按F9;最后點擊:RUN 或者Ctrl+R
·Oracle學(xué)習(xí)手冊:新手常見錯誤小集
沒有人會否認(rèn)ORACLE是全球最有影響的數(shù)據(jù)庫產(chǎn)品之一;不過好的東西似乎總不是那么好用(初看起來如此),甚至有些無情--總會給layman們一個個無情的錯誤號。下面是我個人的總結(jié),條條有用,希望能給初學(xué)者一點啟示。
關(guān)于"好的東西似乎總不是那么好用(初看起來如此)"的一個笑話:在參加 IBM DB2 512、513培訓(xùn)前,在校園網(wǎng)上下載到了安裝程序,不過任憑我們幾個同學(xué)研究個半天,也不知哪個文件是安裝文件,竟沒有安裝成功。最后,一致認(rèn)為:看來這個培訓(xùn)真是太有必要了!事后,才知道--我們下載的是4linux的!
[以8.1.6為例]:
1、ORA-12541:TNS:沒有監(jiān)聽器
原因:沒有啟動監(jiān)聽器或者監(jiān)聽器損壞。如果是前者,使用命令net start OracleOraHome81TNSListener(名字可能有出入)即可;如果是后者,則使用"Net8 Configuration Assistant"工具向?qū)е?監(jiān)聽程序配置"增加一個監(jiān)聽器即可(基本不用寫任何信息,一路OK。在添加之前可能需要把所有的監(jiān)聽器先刪除!)
2、ORA-12500:TNS:監(jiān)聽程序無法啟動專用服務(wù)器進(jìn)程
或
ORA-12560:TNS:協(xié)議適配器錯誤
原因:ORACLE的數(shù)據(jù)庫服務(wù)沒有啟動。使用命令net start ORACLESERVICEORADB(ORADB為數(shù)據(jù)庫名字)即可。如果仍沒有解決,請繼續(xù)向下看。
3、如果數(shù)據(jù)庫服務(wù)啟動失敗,則很有可能是其注冊表項值損壞,最好的做法是以下兩步:
1)ORADIM -DELETE -SID oradb 刪除數(shù)據(jù)庫服務(wù)項
2)ORADIM -NEW -SID oradb 新增數(shù)據(jù)庫服務(wù)項
注:這個過程中如果出錯,就重啟計算機!
4、ORA-12154:TNS:能解析服務(wù)名
原因:ORACLE的網(wǎng)絡(luò)服務(wù)名沒有正確配置。請使用"Net8 Configuration Assistant"工具向?qū)е?本地網(wǎng)絡(luò)服務(wù)名配置"配置TNS即可。如果仍沒有解決,請繼續(xù)向下看。
5、ORA-1034 :TNS:ORACLE不可用
原因:ORACLE的數(shù)據(jù)庫服務(wù)正確啟動,但是數(shù)據(jù)庫沒有打開!
使用命令:
1)svrmgrl 啟動服務(wù)管理器
2)connect internal 以internal身份登陸
3)startup 打開數(shù)據(jù)庫
6、ORA-12560:TNS:協(xié)議適配器錯誤(頑固性的)
原因:未知。
解決:必殺技--打開"Windows任務(wù)管理器",殺死ORACLE.exe及ORADIM.exe進(jìn)程,書寫自己的ora_startup.bat,執(zhí)行之!
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相關(guān)服務(wù)名請參見"管理工具"之"服務(wù)"中以O(shè)RACLE開頭的服務(wù)名。
·Oracle 10g綠色客戶端 plus PL/SQL Developer-搭建方便的Oracle客戶端使用環(huán)境
整個一個暑假都在做基于Oracle的一個數(shù)據(jù)處理程序。但是一直沒有找到合適的人工訪問實驗室的數(shù)據(jù)庫的方便的方法。
最酷的時候我的做法是自己寫個程序用JDBC連接數(shù)據(jù)庫自己扒下想要的表格……
后來發(fā)現(xiàn)實驗室里邊有很多機器是裝過Oracle客戶端的,但是ms都是當(dāng)時實驗室搭建數(shù)據(jù)庫時用正版的安裝光盤裝的,我對這樣臃腫的客戶端有一種生理上的恐懼,于是還是用原始的方法進(jìn)行自己的開發(fā)。
直到有一天,看到Oracle的官方網(wǎng)站上邊有10g的綠色版的簡易客戶端……
http://www.oracle.com/technology/tech/oci/instantclient/index.html
Oracle的官方網(wǎng)站下載軟件是要帳戶的,這個申請一個就是了,本人沒有網(wǎng)上的空間存放相關(guān)的軟件,即使有也沒有官網(wǎng)上的可靠和持久,所以就只給一個鏈接了。
PL/SQL Developer是一個開發(fā)與數(shù)據(jù)庫相關(guān)工程的軟件,ms是Free的,不大了解,只不過看到很多開發(fā)Oracle相關(guān)數(shù)據(jù)庫的人都在用,我一般只用來當(dāng)作與數(shù)據(jù)庫服務(wù)器交互用的Client界面……,最多的時候主要是開一個窗口敲SQL語句,(殺雞用牛刀了……)
下邊是安裝的過程,由于是免安裝的,所以要自己配置一些環(huán)境變量和文件,比較麻煩……
首先將下載的Oracle客戶端的壓縮包解壓到一個路徑,在本機上解壓到了E:\OracleClient下邊,所以,實際上Oracle客戶端的路徑是E:\OracleClient\instantclient_10_2
然后進(jìn)入instantclient_10_2文件夾,新建一個network文件夾,并在network文件夾下新建admin文件夾,在admin文件夾中新建名為tnsnames.ora文件,這個文件是用來配置連接遠(yuǎn)程數(shù)據(jù)庫的登錄信息的(客戶端軟件都會從這個相對路徑下的文件中獲取連接數(shù)據(jù)庫的信息),內(nèi)容如下:
databasename =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = database name)
)
)
例如我鏈接實驗室數(shù)據(jù)庫的對應(yīng)文件內(nèi)容是:
TCM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TCM)
)
)
IP我就不寫出來了,我所用的數(shù)據(jù)庫名為TCM,so……
然后安裝PL/SQL Developer,過程是傻瓜式的。進(jìn)入PL/SQL后(開始進(jìn)入時會要求登錄數(shù)據(jù)庫,但是現(xiàn)在PL/SQL現(xiàn)在還找不到你的Oracle客戶端,所以登錄是不會成功的,但是可以進(jìn)入軟件),選擇Tools->Preferences,在Oracle Home OCI Library兩欄中分別填入Oracle客戶端的路徑和OCI文件的路徑(oci.dll文件直接在instantclient_10_2文件夾下),所以我在這兩個選項中填寫的內(nèi)容是"E:\OracleClient\instantclient_10_2"和"E:\OracleClient \instantclient_10_2\oci.dll"。這時再登錄就可以登錄成功了。如若還不行就重啟一下PL/SQL。
綠色版的客戶端可能會出現(xiàn)對于中文支持的問題,這主要是因為服務(wù)器端指定的字符集和客戶端所默認(rèn)的字符集是不相同的導(dǎo)致的,只要找到服務(wù)器端的字符集設(shè)置,然后將客戶端的字符集設(shè)置與服務(wù)器端保持一致就好了。修改客戶端字符集設(shè)置的方法有好幾種,可以修改注冊表,也可以用環(huán)境變量的方法解決。不過我這里介紹的客戶端是綠色版的,只是解壓到某一個路徑而已,所以注冊表的方法在這里不是很適用,所以我寫了一個啟動腳本,在啟動PL/SQL之前,先建一個臨時環(huán)境變量 nls_lang,并給變量賦值,再啟動軟件。(我曾經(jīng)做過實驗,通過建立系統(tǒng)環(huán)境變量的方法在這里是行不通的,具體的原因我說不清楚><)
我的腳本plsql.bat的內(nèi)容如下:
set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
cd "c:\Program Files\PLSQL Developer"
PLSQLDev.exe
其中第二行進(jìn)入的路徑是PL/SQL Developer安裝到的路徑。
我這里的實際情況是服務(wù)器端的字符集設(shè)置為SIMPLIFIED CHINESE_CHINA.ZHS16GBK,所以我將這個值賦給nls_lang。通過運行plsql.bat腳本就可以正常的訪問服務(wù)器數(shù)據(jù)庫了。
·PL/SQL Developer使用技巧
1、PL/SQL Developer記住登陸密碼
在使用PL/SQL Developer時,為了工作方便希望PL/SQL Developer記住登錄Oracle的用戶名和密碼;
設(shè)置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , "Store history"是默認(rèn)勾選的,勾上"Store with password" 即可,重新登錄在輸入一次密碼則記住了。
2、執(zhí)行單條SQL語句
在使用PL/SQL Developer的SQL Window時,按F8鍵,PL/SQL Developer默認(rèn)是執(zhí)行該窗口的所有SQL語句,需要設(shè)置為鼠標(biāo)所在的那條SQL語句,即執(zhí)行當(dāng)前SQL語句;
設(shè)置方法: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、查看執(zhí)行計劃
在使用PL/SQL Developer的SQL Window時,有時候輸入的SQL語句執(zhí)行的效率,分析下表結(jié)構(gòu),如何可以提高查詢的效率,可以通過查看Oracle提供的執(zhí)行計劃;
使用方法:選中需要分析的SQL語句,然后點擊工具欄的Explain plan按鈕(即執(zhí)行計劃),或者直接按F5即可。
5、調(diào)試存儲過程
在使用PL/SQL Developer操作Oracle時,有時候調(diào)用某些存儲過程,或者調(diào)試存儲過程;
調(diào)用存儲過程的方法:首先,在PL/SQL Developer左邊的Browser中選擇Procedures,查找需要調(diào)用的存儲過程;然后,選中調(diào)試的存儲過程,點擊右鍵,選擇Test,在彈出來的Test scrīpt窗口中,對于定義為in類型的參數(shù),需要給該參數(shù)的Value輸入值;最后點擊上面的條數(shù)按鈕:Start debugger 或者按F9;最后點擊:RUN 或者Ctrl+R
·Oracle學(xué)習(xí)手冊:新手常見錯誤小集
沒有人會否認(rèn)ORACLE是全球最有影響的數(shù)據(jù)庫產(chǎn)品之一;不過好的東西似乎總不是那么好用(初看起來如此),甚至有些無情--總會給layman們一個個無情的錯誤號。下面是我個人的總結(jié),條條有用,希望能給初學(xué)者一點啟示。
關(guān)于"好的東西似乎總不是那么好用(初看起來如此)"的一個笑話:在參加 IBM DB2 512、513培訓(xùn)前,在校園網(wǎng)上下載到了安裝程序,不過任憑我們幾個同學(xué)研究個半天,也不知哪個文件是安裝文件,竟沒有安裝成功。最后,一致認(rèn)為:看來這個培訓(xùn)真是太有必要了!事后,才知道--我們下載的是4linux的!
[以8.1.6為例]:
1、ORA-12541:TNS:沒有監(jiān)聽器
原因:沒有啟動監(jiān)聽器或者監(jiān)聽器損壞。如果是前者,使用命令net start OracleOraHome81TNSListener(名字可能有出入)即可;如果是后者,則使用"Net8 Configuration Assistant"工具向?qū)е?監(jiān)聽程序配置"增加一個監(jiān)聽器即可(基本不用寫任何信息,一路OK。在添加之前可能需要把所有的監(jiān)聽器先刪除!)
2、ORA-12500:TNS:監(jiān)聽程序無法啟動專用服務(wù)器進(jìn)程
或
ORA-12560:TNS:協(xié)議適配器錯誤
原因:ORACLE的數(shù)據(jù)庫服務(wù)沒有啟動。使用命令net start ORACLESERVICEORADB(ORADB為數(shù)據(jù)庫名字)即可。如果仍沒有解決,請繼續(xù)向下看。
3、如果數(shù)據(jù)庫服務(wù)啟動失敗,則很有可能是其注冊表項值損壞,最好的做法是以下兩步:
1)ORADIM -DELETE -SID oradb 刪除數(shù)據(jù)庫服務(wù)項
2)ORADIM -NEW -SID oradb 新增數(shù)據(jù)庫服務(wù)項
注:這個過程中如果出錯,就重啟計算機!
4、ORA-12154:TNS:能解析服務(wù)名
原因:ORACLE的網(wǎng)絡(luò)服務(wù)名沒有正確配置。請使用"Net8 Configuration Assistant"工具向?qū)е?本地網(wǎng)絡(luò)服務(wù)名配置"配置TNS即可。如果仍沒有解決,請繼續(xù)向下看。
5、ORA-1034 :TNS:ORACLE不可用
原因:ORACLE的數(shù)據(jù)庫服務(wù)正確啟動,但是數(shù)據(jù)庫沒有打開!
使用命令:
1)svrmgrl 啟動服務(wù)管理器
2)connect internal 以internal身份登陸
3)startup 打開數(shù)據(jù)庫
6、ORA-12560:TNS:協(xié)議適配器錯誤(頑固性的)
原因:未知。
解決:必殺技--打開"Windows任務(wù)管理器",殺死ORACLE.exe及ORADIM.exe進(jìn)程,書寫自己的ora_startup.bat,執(zhí)行之!
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相關(guān)服務(wù)名請參見"管理工具"之"服務(wù)"中以O(shè)RACLE開頭的服務(wù)名。
·Oracle 10g綠色客戶端 plus PL/SQL Developer-搭建方便的Oracle客戶端使用環(huán)境
整個一個暑假都在做基于Oracle的一個數(shù)據(jù)處理程序。但是一直沒有找到合適的人工訪問實驗室的數(shù)據(jù)庫的方便的方法。
最酷的時候我的做法是自己寫個程序用JDBC連接數(shù)據(jù)庫自己扒下想要的表格……
后來發(fā)現(xiàn)實驗室里邊有很多機器是裝過Oracle客戶端的,但是ms都是當(dāng)時實驗室搭建數(shù)據(jù)庫時用正版的安裝光盤裝的,我對這樣臃腫的客戶端有一種生理上的恐懼,于是還是用原始的方法進(jìn)行自己的開發(fā)。
直到有一天,看到Oracle的官方網(wǎng)站上邊有10g的綠色版的簡易客戶端……
http://www.oracle.com/technology/tech/oci/instantclient/index.html
Oracle的官方網(wǎng)站下載軟件是要帳戶的,這個申請一個就是了,本人沒有網(wǎng)上的空間存放相關(guān)的軟件,即使有也沒有官網(wǎng)上的可靠和持久,所以就只給一個鏈接了。
http://www.allroundautomations.nl/plsqldev.html
國內(nèi)也有下載http://download.enet.com.cn/speed/toftp.php?fname=232142006032101免去大家的麻煩!
PL/SQL Developer是一個開發(fā)與數(shù)據(jù)庫相關(guān)工程的軟件,ms是Free的,不大了解,只不過看到很多開發(fā)Oracle相關(guān)數(shù)據(jù)庫的人都在用,我一般只用來當(dāng)作與數(shù)據(jù)庫服務(wù)器交互用的Client界面……,最多的時候主要是開一個窗口敲SQL語句,(殺雞用牛刀了……)
下邊是安裝的過程,由于是免安裝的,所以要自己配置一些環(huán)境變量和文件,比較麻煩……
首先將下載的Oracle客戶端的壓縮包解壓到一個路徑,在本機上解壓到了E:\OracleClient下邊,所以,實際上Oracle客戶端的路徑是E:\OracleClient\instantclient_10_2
然后進(jìn)入instantclient_10_2文件夾,新建一個network文件夾,并在network文件夾下新建admin文件夾,在admin文件夾中新建名為tnsnames.ora文件,這個文件是用來配置連接遠(yuǎn)程數(shù)據(jù)庫的登錄信息的(客戶端軟件都會從這個相對路徑下的文件中獲取連接數(shù)據(jù)庫的信息),內(nèi)容如下:
databasename =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = database name)
)
)
例如我鏈接實驗室數(shù)據(jù)庫的對應(yīng)文件內(nèi)容是:
TCM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TCM)
)
)
IP我就不寫出來了,我所用的數(shù)據(jù)庫名為TCM,so……
然后安裝PL/SQL Developer,過程是傻瓜式的。進(jìn)入PL/SQL后(開始進(jìn)入時會要求登錄數(shù)據(jù)庫,但是現(xiàn)在PL/SQL現(xiàn)在還找不到你的Oracle客戶端,所以登錄是不會成功的,但是可以進(jìn)入軟件),選擇Tools->Preferences,在Oracle Home OCI Library兩欄中分別填入Oracle客戶端的路徑和OCI文件的路徑(oci.dll文件直接在instantclient_10_2文件夾下),所以我在這兩個選項中填寫的內(nèi)容是"E:\OracleClient\instantclient_10_2"和"E:\OracleClient \instantclient_10_2\oci.dll"。這時再登錄就可以登錄成功了。如若還不行就重啟一下PL/SQL。
綠色版的客戶端可能會出現(xiàn)對于中文支持的問題,這主要是因為服務(wù)器端指定的字符集和客戶端所默認(rèn)的字符集是不相同的導(dǎo)致的,只要找到服務(wù)器端的字符集設(shè)置,然后將客戶端的字符集設(shè)置與服務(wù)器端保持一致就好了。修改客戶端字符集設(shè)置的方法有好幾種,可以修改注冊表,也可以用環(huán)境變量的方法解決。不過我這里介紹的客戶端是綠色版的,只是解壓到某一個路徑而已,所以注冊表的方法在這里不是很適用,所以我寫了一個啟動腳本,在啟動PL/SQL之前,先建一個臨時環(huán)境變量 nls_lang,并給變量賦值,再啟動軟件。(我曾經(jīng)做過實驗,通過建立系統(tǒng)環(huán)境變量的方法在這里是行不通的,具體的原因我說不清楚><)
我的腳本plsql.bat的內(nèi)容如下:
set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
cd "c:\Program Files\PLSQL Developer"
PLSQLDev.exe
其中第二行進(jìn)入的路徑是PL/SQL Developer安裝到的路徑。
我這里的實際情況是服務(wù)器端的字符集設(shè)置為SIMPLIFIED CHINESE_CHINA.ZHS16GBK,所以我將這個值賦給nls_lang。通過運行plsql.bat腳本就可以正常的訪問服務(wù)器數(shù)據(jù)庫了。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
