我刚刚安装了甲骨文,它缺少斯科特模式。所以我试着自己生成它。我得到了sql脚本的Scott模式,但当我试图运行查询:
create user Scott identified by tiger;
它显示以下错误:
ORA-65096:oracle中的公用用户名或角色名无效。
基本上,它不允许我创建一个用户Scott。
为什么会这样?我如何解决我的问题?
在Oracle 12c及以上版本中,我们有两种类型的数据库:
如果要创建用户,有两种可能:
>
创建由密码标识的用户c##用户名;
您可以创建“可插拔用户”也称为“本地用户”。
本地用户
alter session set container=pluggabledatabase的名称
在那里,您可以创建用户,如通常所示:
创建由密码标识的用户用户名
不要忘记指定要使用的表空间,它在DBs的导入/导出过程中非常有用。有关它的更多信息,请参阅此https://docs.oracle.com/database/121/SQLRF/statements_8003.htm#SQLRF01503
我刚刚安装了oracle11g
ORA-65096: oracle中无效的普通用户或角色名
否,您已安装Oracle 12c。该错误只能出现在12c
上,而不能出现在11g
上。
始终检查您的数据库版本(小数点后4位):
SELECT banner FROM v$version WHERE ROWNUM = 1;
Oracle 12c多租户容器数据库具有:
您必须将数据库创建为容器数据库。同时,您正在尝试在容器中创建用户,即。但是,您应该在PLUGGABLE数据库中创建用户。
您不应该在容器中创建与应用程序相关的对象,容器保存可插拔数据库的元数据。您应该使用可插拔数据库进行常规数据库操作。否则,不要将其创建为容器,也不要使用多租户。但是,从12cR2开始,您无论如何都不能创建非容器数据库。
最有可能的是,示例模式可能已经安装,您只需要在可插拔数据库中解锁它们。
例如,如果您将可插拔数据库创建为pdborcl
:
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"
要显示PDB并从根容器连接到可插拔数据库,请执行以下操作:
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL> alter session set container = ORCLPDB;
Session altered.
SQL> show con_name;
CON_NAME
------------------------------
ORCLPDB
我建议您阅读Oracle 12c安装后必备步骤
注意:建议使用\u ORACLE\u SCRIPT
隐藏参数设置为true的答案在生产系统中是危险的,也可能使您的支持合同无效。请注意,未咨询Oracle支持人员,请勿使用隐藏参数。
99.9%的时间错误ORA-65096:invalid common user或role name
表示您在应该登录PDB时登录了CDB。例如,如果使用默认的19c安装设置,则应登录到ORCLPDB(PDB)而不是ORCL(CDB)。
危险-如果您坚持以错误的方式创建用户,请遵循以下步骤。
像这样设置未记录的参数(如前导下划线所示)只能在Oracle支持人员的指导下进行。在没有此类指导的情况下更改此类参数可能会使您的支持合同无效。因此,请自行承担风险。
具体地说,如果您将“ORACLE脚本”=true,将对ORACLE\u维护列进行一些数据字典更改,并将其设置为“Y”。这些用户和对象将被错误地从某些DBA脚本中排除。并且它们可能错误地包含在某些系统脚本中。
如果您同意上述风险,并且不想以正确的方式创建普通用户,请在创建用户之前运行以下命令:
alter session set "_ORACLE_SCRIPT"=true;
我在这里找到了答案
为什么这显示错误... 第1行错误: ORA-65096:公用用户名或角色名无效
问题内容: 我与Oracle数据库服务器的jdbc连接有一个奇怪的问题。 我们已经在tomcat服务器上运行了应用程序。这些应用程序使用一个oracle数据库。所有应用程序都使用相同的凭据。 应用程序整天运行良好。晚上没有活动。早晨,当应用程序尝试将自身重新连接到数据库时,我们会收到一些(2或3)ORA-01017(无效的用户名/密码)错误。 然后重新连接工作,应用程序将正常运行。 这可以工作几天
我无法在我的索引页面上显示经过身份验证的用户的角色和用户名。我用的是百里叶。所有角色用户都保存在内存中。我正在使用Springmvc编写和Web应用程序 我在我的pom中添加了依赖关系.xml 这是我的索引页: 我也希望: 这是我的安全配置类: 我也读了很多关于stackoverlew的问题,但我没有找到答案。我还阅读了官方蒂梅拉夫网站上的指南。 为什么我无法显示:“角色:用户”、“用户名:用户”
我用 但从oracleSqlDeveloper,当从9i客户端连接到11g数据库时,我无法登录到我的用户并发现ORA-01017无效的用户名/密码,但他说要更改安全性!oracle是否为access数据库设置了此选项?在不更改安全参数的情况下,如何登录oracle数据库? 错误:
我无法连接到返回此错误的数据库。在应用程序中,我必须使用两个数据库,一个mysql(正在工作)和另一个oracle。 系统信息: win7 x64 拉威尔5.6 PHP7.1。9 保监处2.1。7 即时客户端12.1 甲骨文档案。php 存档数据库。php 我需要其他地方的配置吗?
问题内容: 我有我正在尝试编译并收到错误的函数。我真的不知道此错误,并尝试搜索此问题,但未找到任何解决方案。我不知道这与任何授予特权有关,但是我的架构表没有特权问题。 问题答案: 您可能有另一个具有相同名称()的对象。 您可以通过查询找到它: 然后将其删除(由上面的查询替换为对象的类型):