Oracle有三种登录验证方式
1.OS认证
登录oracle数据库操作系统,且必须属于dba组,如果用户是sysdba身份登录则不需要密码;
`[oracle@oracle11g ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jan 1 22:28:46 2018
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show user;
USER is "SYS"
SQL> <br/>**2.口令文件认证**<br/>是一种通过网络的远程认证方式,只有 sysdba权限的用户可以使口令文件;<br/>口令文件:<br/>
[oracle@oracle11g dbs]$ ll
total 28
-rw-rw---- 1 oracle oinstall 1544 Jan 1 22:28 hc_orcl.dat
-rw-r--r-- 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r--r-- 1 oracle oinstall 1062 Dec 31 23:12 initorcl.ora
-rw-r----- 1 oracle oinstall 24 Sep 17 20:25 lkORCL
-rw-r----- 1 oracle oinstall 1536 Dec 31 13:44 orapworcl——口令文件
-rw-r----- 1 oracle oinstall 1536 Oct 15 12:07 orapworcl.bak
-rw-r----- 1 oracle oinstall 3584 Jan 1 22:28 spfileorcl.ora
[oracle@oracle11g dbs]$ `
登录以sysdba:sqlplus sys/oracle@orcl as sysdba
3.口令密码认证
指普通用户非sysdba用户登录数据库,必须在数据库打开的情况下才可以登录,因为普通用户的密码是保存在数据字典里。
如果sys用户密码忘记了,可以直接登录操作系统,sqlplus / as sysdba进行修改
SQL> alter user sys identified by "niceman";
User altered.
强制重新生成密码文件
orapwd file=orapw+sid password=oracle force=y
spfile/pfile参数文件中的remote_login_passwordfile参数说明
三种设定模式:(可以通过show parameter remote命令查看当前模式)
1) remote_login_passwordfile = EXCLUSIVE,要密码文件认证,自己独占使用(默认值)
2) remote_login_passwordfile = SHARE,要密码文件认证,不同实例dba用户可以共享密码文件
3) remote_login_passwordfile = NONE,不使密码文件认证,需要通过操作系统认证,即数据库的特权用户只能从操作系统进行登录
remote_login_passwordfile是静态参数,修改后需要重启才能生效
sqlnet.ora中的相关设置
SQLNET.AUTHENTICATION_SERVICES = none | all | ntf(windows)
none: 表示关闭操作系统认证,只能密码认证
all : 用于linux或unix平台,关闭本机密码文件认证,采用操作系统认证,但远程<异机>可以使用密码文件认证
nts : 用于windows平台