Redhat6.8安装Oracle11g下遇到两个问题记录

问题一: 刚刚安装完毕Oracle之后,尝试sqlplus登陆报错,TNS:net service name is incorrectly specified

image

参考文章:关于环境变量ORACLE_SID简单谈下

说明:环境变量ORACLE_SID未设置正确,将环境变量ORACLE_SID设置为之前安装的数据库实例名即可;export只是当前会话环境变量生效,修改文件 .bash_profile即可

image

 

假设环境变量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'

image

 

 

问题二.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组,测试结果如下:

image

将其用户组改为dba组,命令 usermod –G  dba  lbb

image

 

结论,linux下操作系统认证  用户为数据库dba组才有权限 无视密码 直接conn / as sysdba登陆,这也是为啥有时候用户登陆不需要密码也能SYSDBA登陆数据库,所以Oracle安装时候还是指定两个用户组;linux下的sqlnet.ora文件我没发现哪里有。

 

问题三.  linux其他用户登陆Oracle时候lost contact问题:

image

解决方案:到$ORACLE_HOME/bin目录下执行  chmod 6751 oracle 或者  chmod +s oracle 命令即可;

非Oracle用户lost contact解决方案  非Oracle用户lost contact解决方案2

 

转载于:https://www.cnblogs.com/lvbinbin2yujie/p/10506618.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值