标签:
这是因为在安装Oracle的时候默认是使用了操作系统验证:
数据库用sysdba登录的验证有两种方式,一种是通过os认证,一种是通过密码文件验证;登录方式有两种,一种是在数据库主机直接登录(用os认证的方式),一种是通过网络远程登录;需要设置的参数有两个,一个是SQLNET.AUTHENTICATION_SERVICES,一个是REMOTE_LOGIN_PASSWORDFILE。
安装下面的方法修改之后,可以限制sysdba不用密码就能登录的问题。
sqlnet.authentication_services=(NTS),在$ORACLE_HOME\network\admin\sqlnet.ora中
NTS特指的是windows系统,或者设为all,这两种情况都允许操作系统认证。
如果在unix下如果没有设置sqlnet.authentication_services,默认就是操作系统认证!或者设为all也允许操作系统认证。参数SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)表明用户连接Oracle服务器时使用哪种验证方式
NONE表示Oracle数据库身份验证,NTS表示操作系统身份验证,两种方式可以并用。
os认证:如果启用了os认证,以sysdba登录,那么我们只要用oracle软件的安装用户就能登录:sqlplus “/ as sysdba”。如果我们要禁用os认证,只利用密码文件登录,我们首先要有一个密码文件: orapwd file=C:\oracle\product\10.2.0\db_1\database\PWDoralocal.ora password=maximo entries=10;
然后我们要把$ORACLE_HOME/network/admin/sqlnet.ora中设置:
SQLNET.AUTHENTICATION_SERVICES= none
标签:
原文地址:http://www.cnblogs.com/cx-zyq/p/4479947.html