标签:密码 数据库 用户 ORACLE Redhat6.8 Oracle 安装 Oracle11g 登陆
问题一: 刚刚安装完毕Oracle之后,尝试sqlplus登陆报错,TNS:net service name is incorrectly specified
参考文章:关于环境变量ORACLE_SID简单谈下
说明:环境变量ORACLE_SID未设置正确,将环境变量ORACLE_SID设置为之前安装的数据库实例名即可;export只是当前会话环境变量生效,修改文件 .bash_profile即可
假设环境变量ORACLE_SID没有设置对,数据库实例不存在,会报这样错误:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/data/app/oracle/product/dbhome_1/dbs/initolcom115DB.ora'
问题二.Linux conn sys as sysdba 即使不输入密码、密码输入错误也能登陆进入SYS用户;或者 conn / as sysdba 可以直接登陆数据库不用输入密码
在同事的机器Windows上测试,发现Oracle同样不需要密码、密码错误也可以登陆SYS用户;
说明:这属于操作系统级别的认证方式,Linux下用户为Oracle(我觉得属于 数据库DBA组 的用户)的用户以SYSDBA登陆数据库不验证密码正确性;
Windows下取消操作系统认证方式:
修改$ORACLE_HOME/network/admin目录下的sqlnet.ora文件
SQLNET.AUTHENTICATION_SERVICES= (NTS)
改为如下即可,在同事的机器上发现不用重启数据库就能生效;
SQLNET.AUTHENTICATION_SERVICES= (NONE)
Linux下取消操作系统认证方式:
我在linux下没有找到该sqlnet.ora文件,通过验证,我得出的结论是,操作系统认证 不验证用户以SYSDBA方式登陆时候的密码正确性,只有在当前用户归属于数据库DBA组的时候;
Redhat6.8安装Oracle11gR2 这是我之前记录的安装Oracle的过程,其中安装过程中指定了两个数据库DBA组 dba 以及普通用户组oinstall
新增一个用户,归属于 oinstall组,测试结果如下:
将其用户组改为dba组,命令 usermod –G dba lbb
结论,linux下操作系统认证 用户为数据库dba组才有权限 无视密码 直接conn / as sysdba登陆,这也是为啥有时候用户登陆不需要密码也能SYSDBA登陆数据库,所以Oracle安装时候还是指定两个用户组;linux下的sqlnet.ora文件我没发现哪里有。
问题三. linux其他用户登陆Oracle时候lost contact问题:
解决方案:到$ORACLE_HOME/bin目录下执行 chmod 6751 oracle 或者 chmod +s oracle 命令即可;
非Oracle用户lost contact解决方案 非Oracle用户lost contact解决方案2
标签:密码,数据库,用户,ORACLE,Redhat6.8,Oracle,安装,Oracle11g,登陆 来源: https://www.cnblogs.com/lvbinbin2yujie/p/10506618.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。