• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Oracle数据库使用sqlplus时的连接错误与方向键乱码解决
    POST TIME:2021-10-18 22:03

    连接错误
    安装好以后,我登录企业后台(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)
    问题一解决完后,就冒出这个问题,我在网上查了一下,千篇一律说这样解决,其实根本没有用。
    (1). 修改oracle的网络配置文件,具体做法是:在oracle安装目录下搜索sqlnet.ora文件,一般在$NETWORKADMIN目录下,
    用记事本打开把文件中的一行:

    SQLNET_AUTHENTICATION_SERVICES= (NTS)
    

    修改为:

    SQLNET_AUTHENTICATION_SERVICES= (NONE)
    

    我发现我的sqlnet.ora根本没有这项目设置,我的sqlnet.ora里面只有一句是NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    (2). 同时修改监听器配置文件,具体做法是: 在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来查看一下。启动起来就不会有这个问题了。

    SQL> startup
    
    ORACLE instance started.
    

    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执行sql语句后的结果进行判断
    • 使用sqlplus命令行工具为oracle创建用户和表空间
    • oracle11g管理员密码忘记怎么办 sqlplus解决忘记密码问题
    • Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法
    • Python调用SQLPlus来操作和解析Oracle数据库的方法
    • Oracle SqlPlus设置Login.sql的技巧
    • Linux中Oracle的sqlplus下退格和Del键无效的问题解决
    • oracle 安装与SQLPLUS简单用法
    • oracle sqlplus 常用命令大全
    • Oracle基础:程序中调用sqlplus的方式
    上一篇:Oracle日常维护中管理用户以及重做日志文件的方法
    下一篇:一些Oracle数据库中的查询优化建议综合
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信