Oracle中的两种验证方式:操作系统验证和密码文件验证,通过操作系统验证的方式解决客户端登录不了数据的问题

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>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涂作权的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值