Oracle默认的认证方式是OS认证,所以如果以安装oracle的账号登陆服务器,就不需要登录数据库,只要在服务器端不用输入用户名密码
Oracle默认的认证方式是OS认证,所以如果以安装oracle的账号登陆服务器,就不需要登录数据库,只要在服务器端不用输入用户名密码就可以以DBA权限登录数据库:
show user也可以看出,不管用什么登录都能通过,,并且都是SYS用户。
解决方法:
只要到下面目录下,修改sqlnet.ora文件中的SQLNET.AUTHENTICATION_SERVICES参数即可,下次登录的时候将不会再是ODS认证的了:
windows下如果将该参数设置为NTS或者ALL或者注释掉才可以使用OS认证,设置为NONE或者任何其他值都不能使用OS认证
linux下如果设置为ALL或者注释掉才可以使用OS认证,设置为任何其他值都不能使用OS认证。
现在看看效果:
另外,如果你需要赋给linux其他用户运行oracle的权限,那么可以这么做:
将用户添加到oinstall用户组下即可:
当然,还需要配置用户的环境变量:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
#PATH=$PATH:$HOME/bin
export ORACLE_BASE=/home/oracle/oracle
export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1
export ORACLE_SID=orclsid
export PATH=$ORACLE_HOME/bin:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LANG=AMERICAN_AMERICAN.ZHS16GBK
#export PATH