这个问题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

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

非oracle用户sysdba登陆出TNS-12547错误的更多相关文章

  1. C#中通过js实现个人用户和非个人用户的登陆

    实现用户的登录功能,这里举一个个人和非个人用户的登录的例子 前台代码: <ul class="login_list clearfix"> <li> < ...

  2. 无法连接到服务器,用户xxx登陆失败"

    无法连接到服务器,用户xxx登陆失败" 该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式, 因此用户无法使用SQL Server的登录 ...

  3. 【方法】Oracle用户密码含特殊字符时的登陆问题

    [方法]Oracle用户密码含特殊字符时的登陆问题 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它 ...

  4. oracle用plsql登陆出错,提示ORA-12170:TNS:链接超时 --------关闭防火墙试试

    oracle用plsql登陆出错,提示ORA-12170:TNS:链接超时 但是使用sqlplus可以连接 ping 本机127.0.0.1 显示一般故障 后关闭防火墙,问题解决. ps:登录时使用@ ...

  5. oracle 非sys用户创建新用户 授权后 plsql看不到视图

     问题: oracle 非sys用户创建新用户 授权后  plsql看不到视图 答案: 新用户查询视图时,视图名称前需要添加 视图所属用户. 如user用户新建newUser用户,newUser用户查 ...

  6. oracle登陆,在监听服务启动了的情况下,登陆用户还是报错未启动监听服务的错误(刚开始装oracle是能登陆的,重启之后装了plsql)

    刚开始装oracle是能登陆的,重启之后装了140M的plsql,所以有可能是plsql跟oracle监听冲突了,所以我之后换了33M的plsql,oracle就没问题了,可以正常登陆了

  7. Oracle用户,权限,角色以及登录管理 scoot 授权

    Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...

  8. Oracle 用户、对象权限、系统权限

    --================================ --Oracle 用户.对象权限.系统权限 --================================  一.用户与模式 ...

  9. Oracle 数据库导入与出

    Oracle 数据库导入与出 导出( EXPORT )是用 EXP 将数据库部分或全对象的结构和导出 . 导入( 导入( IMPORT )是用 )是用 IMP IMP将 OS 文件中的对象结构和数据装 ...

随机推荐

  1. ATM 最初版

    # 二 一个项目开发前,有一份开发文档 # # 项目: 编写小说阅读程序实现下属功能 # # # 一:程序运行开始时显示 # 0 账号注册 # 1 账号登录 # 2 充值功能 # 3 阅读小说 imp ...

  2. js数据类型及方法

    数据类型及方法 数据类型 number 不区分整数和浮点数 string 字符串 boolean true / false 布尔 object null 数组 function 函数 undefine ...

  3. Java面试金典

    1,将构造函数声明为私有的作用 构造函数私有化,保证类以外的地方不能直接实例化该类,这种情况下,要创建这个类的实例,只能提供一个公共静态方法,像工厂方法模式,由于构造函数私有化,不能被继承. 2,在t ...

  4. Spring Cache 缺陷,我好像有解决方案了

    Spring Cache 缺陷 Spring Cache 是一个非常优秀的缓存组件. 但是在使用 Spring Cache 的过程当中,小黑同学也遇到了一些痛点. 比如,现在有一个需求:通过多个 us ...

  5. php的 '1' == 1, 返回true,到底是谁变成了谁?

    此过程为字符串的 '1' 隐含的编程了数字类型1,所以是true

  6. Ubuntu 修改$PS1 自定义命令提示符

    文章更新于:2020-03-25 文章目录 一.自定义命令提示符 1.可修改的是那部分? 2.修改 $PS1 变量 3.$PS1 变量格式 4.如何修改背景颜色 5.修改字体 二.Enjoy! 一.自 ...

  7. django_rest_framework视图传递参数给序列化器

    django_rest_framework视图传递参数给序列化器 视图中默认可以将request.data传递给序列化器,但request.data是不可更改的对象,但又想将额外的参数传递给序列化器 ...

  8. 2018蓝桥杯省赛(C/C++ C组)

    因进考场不让带优盘,顾想不起有些啥题了,静待更新吧! 再次强调C++最新标准,main函数必须指定返回类型为int,且返回值最好为0(人走的多了就是路了,有人偏返回999那也没办法) 1.大概是小明给 ...

  9. Javascript 入门 必备知识点

    1.如何得到html的input标签的值: (1). $('#id').val(); (2). $("#id").attr("value"); 2.javasc ...

  10. [Python] 字符串加密解密

    1. 最简单的方法是用base64: import base64 s1 = base64.encodestring('hello world') s2 = base64.decodestring(s1 ...