連接錯誤
安裝好以后,我登錄企業(yè)后臺(http://ubuntu:1158/em)報錯,用sqlplus連接oracle也報錯。
一,遇到的錯誤如下
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.解決問題一,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管理后臺http://ubuntu:1158/em中可以看到
2.解決問題二,ORA-28547: connection to server failed, probable Oracle Net admin error (DBD ERROR: OCISessionBegin)
問題一解決完后,就冒出這個問題,我在網(wǎng)上查了一下,千篇一律說這樣解決,其實根本沒有用。
(1). 修改oracle的網(wǎng)絡配置文件,具體做法是:在oracle安裝目錄下搜索sqlnet.ora文件,一般在$NETWORKADMIN目錄下,
用記事本打開把文件中的一行:
SQLNET_AUTHENTICATION_SERVICES= (NTS)
修改為:
SQLNET_AUTHENTICATION_SERVICES= (NONE)
我發(fā)現(xiàn)我的sqlnet.ora根本沒有這項目設置,我的sqlnet.ora里面只有一句是NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
(2). 同時修改監(jiān)聽器配置文件,具體做法是: 在oracle安裝目錄下搜索listener.ora文件,一般在$NETWORKADMIN目錄下,把主機名用ip地址代替,例如(ADDRESS = (PROTOCOL = TCP)(HOST = HBONLINE1)(PORT = 1523))改為(ADDRESS = (PROTOCOL = TCP)(HOST = 168.168.168.42)(PORT = 1523))
關于這種點,我更是不明白了,為什么換成ip,HOST后面對應的值,在/etc/hosts里面有映射,沒必要換成ip.
根本原因是oracle服務根本沒起來,可以通過ps -e |grep -i oracle來查看一下。啟動起來就不會有這個問題了。
3.解決問題三,sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
當我用zhangying@ubuntu:~$ sqlplus / as sysdba去登錄時,提示上面的錯誤,解決方法如下
chmod -R a+rX /opt/ora10/
這里/opt/ora10是的我$ORACLE_HOME目錄,加上后可以進去了。
方向鍵亂碼
用sqlplus連接oracle,方向鍵老是亂碼,SQL> ^[[A^[[A^[[B^[[B^[[D^,linux 用的是ubuntu 10.10 解決方法如下
一,下載安裝readline
apt-get install libreadline5-dev //ubuntu要安裝這個
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 //打補丁
./configure
make make install
注意:-p后面的是零,不是字母o。如果不安裝apt-get install libreadline5-dev這個話,安裝rlwrap,./configure老是報錯。
二,安裝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的時候會報錯的,如下
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要重起電腦。如果沒有.bashrc,修改.bash_profile或者.profile文件。
您可能感興趣的文章:- Oracle基礎:通過sqlplus執(zhí)行sql語句后的結果進行判斷
- 使用sqlplus命令行工具為oracle創(chuàng)建用戶和表空間
- oracle11g管理員密碼忘記怎么辦 sqlplus解決忘記密碼問題
- Linux下Oracle中SqlPlus時上下左右鍵亂碼問題的解決辦法
- Python調(diào)用SQLPlus來操作和解析Oracle數(shù)據(jù)庫的方法
- Oracle SqlPlus設置Login.sql的技巧
- Linux中Oracle的sqlplus下退格和Del鍵無效的問題解決
- oracle 安裝與SQLPLUS簡單用法
- oracle sqlplus 常用命令大全
- Oracle基礎:程序中調(diào)用sqlplus的方式