关于Oracle的口令文件orapw<ORACLE_SID>和认证方式的

   在数据库未启动之前登陆从而启动数据库如果没有口令文件,在数据库未启动之前就只能通过操作系统认证。使用Rman,很多时候需要在nomount,mount等状态对数据库进行处理。所以通常要求具有sysdba权限,如果属于本地DBA组,可以通过操作系统认证登陆,如果是远程sysdba登陆,需要通过Oracle数据库的密码文件认证。

  Oracle数据库的密码文件存放有具有SYSDBA/SYSOPER权限用户的用户名、及口令,它一般存放在$ORACLE_HOME/dbs目录下。

  使用密码文件认证方式登录的数据库时,默认查找密码文件的顺序是:---> orapw<sid> ---> orapw ---> Failure

  1、丢失密码文件,oracle是否可以正常启动?

  在网上看到多很多文章,都有实验证明oracle丢失密码文件启动时会报错。根据oracle密码文件存在的意义思考,既然可以执行startup命令启动数据库,则说明已经通过验证,至于是密码文件验证还是操作系统验证已经不在重要。数据库启动过程中,再去检查是否存在密码文件也没有意义了。而且在oracle11g的实验中,监控oracle启动日志,未发现涉及oracle密码文件的信息。其他版本数据库暂时未测试,但已经能够说明“oracle数据缺少密码文件时启动报错”是不完全准确的了。

oracle@linux-vm:~> 关闭操作系统认证
oracle@linux-vm:~> echo SQLNET.AUTHENTICATION_SERVICES=none > $ORACLE_HOME/network/admin/sqlnet.ora
oracle@linux-vm:~> mv $ORACLE_HOME/dbs/orapworcl $ORACLE_HOME/dbs/orapworcl.b
oracle@linux-vm:~> sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 - Production on Thu Dec 15 20:00:48 2011
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
SQL> conn sys/system as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area  481267712 bytes
Fixed Size      1300716 bytes
Variable Size    176162580 bytes
Database Buffers   297795584 bytes
Redo Buffers      6008832 bytes
Database mounted.
Database opened.
SQL>

  2、关于参数remote_login_passwordfile的作用及设置

SQL> show parameter remote_login_passwordfile

NAME				     TYPE	 VALUE
------------------------------------ ----------- ----------------------
remote_login_passwordfile	     string	 EXCLUSIVE

  remote_login_passwordfile = none | exclusive |shared

  静态参数, 位于$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora参数文件中,修改此参数后,需要重新启动数据库才有效。

  none : 不使用密码文件认证

  exclusive:要密码文件认证,自己独占使用(默认值)

  shared :要密码文件认证,不同实例dba用户可以共享密码文件

  3、关于Oracle数据库的密码文件丢失、重建

oracle@linux-vm:~> orapwd
Usage: orapwd file=<fname> password=<password> entries=<users> force=<y/n> ignorecase=<y/n> nosysdba=<y/n>

  where
    file - name of password file (required),
    password - password for SYS (optional),
    entries - maximum number of distinct DBA (required),
    force - whether to overwrite existing file (optional),/*10g新增
    ignorecase - passwords are case-insensitive (optional),
    nosysdba - whether to shut out the SYSDBA logon (optional Database Vault only).
    
  There must be no spaces around the equal-to (=) character.

  可以通过orapwd命令对Oracle数据库密码文件的新建、覆盖写入实现对密码的修改。


 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值