如何从 Oracle SQL Developer 解决 ORA-65096?

How to solve ORA-65096 from Oracle SQL Developer?

我正在尝试从 Oracle SQL Developer 创建一个新用户。我连接了用户Sys和我在安装Oracle Database XE 18c.

时输入的密码

创建用户时出现错误ORA-65096,我在网上搜索了一下,找到的解决方案是这样写的:

alter session set "_ORACLE_SCRIPT" = true;

但是,我想知道是否可以在不使用任何 SQL 语句或脚本的情况下从 Oracle SQL 开发人员界面创建新用户,我是否必须登录使用与 Sys 不同的用户来创建新用户?或者我必须做什么?请有人给我一个详细的解释。我正在学习如何使用这个数据库,我想试着理解我在做什么。

oerr ora 65096

65096, 00000, "invalid common user or role name"
// *Cause:  An attempt was made to create a common user or role with a name
//          that was not valid for common users or roles. In addition to >the
//          usual rules for user and role names, common user and role names
//          must consist only of ASCII characters, and must contain the >prefix
//          specified in common_user_prefix parameter.
// *Action: Specify a valid common user or role name.

这意味着您已连接到根容器,而不是连接到应构建应用程序的常规插件数据库 (pdb)。您的解决方案不是否决设置以在根容器中构建应用程序,而是连接到已创建的用于托管您的应用程序的 pdb。

您可以通过查看 v$pdbs 来检查可用的 pdb。特殊的 pdb cdb$root 顾名思义,就是根容器。 show PDBS 将给出类似的输出。

使用 alter session set container = [pdb_name]; 可用于切换到您选择的适用常规规则的容器。

更好的方法是使用 sqlnet 直接连接到该 pdb。