OVM:如何在 Oracle VM 上重置主密码?

OVM: How to reset master password on Oracle VM?

我在 Mac 上使用 Oracle VM(Linux 上的 VirtualBox)。问题是我无法连接到数据库。

当我运行

$ sqlplus

我收到消息

Enter user-name: 

用户名/as sysdba 无效。它给了我

ORA-01017: invalid username/password.

如何重设密码?

您似乎是以 root 身份执行此操作。您不应该以 root 身份执行任何与 oracle 相关的操作。

作为根用户:

[root@vblnxsrv02 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@vblnxsrv02 ~]# sqlplus

SQL*Plus: Release 12.1.0.2.0 Production on Mon Jan 25 16:50:21 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter user-name: /as sysdba
ERROR:
ORA-01017: invalid username/password; logon denied

作为 oracle 安装的所有者:

oracle:tulsa$ id
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

oracle:tulsa$ sqlplus

SQL*Plus: Release 12.1.0.2.0 Production on Mon Jan 25 16:50:37 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter user-name: /as sysdba

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL>

从技术上讲,区别在于 root 不是(也不应该是)组 'dba' 的成员。当 oracle 收到登录“/ as sysdba”的请求时,它会检查 OS 用户是否是 'dba' 组的成员。从技术上讲,您可以通过让 root 成为该组的成员来修复它,但这是错误的方法。你永远不应该将 root 用于任何不是绝对需要它的东西。简直太强大了。使用 root 就像 运行 一只手拿着剪刀,另一只手拿着一把上膛的枪(保险关闭)。