欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

如何修改Oracle 10g ASM的sys密码

程序员文章站 2022-05-14 15:07:20
...

Oracle 10g的ASM实例的sys密码有时候需要修改。它的修改方法是直接修改ASM实例的密码文件,和数据库实例中用户的密码修改方式是不

Oracle 10g的ASM实例的sys密码有时候需要修改。它的修改方法是直接修改ASM实例的密码文件,和数据库实例中用户的密码修改方式是不一样的。

我们不能通过alter user 命令修改ASM数据库的sys用户密码。ASM的sys密码只能被密码文件提供,并且ASM实例的REMOTE_LOGIN_PASSWORDFILE的值设置为EXCLUSIVE。

如果使用alter user命令修改,将出现ORA-01031错误。操作如下所示:

SQL> select INSTANCE_NAME from v$instance;
INSTANCE_NAME
----------------
+ASM

SQL> ALTER USER sys IDENTIFIED BY REPLACE ;
ALTER USER sys IDENTIFIED BY REPLACE
*
ERROR at line 1:
ORA-01109: database not open

The following error also might occur:
SQL> alter user sys identified by ;
alter user sys identified by
*
ERROR at line 1:
ORA-01031: insufficient privileges

我们修改密码文件中的信息实现密码修改操作。而操作方法是使用orapwd重建密码文件。

1、设置ORACLE_HOME和ORACLE_SID匹配ASM实例
2、使用sqlplus / as sysdba连接ASM实例
3、如果remote_login_passwordfile的值为EXCLUSIVE,ASM实例必须关闭
4、备份现在的密码文件PWD.ora( In Windows) / orapw ( in UNIX)后,删除。
5、执行下列重建密码文件命令

WINDOWS:
orapwd file=/database/PWD.ora password=

UNIX:
orapwd file=/dbs/orapw password=

虽然密码文件可以在ASM实例处于启动状态重建,但Oracle建议还是关闭掉数据库实例和ASM实例后再重建。

如果环境是ORACLE RAC,那么每个节点下的密码文件都需要重新生成。

在Oracle 11.2中,,可以使用asmcmd工具修改单个实例的sys密码。

$ export ORACLE_SID=+ASM
$ asmcmd
ASMCMD> passwd sys
Enter old password (optional): ******
Enter new password: ******

也可以使用asmcmd工具修改RAC的sys密码

ASMCMD> orapwusr --modify --password sys

Enter password: ******
ASMCMD> exit

关键是10g下修改sys密码需要关闭数据库实例和ASM实例,修改方法是重建密码文件。

如何修改Oracle 10g ASM的sys密码