非oracle用户sysdba登陆出TNS-12547错误

这个问题mark下,测试机器oracle从12c升级到19c后,非oracle用户 sysdba登陆不上。sqlnet.log里错误是:

sqplus uasa/uasa error
       Fatal NI connect error 12547, connecting to:
     (DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/u01/app/oracle/product/19.5.0/dbhome//bin/oracle)(ARGV0=oracleUA)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')(DETACH=NO))(CONNECT_DATA=(CID=(PROGRAM=sqlplus)(HOST=testHost)(USER=test))))

     VERSION INFORMATION:
        TNS for Solaris: Version 19.0.0.0.0 - Production
        Oracle Bequeath NT Protocol Adapter for Solaris: Version 19.0.0.0.0 - Production
    Version 19.3.0.0.0
    Time: 10-DEC-2019 07:46:48
    Tracing not turned on.
    Tns error struct:
    ns main err code: 12547
    TNS-12547: TNS:lost contact
    ns secondary err code: 12560
    nt main err code: 517
    TNS-00517: Lost contact
    nt secondary err code: 32
    nt OS err code: 0

 

百度说是oracle 少了s权限,

 oracle@testHost:~$ ls -ltr product/19.5.0/dbhome/bin/oracle
-rwsr-s--x   1 oracle   dba      563263144 Dec  5 19:59 product/19.5.0/dbhome/bin/oracle

一看已经有了s权限啊,在oracle 用户下,sysdba和其他用户登录schema都没有问题,sqlplus是用的oracle server目录下的 /u01/app/oracle/product/19.5.0/dbhome/bin/sqlplus,然后就查各种网站,由于oracle client还是12c的,一度怀疑是client版本不对。

今天重新看了product/19.5.0/dbhome/bin/oracle权限,发现少了r权限,正确的是:

 

oracle@pad-t4serv-1:~$ ls -ltr product/19.5.0/dbhome/bin/oracle
-rwsr-sr-x   1 oracle   dba      563263144 Dec  5 19:59 product/19.5.0/dbhome/bin/oracle

 

然后试了加:chmod +r product/19.5.0/dbhome/bin/oracle

 

在非oracle用户下再试就成功登录:

bash-5.0$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Fri Dec 27 02:35:25 2019

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

SQL> quit

 

所以如果还有这样的问题记得也要添加可读权限。

posted @ 2019-12-27 10:12  Sunshine106  阅读(456)  评论(0编辑  收藏  举报