天天看点

Oracle登录验证方式详解

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&gt; <code>&lt;br/&gt;**2.口令文件认证**&lt;br/&gt;是一种通过网络的远程认证方式,只有 sysdba权限的用户可以使口令文件;&lt;br/&gt;口令文件:&lt;br/&gt;</code>[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进行修改

强制重新生成密码文件

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平台,关闭本机密码文件认证,采用操作系统认证,但远程&lt;异机&gt;可以使用密码文件认证

nts : 用于windows平台

本文转自 rm_rf_d 51CTO博客,原文链接:http://blog.51cto.com/12185273/2056819,如需转载请自行联系原作者