Oracle中的两种验证方式:操作系统验证和密码文件验证

来源:互联网 发布:惠州惠阳区网络问政 编辑:程序博客网 时间:2024/04/30 12:25

Oracle验证两种方式,操作系统验证,密码文件验证

启动密码文件验证

如果数据库登录方式是操作系统验证sys登录不需要用户名和密码就可以登录

C:\Documents and Settings\wwang>sqlplus dfsdljfsdljf/jsljfls as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on星期一 6 11 22:28:09 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

连接到:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing option

SQL>

1.  创建口令验证文件

C:\Documents and Settings\wwang>orapwd file=D:\app\wwang\product\11.2.0\dbhome_1\database\PWDmdsp.ora entries=3

force=y password=oracle;

2.  修改初始化参数remote_login_passwordfile= EXCLUSIVE

此参数有三个exclusive启用(单实例多用户)none表示禁用 shared启用(RAC多实例单用户)

3.  修改sqlnet.oraSQLNET.AUTHENTICATION_SERVICES = (NONE)

4.  再次使用sqlplus / as sysdba登录

C:\Documents and Settings\wwang>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on星期一 6 11 22:48:56 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:

ORA-01031:权限不足

请输入用户名:

ERROR:

ORA-01017:用户名/口令无效;登录被拒绝

登录不输入用户名密码登录不上

只用输入正确的用户名密码才能登录

C:\Documents and Settings\wwang>sqlplus sys/oracle; as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on星期一 6 11 22:52:32 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

连接到:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

查看v$pwfile_users

SQL> select * from v$pwfile_users;

USERNAME             SYSDBA     SYSOPER    SYSASM

-------------------- ---------- ---------- ----------

SYS                  TRUE       TRUE       FALSE

SQL>

给用户赋予sysdba权限

SQL> grant sysdba to imuse01;

授权成功。

SQL> select * from v$pwfile_users;

USERNAME             SYSDBA     SYSOPER    SYSASM

-------------------- ---------- ---------- ----------

SYS                  TRUE       TRUE       FALSE

IMUSE01              TRUE       FALSE      FALSE

因为创建口令文件entries=3只能在给3个用户赋sysdba权限(以4个位单位)

5.  如果要禁用口令文件验证修改sqlnet.oraSQLNET.AUTHENTICATION_SERVICES = (NTS)

 

 

 

 Oracle 验证机制 -- 解决刚创建数据库后未赋权新建用户以dba登录问题

首先稍微解释下os认证:
oracle安装之后默认景象下是启用了os认证的,这里提到的os认证是指办事器端os认证。os认证的意思把登录数据库的用户和口令校验放在了操纵系同一级。若是以安装oracle时的用户登录os,那么此时在登录oracle数据库时不须要任何验证,如:
SQL> connect /as sysdba
已连接。

SQL> show user;
User is "SYS"


SQL> connect sys/aaa@dmt as sysdba
已连接。

SQL> show user;
User is "SYS"

SQL> connect sys/bbb as sysdba
已连接。

SQL> show user;
User is "SYS"

SQL> connect aaa/bbb as sysdba
已连接。

SQL> show user;
User is "SYS"

SQL> select * from v$pwfile_users;


USERNAME                       SYSDBA SYSOPER
------------------------------ ------ -------
SYS                            TRUE   TRUE


非论输入什么用户(哪怕这个用户如aaa在数据库中底子不存在),只要以sysdba权限连接数据库,都可以连接上,并且连接用户是sys,有时侯,若是忘记了数据库的密码,而又想登录数据库,可以经由过程这种验证格式,前提是在数据库办事器上;然而便利的同时也带来了一些安然隐患,于是很多人想脱离os认证,在win下只要把oracle_home/NETWORK/admin/sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES= (NTS)中的NTS改成NONE或者注释掉这句话(在前面加上#),就可以脱离os功能,要想以sys用户连上数据库必须输入正确的sys口令,如:
SQL> connect /as sysdba
ERROR:
ORA-01031: 权限不足
SQL> connect sys/aaa as sysdba
ERROR:
ORA-01017: 用户名/口令无效; 登录被拒绝
SQL> connect aaa/bbb as sysdba
ERROR:
ORA-01031: 权限不足
SQL> connect sys/system as sysdba
已连接。
SQL>

 

原创粉丝点击