渐行渐远这个网名,用了好多年了,
非常喜欢.
童年远了.
梦想远了.
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命令备份。
在实例bjoadb1上dbs目录下执行:mv orapwbjoadb1 orapwbjoadb1.bak
在实例bjoadb2上dbs目录下执行: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: