Oracle用户身份认证方式有操作系统认证、口令认证和数据库服务器认证三种方式。
1、操作系统认证
在WindowsNT/2000上有一个ora_dba组,此组的用户将自动被授予sysdba或sysoper权限。用户认证由操作系统完成,如操作系统用户lb在该组中,用该用户登陆操作系统后,输入以下命令:
c:\>sqlplus /nolog
sql>connect /as sysdba
这样lb用户就以sysdba角色登录oracle了,不过,这时lb实际上是以sys模式连接到数据库中的。
注意:操作系统验证,要将初始化参数remote_login_passwordfile设置为none。
要在sqlnet.ora文件中设置如下参数:
(1)SQLNET.AUTHENTICATION_SERVICES = (NONE) 时
SQL> connect / as sysdba
ERROR:
ORA-01031: insufficient privileges
这个时候是口令文件认证。
(2)当SQLNET.AUTHENTICATION_SERVICES = (NTS) 时
可以
CONNECT / AS SYSDBA
这个时候是操作系统认证。
2、口令文件认证
只有在具有安全网络连接时才能使用操作系统认证方式,否则只能使用口令文件认证。在口令文件认证方式下,Oracle使用口令文件来对具有sysdba或sysoper权限的用户进行身份认证。
操作步骤如下:
(1)、在Windows NT/2000中创建一个新的用户帐户,如lbnew。
(2)、使用口令实用程序orapwd创建口令文件。
(3)、将初始化参数remote_login_passwordfile设置为exclusive。
(4)、先用sys连接到数据库,以sysdba身份登陆,在数据库中创建数据库用户,并授予该用户sysdba系统权限。
Sql>create user lb1 identified by “lb1”
Sql>grant sysdba to lb1
查看口令文件中的用户信息:select * from v$pwfile_users;
(5)、可以使用lbnew登陆操作系统,执行如下命令以sysdba的身份连接到数据库:
sql>conn lb1/lb1 as sysdba
3、数据库服务器认证
Oracle可以通过数据库服务器来验证用户身份。但是在执行如启动实例、加载和打开数据库等操作时,就不能使用数据库服务器的认证方式,只能使用操作系统和口令认证方式,因为在打开数据库之前,不能使用这些信息来对用户进行身份验证。
创建普通用户的方法:
create user lb2 identified by lb2;
grant connect to lb2;
在数据库打开后,可以用该用户连接数据库。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/62738/viewspace-566909/ ,如需转载,请注明出处,否则将追究法律责任。