1. 无法登陆
system账户无法登陆(当然密码是正确的),出现 ORA-12547, 看提示信息像未链接到server。不过 tnsping SID 也正常。甚至其他普通帐号也能链接查看数据。
user# sqlplus system/pass as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Tue Sep 8 09:30:04 2015
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-12547: TNS :lost contact when try to connect to Oracle.
2. 修改oracle文件权限
网上搜索了下,大部分人都说修改 $ORACLE_HOME/bin/oracle 文件的权限。
➜ ~ chmod 6751 oracle
OK, 修改之后再登陆。刚刚那个错误没有啦。但是…,又出来了另一个错误ORA-01031。
user# sqlplus system/pass as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Tue Sep 8 09:34:04 2015
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-01031: insufficient privileges
Enter user-name:
擦,权限不足, 难道我 system 还不作为 sysdba 登录。对于这个问题,网上很多人说需要赋予更多的权限,有的说应该修改密码了。此时我都怀疑是不是我密码错误了。
3. 切换系统账户
后来才发现当前系统用户是 root ,而 oracle 的安装运行用的是 oracle 用户。切换到oracle后登录正常。擦,绕啦一圈发现这问题是最开始的一个小错误造成的。
➜ ~ su - oracle
@resources
- http://www.dadbm.com/how-to-fix-ora-12547-tns-lost-contact-when-try-to-connect-to-oracle/
- https://community.oracle.com/thread/2297680