【问题标题】:No usename HR in Oracle 12cOracle 12c 中没有用户名 HR
【发布时间】:2016-02-17 08:18:28
【问题描述】:

我已经在我的 ubuntu 中安装了 oracle 12c。我通过 sqldeveloper 使用 oracle,我可以使用我的密码成功连接到用户 sys。我希望能够默认使用oracle提供的所有数据库。当我尝试使用与 sys 相同的密码连接用户名 hr 时,我收到错误用户名未找到。

select * from all_users 没有列出用户 hr。所以我假设根本没有创建用户。

  • hr 用户应该默认不可用吗?
  • 如何配置才能访问所有 `hr` 数据库?

【问题讨论】:

  • 我跟着这个教程,帮助我在 Oracle 上建立了 hr 连接:https://www.youtube.com/watch?v=maLrgeY0InA 我做了一些更改,例如版本名称,我的不同。此外,当他搜索 db_home 时,我的没有下划线并且在 c:// 中,所以也要注意这一点。最后,当尝试连接时,在Oracle页面上,我在第一个文本框:HR,第二个文本框:system(我选择的名称作为用户名),最后一个文本框是我选择的密码,我决定在跟随教程时打开

标签: oracle oracle12c


【解决方案1】:

我已经在我的 ubuntu 中安装了 oracle 12c。我假设根本没有创建用户。

您已将 12c 数据库创建为 容器。现在您可能正在连接到容器数据库,而示例架构驻留在可插入数据库中。

Oracle 12c 引入了multi-tenant architecture。有一些强制性的安装后步骤。请阅读Oracle 12c Post Installation Mandatory Steps

最常见的误解是关于“SQLPLUS / AS SYSDBA”的用法。

由于我们选中了创建单个 CDB 的选项,“SQLPLUS / AS SYSDBA”命令将始终登录到 CDB。通常开发者使用SYSDBA登录后直接解锁“SCOTT/HR”账号。但这是诀窍:

“SCOTT,HR”和其他示例架构PDB 中,而不在 CDB 中。因此,您需要以sysdba 身份登录到PDB

例如,

sqlplus SYS/password@PDBORCL AS SYSDBA

SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger;

sqlplus scott/tiger@pdborcl

SQL> show user;
USER is "SCOTT"

UDPATE 似乎 OP 没有安装示例模式。可以手动完成,也可以通过 DBCA 完成。

您需要运行 hr_main.sql 脚本。创建人力资源 (HR) 架构所需的所有脚本都位于 in $ORACLE_HOME/demo/schema/human_resources

来自documentation

安装 HR 架构

创建人力资源 (HR) 架构所需的所有脚本都驻留在 在 $ORACLE_HOME/demo/schema/human_resources 中。

您只需调用一个脚本 hr_main.sql 即可创建所有 对象并加载数据

运行 hr_main.sql 完成以下任务:

  1. 删除任何以前安装的 HR 架构
  2. 创建用户 HR 并授予必要的权限
  3. 以 HR 身份连接
  4. 调用创建和填充架构对象的脚本

【讨论】:

  • 那么我假设我必须先完成Oracle 12c Post Installation Mandatory 步骤,然后才能按照您的示例进行操作。
  • @PrakashGautam 您可以稍后完成这些步骤,现在您可以通过连接到可插入数据库来解锁用户。只需按照我在演示中显示的步骤操作即可。
  • sqlplus SYS/<password>@PDBORCL as SYSDBAORA-12154: TNS: could not resolve the connect identifier specified
  • @PrakashGautam PDBORCL 是我的可插拔数据库。您需要使用您的 PDB 名称。这只是一个例子。您在创建 12c 数据库时提供了什么 PDB 名称?另外,您是否将 PDB 详细信息添加到 tnsnames.ora 文件?我想您必须完成我提到的安装后步骤。
  • @PrakashGautam 请参阅我为安装后步骤提供的链接。请将其标记为已回答,也会对其他人有所帮助。
【解决方案2】:

你应该解锁HR用户,连接到SQL并运行这个命令

ALTER USER HR ACCOUNT UNLOCK IDENTIFIED BY password;

document了解更多信息

【讨论】:

  • OP 说,“select * from all_users doesn't list user hr”这意味着他正在查看错误的数据库。即使用户被锁定,它也会出现在all_users 的输出中。这是指针。
  • @LalitKumarB 我在我的数据库中进行了选择,但没有找到HR。我是 11g ,无论如何也许是的用户正在从错误的数据库中读取,我们将等待他的回应
  • "我在数据库中进行了选择,但没有找到 HR" 您是否安装了示例模式?因为正如我所说,即使你锁定了用户,你无论如何都会在SELECT username FROM all_users 中看到它。
  • @LalitKumarB 老实说,不是我在服务器上安装了数据库,所以我没有太多关于它的信息。它是一个测试数据库,有 SCOTT 和 SYSTEM AND SYS。用户但不是 hr
【解决方案3】:

为了安装示例架构,您需要按照https://github.com/oracle/db-sample-schemas 的说明进行操作。

原始 Oracle Database 12.1.0.2 演示文件夹中的任何内容都无法正常工作。

【讨论】:

  • 确保 pdb 已打开
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-17
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
  • 2019-06-24
相关资源
最近更新 更多