【问题标题】:Can't connect with Oracle sqldeveloper or sqlplus无法与 Oracle sqldeveloper 或 sqlplus 连接
【发布时间】:2015-11-05 05:12:39
【问题描述】:

现在我刚刚在 Windows 上安装了 Oracle,到目前为止,我已经通过 sqlplus 和企业管理器 GUI 以 sys 和 system 用户成功登录并创建了一个新用户。现在,我可以通过企业管理器 Web 界面使用这个新用户登录,但是当我尝试使用 sqlplus 或 sqldeveloepr 登录时,我收到错误“错误:ORA-01017:用户名/密码无效;登录被拒绝” .

我已经多次重新输入密码以确保不会出错,但又一次,我无法登录。我只能通过企业管理器 Web gui 与该用户联系。

任何想法为什么会发生这种情况? :(

Here is the user logged into web EM

Error in sqldeveloper。我在 sqlplus 控制台中遇到同样的错误,我觉得奇怪的是,如果我使用系统或 sys 用户,它确实连接成功。那么我新创建的用户是否缺少角色或特权?

在 sqldeveloper 的情况下,我尝试将“localhost”和“127.0.0.1”作为主机,我得到了相同的结果。

【问题讨论】:

  • 您的数据库版本是多少,最多保留 4 位小数?
  • 您使用的是哪个版本的 Oracle?我会怀疑密码区分大小写规则作为起点。对于密码,您是否尝试使用全部大写作为故障排除方式?
  • 您是否可能忘记提交更改?因此,您只能在打开的会话中看到用户。另一个想法 - 这个新用户有什么特权?将连接、创建会话、imp_full_database 授予 ;可以解决问题。
  • 我使用的是 Oracle 12c,至于密码,因为我将其用于本地测试/开发,所以我使用了所有不带数字或特殊字符的小写密码。不知道这是否与错误有关:(
  • @mcane 我已经注销并通过 web gui 以新用户重新登录,它工作正常,只是我遇到问题的 sqlplus 和 sqldeveloper :( 我会尝试回到家后授予连接和创建会话,我现在正在工作:) 谢谢。

标签: oracle connection database-connection oracle-sqldeveloper


【解决方案1】:

也许您没有足够的权限。试试这个:

grant connect, create session to <user>;

【讨论】:

  • 我会尝试授予这些权限,看看是否有效。
  • 这不起作用:(我仍然收到“错误:ORA-01017:用户名/密码无效;登录被拒绝”
【解决方案2】:

嗯.. 似乎它现在正在工作,至少与 sqldeveloper 一起使用。显然,我在尝试连接时需要使用服务名称而不是 SID,至少这是我根据“thatjeffsmith”在这里的回答所尝试的:ora-12505 error while connecting via SQL Developer

我想授予连接和创建会话也有帮助。

我还在服务名称上输入了容器名称?对于可插入数据库,在我的例子中是“poraclepredb”,容器是“oraclepredb”。现在我可以连接到 sqldeveloper。不过,仍然不确定如何与 sqlplus 连接,因为我无法“告诉”它正在使用哪个 SID/Service。有什么想法吗?

更新:我终于能够使用 sqlplus 使用以下语法登录:

sqlplus <user>/<password>@<host>:<port>/<database>

对于“数据库”,我输入了可插入数据库的名称。

当 sqlplus 询问用户名时也可以这样做,键入:

<user>/<password>@<host>:<port>/<database>

这样做的缺点是每次登录时密码都是可见的。

【讨论】:

  • 在 linux 中:ORACLE_SID= export ORACLE_SID echo $ORACLE_SID
  • 以上是三个命令。 SERVICE_NAME 也应如此。如果您认为授予权限有帮助,您可以对答案进行投票。
猜你喜欢
  • 2023-03-30
  • 1970-01-01
  • 2010-11-02
  • 2023-03-16
  • 2013-09-15
  • 2017-04-06
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多