我在Mac上使用Oracle VM(Linux上的VirtualBox)。问题是我无法连接到数据库。
当我跑步时
$ sqlplus
我收到了消息
Enter user-name:
用户名/as sysdba
无效。它给了我
ORA-01017: invalid username/password.
如何重置密码?
答案 0 :(得分:1)
您似乎是以root身份执行此操作。你不应该以root身份做任何与oracle相关的事情。
以root身份:
[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就像用一只手拿着剪刀和另一只手拿着枪(安全关闭)一样。