渐行渐远这个网名,用了好多年了, 非常喜欢. 童年远了. 梦想远了.

Oracle 10G RAC下非共享密码文件ORA-01991: invalid password file问题解决.

上一篇 / 下一篇  2008-08-11 08:11:20 / 个人分类:数据库管理

环境述描:

操作系统: AIX5.0L

数据库: oracle10GRAC

密码文件:非共享

节点一实例名:bjoadb1

节点二实例名:bjoadb2

问题描述:

1.                  用户由于业务需要,需给system授予sysdba的权限.但在使用grant sysdba to system的时候报正如错误:

ERROR at line 1: ORA-01991: invalid password file '

2.                  sys用户远程连接报权限不足的错误.但在本地通过conn / as sysdba能正常登录.

问题解决:

因为sysdba的权限不是记录在数据库中的,而是记录在口令文件中的。所以在给用户授sysdba权限时需要写口令文件。考虑到可能是口令文件两边不一致造在的,故问题解决步骤如下:

1.          备份原口令文件,分别在两个节点上的口令文件通过mv命令备份。

在实例bjoadb1dbs目录下执行:mv orapwbjoadb1 orapwbjoadb1.bak

在实例bjoadb2dbs目录下执行:mv orapwbjoadb2 orapwbjoadb2.bak

2.          重建口令文件.

在实例bjoadb1上执行:orapwd file=’/oracle/app/oracle/product/10.2.0/db_1/dbs/orapwbjoadb1’password=oracle entries=5

在实例bjoadb2上执行:orapwd file=’/oracle/app/oracle/product/10.2.0/db_1/dbs/orapwbjoadb2’password=oracle entries=5

3.          授权。

Sqlplus / as sysdba

Grant sysdba to system;

授权成功。

4.测试。

sqlplus远程连接:

Connsys/oracle@bjyc as sysdba

连接成功

Connsystem/oracle@bjyc as sysdba

连接成功

问题补充:

问题的解决思路非常清楚.但在实际实施过程中有一个问题要特别注意,要特别注意口令文件的格式.因为是在RAC环境中,通过grant sysdba to username要改写口令文件.这时候如果口令文件格式不规范,就会报错.

windows,口令文件的格式为:pwd+oracle_sid.ora

linux,口令文件的格式为:orapw+oracle_sid,没有扩展名.


TAG:

bettleman的个人空间 引用 删除 bettleman   /   2008-08-12 13:28:34
show parameter remote

设置remote_login_passwordfile=share
则多个sysDBA用户可以公用同一个口令文件
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-09  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 2895
  • 日志数: 25
  • 图片数: 2
  • 文件数: 2
  • 建立时间: 2007-12-12
  • 更新时间: 2008-08-23

RSS订阅

Open Toolbar