我已经在ubuntu中安装了oracle 12c。我通过sqldeveloper使用oracle,并且可以使用密码成功连接到用户sys。我希望能够默认使用oracle提供的所有数据库。当我尝试使用与hr相同的密码连接用户名sys时,出现错误,未找到用户名。
select * from all_users未列出用户hr。因此,我假设根本没有创建用户。

  • hr用户是否默认不可用?
  • 如何配置以使我能够访问所有`hr`数据库?
  • 最佳答案



    您已将 12c数据库创建为容器。现在,当示例模式驻留在可插拔数据库中时,您可能正在连接到容器数据库

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

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

    由于我们已经选中了创建单个CDB的选项,因此“SQLPLUS / AS SYSDBA”命令将始终登录到 CDB 。通常,开发人员通常在以SCOTT/HR身份登录后直接解锁“SYSDBA”帐户。但这是窍门:

    “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 中,

    关于oracle - Oracle 12c中没有用户名HR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33731902/

    10-13 03:26