`

(转)Oracle的RAC环境下SYS密码修改

 
阅读更多

sys是数据库库中权限最高的用户,在登录时,我们可以用os认证的方式直接登录,也可以利用sqlplus “sys/your_password@your_tnsnames as sysdba”来登录。特别是对于后面的这种远程登录,在第三方的备份备份软件中需要配置。因此这个文件对于使用了第三方备份软件的数据库系统,就比较重要了。

在单实例,如果我们在数据库执行了更改密码的命令:alter user sys identified by new_password;这个时候,数据库就会自动的改写$ORACLE_HOME/dbs/下的密码文件,将里面的内容改成新密码。但是在rac中,这就是一个比较需要注意的地方了。


在rac中,如果你仅仅是在一个节点上运行alter user sys的命令,完成更改后,数据库自动在此节点上更新密码文件。但是,在其他节点中,这个密码文件不会被更新,还是原来的密码文件。这就造成了一个很奇特的现象:在一个3节点的rac中,rac1上登录数据库后更改了sys的密码,在rac1主机上的密码文件被更新,rac2和rac3主机上密码文件不会被更新,仍然能用老密码来登录rac2和rac3。
rac1:

rac1-> ll
……
-rw-r-----  1 oracle oinstall  1536 Jun 21  2009 orapwdevdb1
 
##我们看到这边的密码文件还是2009年6月21日的。我们到数据库更改sys密码。
 
rac1-> sqlplus "/ as sysdba"
 
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 22:31:59 2010
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
 
SQL> alter user sys identified by oracle123;
 
User altered.
 
SQL>
 
## 我们看到密码文件被更新
rac1-> ls -l
……
-rw-r-----  1 oracle oinstall  1536 Mar 30 22:33 orapwdevdb1
rac1-> date
Tue Mar 30 22:33:42 CST 2010
rac1->
rac2上:

rac2-> ll
……
-rw-r-----  1 oracle oinstall  1536 Jun 21  2009 orapwdevdb2
 
##密码文件未被更新
rac3:

rac3-> cd $ORACLE_HOME/dbs
rac3-> ll
……
-rw-r-----  1 oracle oinstall  1536 Jun 21  2009 orapwdevdb3
rac3->
 
## rac3上的密码文件也未被更新。
## 新密码无法登录rac3和rac2,但是可以用老密码远程登录rac3和rac2,用新密码远程登录rac1.
[root@rac3 root]# sqlplus "sys/oracle123@DEVDB3 as sysdba"
 
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 22:46:18 2010
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
ERROR:
ORA-01017: invalid username/password; logon denied
 
 
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
 
 
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
 
 
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
[root@rac3 root]
[root@rac3 admin]# sqlplus "sys/oracle@DEVDB2 as sysdba"
 
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 23:59:22 2010
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
 
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining option
 
[root@rac3 admin]# sqlplus "sys/oracle@DEVDB3 as sysdba"
 
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 30 23:58:49 2010
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
 
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
[root@rac3 admin]#
 
[root@rac3 admin]# sqlplus "sys/oracle123@devdb1 as sysdba"
 
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Mar 31 00:23:27 2010
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
 
SQL>

 

因此,为了避免出现这样的问题,我们可以有以下解决方式:
1、最简单方式就是更改sys密码的时候,在每个节点上都运行一次alter user命令,使得每个主机上的密码文件都被更新成同一个的密码的密码文件。
2、找一个共享存储的文件系统,nfs或者ocfs或者其他的共享方式都可以。只要保证是共享的文件系统就可以,共享的裸设备不行。然后把各个节点上的密码文件link到共享存储上的同一个密码文件。

下面的例子是以ocfs为例:
rac1:

[root@rac1 root]# cd /ocfs
[root@rac1 ocfs]# mkdir pwdfile
[root@rac1 ocfs]# chown oracle:dba pwdfile
[root@rac1 ocfs]# su - oracle
rac1-> cd /ocfs
rac1-> cd pwdfile
rac1-> cp $ORACLE_HOME/dbs/orapwdevdb1 orapwdevdb
rac1-> ll
total 2
-rw-r-----  1 oracle oinstall 1536 Mar 31 00:33 orapwdevdb
 
rac1-> cd $ORACLE_HOME/dbs/          
rac1-> ll
total 88
-rw-rw----  1 oracle oinstall  1584 Mar 30 22:16 ab_+ASM1.dat
-rw-r-----  1 oracle oinstall  1544 Jun 21  2009 hc_+ASM1.dat
-rw-r-----  1 oracle oinstall  1544 Jun 21  2009 hc_devdb1.dat
lrwxrwxrwx  1 oracle oinstall    41 Jun 21  2009 init+ASM1.ora -> /u01/app/oracle/admin/+ASM/pfile/init.ora
-rw-r-----  1 oracle oinstall    36 Jun 21  2009 initdevdb1.ora
-rw-r-----  1 oracle oinstall 12920 May  3  2001 initdw.ora
-rw-r-----  1 oracle oinstall  8385 Sep 11  1998 init.ora
-rw-r-----  1 oracle oinstall  1536 Jun 21  2009 orapw+ASM1
-rw-r-----  1 oracle oinstall  1536 Mar 30 22:33 orapwdevdb1
rac1-> mv orapwdevdb1 orapwdevdb1.bak20100330
rac1-> ln -s /ocfs/pwdfile/orapwdevdb orapwdevdb1
rac1-> ll
total 92
-rw-rw----  1 oracle oinstall  1584 Mar 30 22:16 ab_+ASM1.dat
-rw-r-----  1 oracle oinstall  1544 Jun 21  2009 hc_+ASM1.dat
-rw-r-----  1 oracle oinstall  1544 Jun 21  2009 hc_devdb1.dat
lrwxrwxrwx  1 oracle oinstall    41 Jun 21  2009 init+ASM1.ora -> /u01/app/oracle/admin/+ASM/pfile/init.ora
-rw-r-----  1 oracle oinstall    36 Jun 21  2009 initdevdb1.ora
-rw-r-----  1 oracle oinstall 12920 May  3  2001 initdw.ora
-rw-r-----  1 oracle oinstall  8385 Sep 11  1998 init.ora
-rw-r-----  1 oracle oinstall  1536 Jun 21  2009 orapw+ASM1
lrwxrwxrwx  1 oracle oinstall    24 Mar 31 00:35 orapwdevdb1 -> /ocfs/pwdfile/orapwdevdb
-rw-r-----  1 oracle oinstall  1536 Mar 30 22:33 orapwdevdb1.bak20100330
rac2和rac3也类似的建立link:

rac2-> ln -s /ocfs/pwdfile/orapwdevdb orapwdevdb2
rac2-> ll
total 92
-rw-rw----  1 oracle oinstall  1558 Mar 30 22:16 ab_+ASM2.dat
-rw-r-----  1 oracle oinstall  1544 Jun 21  2009 hc_+ASM2.dat
-rw-r-----  1 oracle oinstall  1544 Jun 21  2009 hc_devdb2.dat
lrwxrwxrwx  1 oracle oinstall    41 Jun 21  2009 init+ASM2.ora -> /u01/app/oracle/admin/+ASM/pfile/init.ora
-rw-r-----  1 oracle oinstall    36 Jun 21  2009 initdevdb2.ora
-rw-r-----  1 oracle oinstall 12920 May  3  2001 initdw.ora
-rw-r-----  1 oracle oinstall  8385 Sep 11  1998 init.ora
-rw-r-----  1 oracle oinstall  1536 Jun 21  2009 orapw+ASM2
lrwxrwxrwx  1 oracle oinstall    24 Mar 31 00:35 orapwdevdb2 -> /ocfs/pwdfile/orapwdevdb
-rw-r-----  1 oracle oinstall  1536 Jun 21  2009 orapwdevdb2.bak20100330
 
 
rac3-> ln -s /ocfs/pwdfile/orapwdevdb orapwdevdb3
rac3-> ll
total 92
-rw-rw----  1 oracle oinstall  1558 Mar 30 22:16 ab_+ASM3.dat
-rw-rw----  1 oracle oinstall  1544 Jul  8  2009 hc_+ASM3.dat
-rw-rw----  1 oracle oinstall  1544 Jul  8  2009 hc_devdb3.dat
lrwxrwxrwx  1 oracle oinstall    41 Jul  8  2009 init+ASM3.ora -> /u01/app/oracle/admin/+ASM/pfile/init.ora
-rw-r-----  1 oracle oinstall    36 Jul  8  2009 initdevdb3.ora
-rw-r-----  1 oracle oinstall 12920 May  3  2001 initdw.ora
-rw-r-----  1 oracle oinstall  8385 Sep 11  1998 init.ora
-rw-r-----  1 oracle oinstall  1536 Jun 21  2009 orapw+ASM3
lrwxrwxrwx  1 oracle oinstall    24 Mar 31 00:36 orapwdevdb3 -> /ocfs/pwdfile/orapwdevdb
-rw-r-----  1 oracle oinstall  1536 Jun 21  2009 orapwdevdb3.bak20100330

分享到:
评论

相关推荐

    Oracle排错 DBCA建库诡异问题处理--rac环境不能创建rac库

    ### Oracle排错 DBCA建库诡异问题处理--rac环境不能创建rac库 #### 故障处理概述 本文主要探讨了在Oracle RAC环境中利用DBCA(Database Configuration Assistant)工具进行数据库创建时遇到的一个特殊问题——无法...

    单实例数据库转换为 Oracle RAC 10g

    本篇文章旨在详细介绍如何将一个单实例的Oracle数据库转换为Oracle RAC 10g集群环境。这一过程通常涉及多个步骤,包括准备工作、数据库移植、安装集群就绪服务(CRS)软件以及安装Oracle RAC软件等。为了确保转换过程...

    ArcSDE在hp-ux Oracle RAC上远程安装的实现

    本文将详细介绍如何在HP-UX操作系统下,通过远程方式在Oracle RAC(Real Application Clusters)环境中安装与配置ArcSDE。 #### 系统环境准备 首先,确保已经安装了HP-UX操作系统,并在其上部署了Oracle 10.1版本...

    oracle rac在虚拟机上安装

    通过以上步骤,我们可以在虚拟机环境中成功安装Oracle RAC集群,并创建可用的数据库实例。在整个过程中需要注意的关键点包括系统的统一性、网络配置的准确性以及数据文件存储位置的选择。此外,在遇到特定问题时,如...

    Oracle_RAC_上的压力测试

    本文将详细介绍如何在 Oracle RAC 环境下进行压力测试,包括基础环境配置、工具介绍以及具体的测试步骤。 #### 二、基础环境配置 ##### 1. 基础硬件与软件配置 - **硬件**: 2台 AIX p570 小型机。 - **操作系统**: ...

    Oracle Data Guard RAC TO RAC迁移方案(基于rman备份)V1.1.pdf

    Oracle Data Guard RAC TO RAC 迁移方案 本文档旨在提供一个基于 RMAN 备份的 Oracle Data Guard RAC TO RAC 迁移方案,以便帮助 DBA schnell 和可靠地完成数据库迁移任务。该方案适用 Oracle 11g 版本,文档版本为...

    oracle rac部署

    Oracle Real Application Clusters (RAC...通过以上步骤,你可以成功地在Linux 5.5环境下部署Oracle 11g RAC系统,实现高可用性的数据库服务。在整个过程中,务必注意文档记录、备份和安全措施,确保系统的稳定和安全。

    oracle 重置sys密码的方法介绍

    如何重置oracle 10g SYS 的密码 安装完oracle 10g后,竟然将安装时设置的系统密码忘记。在同事的帮助下通过一下方法解决。 1.oracle的密码文件存在于:oracle_home/database/pwd<sid>.ora 2.使用orapwd 重置SYS密码 ...

    oracle 12c rac install on linux with virtualbox

    本文将详细介绍如何在 VirtualBox 虚拟化环境中安装 Oracle 12c RAC 数据库。 #### 二、环境准备与配置 ##### 1. 安装虚拟操作系统 在开始安装 Oracle 12c RAC 之前,需要先在 VirtualBox 中创建两个虚拟机(VM)...

    AIX安装Oracle 10g RAC

    以上是AIX环境下安装Oracle 10g RAC的一些关键知识点。整个过程需要仔细规划和执行,确保系统稳定性和数据库性能。在实际操作中,还应遵循Oracle官方文档的指导,以及考虑具体的业务需求和安全策略。

    Oracle RAC 删除节点配置手册

    ### Oracle RAC 删除节点配置手册知识点详解 #### 1. 系统环境信息 ##### 1.1 Oracle RAC 信息 - **集群配置**:本手册涉及的是一个三节点的 Oracle RAC 集群配置,运行的操作系统版本为 Red Hat 6.5,数据库版本为...

    aix6.1 Oracle11g rac实施报告

    本实施报告旨在记录AIX 6.1操作系统环境下部署Oracle 11g RAC的过程及相关配置细节。该环境由两台IBM P570服务器组成,分别命名为DBSJZX1和DBSJZX2,并拥有相应的IP地址。 **主机配置详情:** - **主机名称:** DBSJZX...

    AIX6.1+HACMP5.4.1+ORACLE11G RAC安装详细过程

    根据给定的信息,本文将详细解释在AIX 6.1环境下使用HACMP 5.4.1和Oracle 11g RAC进行安装的过程。这一安装过程涉及多个技术要点,包括系统配置、网络设置、环境变量调整等。下面我们将逐一解析。 ### AIX 6.1系统...

    oracle修改密码手册

    本文将详细介绍如何在Oracle环境中修改不同用户账户的密码,包括普通用户、sys用户以及特定管理用户如dbsnmp和sysman等,并提供了在Oracle Enterprise Manager (EM)不可用时的应对策略及EM重建过程。 #### 1. 修改...

    Oracle 19c RAC on Linux安装手册

    在安装Oracle 19c RAC(Real Application Clusters)之前,系统环境的检查是至关重要的一步,这将确保安装顺利进行。OS环境检查包括检查操作系统的版本、可用内存大小,以及运行级别的设置。至少需要8GB的RAM,且...

    oracle更改IP后重建EM

    当更改了Oracle服务器的主机名或IP地址后,如果只是简单地通过PL/SQL连接到数据库,则通常只需修改`listener.ora`和`tnsnames.ora`这两个文件中的`HOST`字段即可。然而,若需确保EM能够正常运行,则需要进一步的操作...

    oracle 11g rac to one standby database

    5. 给备库创建密码文件:密码文件是Oracle访问和使用特定权限的用户(例如sys)时需要验证的。在这里,为备库创建了一个密码文件orapwjyrac_dg。 6. 给备库创建参数文件:使用主库的参数文件作为备库的参数文件,这...

    AIX6106安装Oracle 11.2.0.4 RAC

    - 修改网络参数以适应Oracle RAC环境,例如调整IP队列的最大长度,TCP接收和发送缓冲区大小等。 - 例如,设置IP队列的最大长度为512:/usr/sbin/no -o ipqmaxlen=512。 - 设置TCP的最大接收和发送缓冲区大小为...

    Oracle 19c RAC on Linux安装手册.docx

    在Linux环境下安装Oracle 19c RAC涉及多个步骤,包括操作系统环境的准备、软件包的安装、内核参数的配置以及集群验证工具(CVU)的使用。 **1. OS环境检查** 在开始安装前,确保你的Linux系统满足Oracle 19c RAC的...

Global site tag (gtag.js) - Google Analytics