当我在 11204 单实例数据库中创建一个用户并随后向该用户授予 sysdba 权限时,我可以使用以下命令远程连接而不会出现任何问题:
sqlplus testuser/testuserpwd@testdb as sysdba
但是,当我对 RAC 数据库执行此操作时,出于某种原因,我不断收到无效的用户名和密码错误。我可以使用该用户名和密码在本地登录,因此它们是正确的。我也可以使用以下方式远程登录:
sqlplus testuser/testuserpwd@racdb
只有当我在末尾添加“as sysdba”时,它才会给我 RAC DB 的无效用户名/密码错误。
有任何想法吗?非常感谢。
远程 SYSDBA 登录使用密码文件验证。
$ORACLE_HOME/dbs
11g RAC 数据库在本地文件系统 ( )中的每个节点上使用本地密码文件。当您授予SYSDBA
用户权限或更改该用户的密码时,密码文件会在执行命令的节点上自动更新,但不会在其他节点上更新。您也需要手动将更新后的密码文件复制到其他节点,否则您将无法登录其他节点。从12c开始,数据库密码文件可以存储在ASM中,不再需要进行这样的手动维护步骤。
@Balazs Papp 是对的。
sqlplus sys/password@tnsalias as sysdba
我的情况是在单节点 RAC 环境中,我无法从 NODE2连接到 NODE1 。这是因为我修改了NODE1中sys的密码,但是NODE2中的orapw$ORACLE_SID文件保留了旧密码。所以我将 orapw$ORACLE_SID 从 NODE1 复制到 NODE2,问题就解决了。