浅谈oracle 用户(sysdba)远程登录和口令认证


 
今天配置登录em,发现总是被告知密码错误,用sqlplus连接至远程数据库也包错误密码登录失败,最终确定系oracle的用户登录认证问题。
sys(sysdba用户组成员)用户有两种认证方式:
1、操作系统认证方式
在本地服务器(数据库所在服务器)登录数据库
oracle将用户认证由操作系统在数据库外执行,默认情况下只需要以oracle账户登录操作系统便可以直接连接数据库,不需要口令。
如果需要口令认证,需要在$ORACLE_HOME/dbs/sqlnet.ora,加入如下行:
SQLNET.AUTHENTICATION_SERVICES=NONE
此时连接数据库就需要输入用户和密码了
2、数据库认证方式
通过在数据库配置文件里(spfile)里配置REMOTE_LOGIN_PASSWORDFILE指定远程登录访问数据库的方式
a、none
Oracle ignores any password file. Therefore, privileged users must be authenticated by the operating system
不允许sysdba用户组成员远程登录访问数据库
b、exclusive
The password file can be used by only one database. The password file can contain SYS as well as non-SYS users.
只允许口令文件用于本数据库,允许sysdba用户组成员远程登录访问数据库
c、shared
One or more databases can use the password file. The password file can contain SYS as well as non-SYS users.
允许其他数据库使用该口令文件,允许sysdba用户组成员远程登录访问数据库

参考文章: http://www.eygle.com/faq/passwordfile.htm

以下为简单处理过程:
sqlplus 连接远程数据库失败:
C:\Users\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 11月 2 16:32:13 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn sys/[email protected]/zjcsc as sysdba
ERROR:
ORA-01017: invalid username/password; logon denied

检查远程登录设置,发现配置remote_login_passwordfile=NONE禁止sysdba用户(及拥有其角色的普通用户)远程登录。
SQL> show parameter pass
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile      string  NONE
修改配置remote_login_passwordfile=exclusive(这是个静态参数要修改spfile文件),sysdba用户(及拥有其角色的普通用户)可以远程登录。
SQL> alter system set remote_login_passwordfile=exclusive scope=spfile;
System altered.
重启数据库
SQL> startup force;
ORACLE instance started.
Total System Global Area 3758096384 bytes
Fixed Size      2088408 bytes
Variable Size   1593836072 bytes
Database Buffers  2147483648 bytes
Redo Buffers     14688256 bytes
Database mounted.
Database opened.
检查配置参数修改成功
SQL> show parameter pass
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile      string  EXCLUSIVE
重置sys用户密码
SQL> alter user sys identified by oracle;
sqlplus连接测试成功,EM也能够成功登录:
C:\Users\Administrator>sqlplus /nolog
conn sys/[email protected]/zjcsc as sysdba
 
 
 
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20575781/viewspace-710131/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20575781/viewspace-710131/

你可能感兴趣的:(浅谈oracle 用户(sysdba)远程登录和口令认证)