Oracle數(shù)據(jù)庫(kù)使用sqlplus時(shí)的連接錯(cuò)誤與方向鍵亂碼解決
連接錯(cuò)誤
安裝好以后,我登錄企業(yè)后臺(tái)(http://ubuntu:1158/em)報(bào)錯(cuò),用sqlplus連接oracle也報(bào)錯(cuò)。
一,遇到的錯(cuò)誤如下
1,ORA-12505: TNS:listener does not currently know of SID given in connect descriptor (DBD ERROR: OCIServerAttach)
2,ORA-28547: connection to server failed, probable Oracle Net admin error (DBD ERROR: OCISessionBegin)
3,sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
二,解決方法如下
1.解決問(wèn)題一,ORA-12505: TNS:listener does not currently know of SID given in connect descriptor (DBD ERROR: OCIServerAttach)
(1),找到tnsname.ora,listerner.ora的位置
root@ubuntu:/opt/ora10/network/admin# ls
listener.ora samples shrept.lst sqlnet.ora tnsnames.ora
(2),修改listerner.ora配置
將(SID_NAME = PLSExtProc)改成(SID_NAME = ora1),SID_NAME在oracle管理后臺(tái)http://ubuntu:1158/em中可以看到
2.解決問(wèn)題二,ORA-28547: connection to server failed, probable Oracle Net admin error (DBD ERROR: OCISessionBegin)
問(wèn)題一解決完后,就冒出這個(gè)問(wèn)題,我在網(wǎng)上查了一下,千篇一律說(shuō)這樣解決,其實(shí)根本沒(méi)有用。
(1). 修改oracle的網(wǎng)絡(luò)配置文件,具體做法是:在oracle安裝目錄下搜索sqlnet.ora文件,一般在$NETWORKADMIN目錄下,
用記事本打開(kāi)把文件中的一行:
SQLNET_AUTHENTICATION_SERVICES= (NTS)
修改為:
SQLNET_AUTHENTICATION_SERVICES= (NONE)
我發(fā)現(xiàn)我的sqlnet.ora根本沒(méi)有這項(xiàng)目設(shè)置,我的sqlnet.ora里面只有一句是NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
(2). 同時(shí)修改監(jiān)聽(tīng)器配置文件,具體做法是: 在oracle安裝目錄下搜索listener.ora文件,一般在$NETWORKADMIN目錄下,把主機(jī)名用ip地址代替,例如(ADDRESS = (PROTOCOL = TCP)(HOST = HBONLINE1)(PORT = 1523))改為(ADDRESS = (PROTOCOL = TCP)(HOST = 168.168.168.42)(PORT = 1523))
關(guān)于這種點(diǎn),我更是不明白了,為什么換成ip,HOST后面對(duì)應(yīng)的值,在/etc/hosts里面有映射,沒(méi)必要換成ip.
根本原因是oracle服務(wù)根本沒(méi)起來(lái),可以通過(guò)ps -e |grep -i oracle來(lái)查看一下。啟動(dòng)起來(lái)就不會(huì)有這個(gè)問(wèn)題了。
SQL> startup
ORACLE instance started.
3.解決問(wèn)題三,sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
當(dāng)我用zhangying@ubuntu:~$ sqlplus / as sysdba去登錄時(shí),提示上面的錯(cuò)誤,解決方法如下
chmod -R a+rX /opt/ora10/
這里/opt/ora10是的我$ORACLE_HOME目錄,加上后可以進(jìn)去了。
方向鍵亂碼
用sqlplus連接oracle,方向鍵老是亂碼,SQL> ^[[A^[[A^[[B^[[B^[[D^,linux 用的是ubuntu 10.10 解決方法如下
一,下載安裝readline
apt-get install libreadline5-dev //ubuntu要安裝這個(gè) wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz tar zxvf readline-6.2.tar.gz cd readline-6.2 wget ftp://ftp.gnu.org/gnu/readline/readline-6.2-patches/readline62-001 wget ftp://ftp.gnu.org/gnu/readline/readline-6.2-patches/readline62-001.sig patch -p0 < readline62-001 //打補(bǔ)丁 ./configure make && make install
注意:-p后面的是零,不是字母o。如果不安裝apt-get install libreadline5-dev這個(gè)話,安裝rlwrap,./configure老是報(bào)錯(cuò)。
二,安裝rlwrap
wget http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.37.tar.gz tar zxvf rlwrap-0.37.tar.gz cd rlwrap-0.37 ./configure make && make install
注意:先裝readline,然后安裝rlwrap,不然./configure的時(shí)候會(huì)報(bào)錯(cuò)的,如下
configure: error: You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build this program!
三,修改用戶根目錄下的.bashrc
# some more ls aliases alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' alias sqlplus='rlwrap sqlplus' //添加這一行
修改.bashrc要重起電腦。如果沒(méi)有.bashrc,修改.bash_profile或者.profile文件。
- Oracle基礎(chǔ):通過(guò)sqlplus執(zhí)行sql語(yǔ)句后的結(jié)果進(jìn)行判斷
- 使用sqlplus命令行工具為oracle創(chuàng)建用戶和表空間
- oracle11g管理員密碼忘記怎么辦 sqlplus解決忘記密碼問(wèn)題
- Linux下Oracle中SqlPlus時(shí)上下左右鍵亂碼問(wèn)題的解決辦法
- Python調(diào)用SQLPlus來(lái)操作和解析Oracle數(shù)據(jù)庫(kù)的方法
- Oracle SqlPlus設(shè)置Login.sql的技巧
- Linux中Oracle的sqlplus下退格和Del鍵無(wú)效的問(wèn)題解決
- oracle 安裝與SQLPLUS簡(jiǎn)單用法
- oracle sqlplus 常用命令大全
- Oracle基礎(chǔ):程序中調(diào)用sqlplus的方式
相關(guān)文章
基于ORA-12170 TNS 連接超時(shí)解決辦法詳解
本篇文章是對(duì)ORA-12170 TNS 連接超時(shí)的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Oracle開(kāi)發(fā)之分析函數(shù)(Rank, Dense_rank, row_number)
本文主要是對(duì)Oracle分析函數(shù)Rank, Dense_rank, row_number的使用法,通過(guò)這些函數(shù),我們可以對(duì)數(shù)據(jù)進(jìn)行排序和分組,需要的朋友可以參考下。2016-05-05Oracle數(shù)據(jù)庫(kù)表空間超詳細(xì)介紹
Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)存放在表空間中,表空間是一個(gè)邏輯的概念,它是由數(shù)據(jù)文件組成,表空間大小由數(shù)據(jù)文件的數(shù)量和大小決定,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)表空間的相關(guān)資料,需要的朋友可以參考下2023-05-05Oracle數(shù)據(jù)庫(kù)表備份導(dǎo)入導(dǎo)出dmp的方式及踩坑記錄
dmp是數(shù)據(jù)庫(kù)導(dǎo)出的文件,用以備份數(shù)據(jù)庫(kù)用,一般會(huì)用exp命令來(lái)導(dǎo)出,用imp命令來(lái)導(dǎo)入也就是恢復(fù)數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)表備份導(dǎo)入導(dǎo)出dmp的方式及踩坑記錄,需要的朋友可以參考下2022-07-07PL/SQL中編寫(xiě)Oracle數(shù)據(jù)庫(kù)分頁(yè)的存儲(chǔ)過(guò)程
這篇文章主要介紹了 PL/SQL中編寫(xiě)Oracle數(shù)據(jù)庫(kù)分頁(yè)的存儲(chǔ)過(guò)程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-06-06linux oracle數(shù)據(jù)庫(kù)刪除操作指南
本文將詳細(xì)介紹Linux操作系統(tǒng)下完全刪除Oracle數(shù)據(jù)庫(kù)的操作方法,需要的朋友可以參考下2012-11-11expdp 中ORA-39002、ORA-39070錯(cuò)誤詳解及解決辦法
這篇文章主要介紹了expdp 中ORA-39002、ORA-39070錯(cuò)誤詳解及解決辦法的相關(guān)資料,需要的朋友可以參考下2017-02-02Oracle數(shù)據(jù)庫(kù)設(shè)置任務(wù)計(jì)劃備份一周的備份記錄
這篇文章介紹了Oracle數(shù)據(jù)庫(kù)下通過(guò)任務(wù)計(jì)劃備份一周的記錄的批處理代碼,需要的朋友可以參考下2013-08-08