我正在尝试从Oracle SQL Developer创建一个新用户。我用用户Sys和我在安装Oracle Database XE 18c时输入的密码建立了连接.
当创建用户时,我得到错误ORA-65096,我在网上搜索了一下,我找到的解决方案是这样写的:
alter session set "_ORACLE_SCRIPT" = true;
然而,我想知道是否有可能在不使用任何SQL语句或脚本的情况下创建新用户,并从Oracle SQL Developer界面进行创建,我是否必须使用不同的用户登录而不是Sys来创建新用户?或者我该怎么做?有人能给我一个详细的解释吗?我正在学习如何使用这个数据库,我想试着理解我在做什么。
oerr ora 65096
6509600000, "无效的普通用户名或角色名"//*原因:试图创建一个普通用户或角色//对普通用户或角色无效。除了>的//用户和角色名的常用规则,普通用户和角色名//只能由ASCII字符组成,并且必须包含>前缀//common_user_prefix参数指定。//*操作:指定合法的普通用户名或角色名
这意味着您连接到根容器,而不是连接到应该构建应用程序的常规插件数据库(pdb)。对您来说,解决方案不是推翻在根容器中构建应用程序的设置,而是连接到已创建的用于托管应用程序的pdb。
您可以通过查看v$pdbs来检查可用的pdb。特殊的pdb cdb$root正如其名称所示,是根容器。show PDBS将给出类似的输出。
使用alter session set container = [pdb_name];
可以切换到使用常规规则的容器。
使用sqlnet直接连接到pdb会更好。