Oracle登陆验证与密码文件

1,为什么oracle可以不使用sys密码的前提下以sysdba身份登陆(sqlplus / as sysdba),因为oracle安装时,在本地建立了ora_dba权限组,并将操作系统用户加入了该组,另外,%ORACLE_HOME%/db_1/NETWORK/ADMIN/sqlnet.ora中,对能否进行操作系统验进行了如下定义:

 

操作系统验证有

SQLNET.AUTHENTICATION_SERVICES= (NTS)

操作系统验证无

SQLNET.AUTHENTICATION_SERVICES= (NONE)

 

设置为操作系统验证有的场合,可以任何用户进行as sysdba登陆,哪怕用户是不存在的。而且使用show user命令时,显示的都是SYS。

设置为操作系统验证无的场合,只有密码文件中存在的用户才能进行as sysdba登陆。

密码文件位置:%ORACLE_HOME%/db_1/database/ PWD%SID%.ora

 

查询密码文件中的用户:select * from v$pwfile_users;

 

追加用户到密码文件或从密码文件中删除指定用户:

GRANT  {SYSDBA | SYSOPER} TO scott;

REVOKE {SYSDBA | SYSOPER} FROM scott;

 

另外%ORACLE_HOME%/admin/%SID%/pfile/init.ora中,

有关于REMOTE_LOGIN_PASSWORDFILE的密码文件的使用设置。

REMOTE_LOGIN_PASSWORDFILE = { SHARED | EXCLUSIVE | NONE }

 

EXCLUSIVE:默认值,只有一个数据库可以使用这个口令文件。在这种模式下,口令文件可以包含SYS和SYS以外的多个特许的Oracle账户的口令。

SHARED:多个数据库可以使用相同的口令文件。这种模式不能追加其他用户到密码文件中,也不能修改现有密码文件中的口令。可以在EXCLUSIVE追加用户或修改口令,再切换成为SHARED模式。

NONE参数:Oracle会忽略口令文件,只能以操作系统用户进行sysdba访问登录。

 

注意:当设定为EXCLUSIVE或SHARED模式时,如果密码文件不存在,与设定为NONE结果相同。

 

2,密码文件的创建

ORAPWD FILE=filename PASSWORD=<password> [ENTRIES=numusers] [FORCE={Y|N}] [IGNORECASE={Y|N}]

 

FILE:口令文件名称PWD%SID%.ora。

PASSWORD:sys用户的口令。

ENTRIES:设定密码文件中Oracle用户帐户的最大数量。

FORCE:如果存在同名的密码文件,是否进行覆盖。

IGNORECASE:是否区别密码大小写。(Oracle11g有效)

 

疑问:有多个密码文件时,设定REMOTE_LOGIN_PASSWORDFILE=SHARED,会使用哪个密码文件?

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当Oracle 12c登录提示密码无效时,可能有以下几种原因导致: 1. 密码错误:请确保输入的密码是正确的,区分大小写以及特殊字符。尝试重新输入密码,确保没有输入错误。 2. 账号锁定:如果连续多次输入错误密码Oracle账号可能会被锁定。可以尝试使用sys用户登录数据库,然后查看该账号是否被锁定,并解锁账号。 3. 用户权限不足:可能是由于用户没有足够的权限来登录数据库。可以尝试使用有足够权限的用户登录数据库,并给予该用户登录权限。 4. 密码过期:如果密码过期,将无法登录数据库。可以通过sys或者具有足够权限的用户登录数据库,然后更改密码或者将密码有效期延长。 5. 数据库未启动:确保Oracle数据库已经正确启动,可以通过查看数据库的状态来确认。 如果以上解决方法无效,可以进一步检查数据库的运行日志以及配置文件,查看是否有其他错误导致登录问题的发生。如果问题仍未解决,可以考虑联系Oracle技术支持寻求进一步的帮助。 ### 回答2: 当您登录Oracle 12c时,提示密码无效可能有几种可能的原因。首先,您输入的密码可能不正确,请确保您输入的密码是正确的。其次,您的密码可能已过期。Oracle 12c有一个密码过期机制,如果密码已过期,您需要更改密码才能登录。您可以使用管理员帐户通过SQL*Plus登录,并更改您的密码。也可能是由于密码策略限制,您的密码不符合要求。 另一个可能的原因是帐户被锁定。当几次失败的登录尝试发生后,Oracle会自动锁定帐户。您可以使用管理员帐户解锁您的帐户,然后重置密码。您也可以检查SQLNET.ORA文件中的SQLNET.AUTHENTICATION_SERVICES参数,确保您正在使用正确的身份验证服务。 最后,可能是由于TNS连接问题导致的。确保您使用正确的TNS名称或IP地址进行连接,并且监听器已启动并正在监听指定的数据库。 总结而言,当Oracle 12c登录提示密码无效时,您应该先确认密码是否正确,然后检查密码是否过期或不符合策略,以及帐户是否被锁定。如果这些都没有问题,您还应该检查TNS连接是否正确。 ### 回答3: 当Oracle 12c登录提示密码无效时,可能是由于以下几个原因导致的: 1. 密码错误:请确保输入的密码正确,检查是否大小写敏感。可以尝试重新输入密码进行验证。 2. 账户被锁定:如果连续多次输入错误密码Oracle会保护机制锁定账户。可以通过使用管理员账户登录到数据库并解锁被锁定的账户来解决该问题。 3. 密码过期:如果密码过期,Oracle要求用户修改密码。可以尝试使用管理员账户登录数据库,并重置该用户的密码。 4. 配置问题:检查数据库的密码文件是否存在,是否有权限读取密码文件。还可以检查相关配置文件,如SQL*Plus或JDBC的配置文件,确保密码正确配置。 5. 数据库问题:在一些情况下,数据库文件可能发生损坏,导致密码无效。可以通过备份恢复数据库文件,或联系Oracle技术支持寻求更进一步的帮助。 综上所述,当Oracle 12c登录提示密码无效时,需要仔细检查密码输入是否正确,账户是否被锁定,密码是否过期,以及数据库配置和文件是否正常。 如果以上方法无法解决问题,建议联系专业的Oracle技术支持或DBA寻求更进一步的技术支持和解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值