我已经在ubuntu中安装了oracle 12c。我通过sqldeveloper使用oracle,并且可以使用密码成功连接到用户sys
。我希望能够默认使用oracle提供的所有数据库。当我尝试使用与hr
相同的密码连接用户名sys
时,出现错误,未找到用户名。select * from all_users
未列出用户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/