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>
[oracle@oracle11g dbs]$ ll
**2.口令文件认证**
是一种通过网络的远程认证方式,只有 sysdba权限的用户可以使口令文件;
口令文件:
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平台
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。