我是堆栈溢出的新手,我遇到了Oracle 12C企业版示例模式的问题。我几天以来一直在寻找和尝试,我真的生气了。我之前从未使用过Oracle数据库,因此我对它的了解非常少;)。我真的希望有人能帮助我找到解决方案:)。
有关我的系统的更多信息:我使用的是Oracle 12c数据库企业版的12.1.0.1.0版。该数据库在Windows Server 2008 R2(64位)上运行。
我的目标是,安装所有示例模式(HR,OE,PM,IX,SH)。在安装Oracle数据库期间,可以自动安装示例模式,这对我来说不起作用(没有创建表)。所以我决定使用演示脚本(https://github.com/oracle/db-sample-schemas)创建示例模式。
当我尝试使用SQL Plus启动hr_main.sql时,我得到的第一个错误是:'ORA-65096:普通用户或角色名称无效。'我的问题实际上与Oracle社区中描述的相同:https://community.oracle.com/thread/2592334?start=0&tstart=0
我发现,不可能将HR作为普通用户创建。所以我决定将hr-scripts(hr_main.sql等)中有关用户'hr'的所有语句更改为'C ## hr'。这实际上是有效的,这是我试图让它工作了好几天后的第一个成就。好的,我想,但现在我也要安装其他示例模式。和我用hr用户一样的做法对于创建其他用户(oe,pm,...)并不是很有用。我试过了,但是花了很长时间才终于放弃了。
现在,我多次尝试按照oracle的社区用户(上面的链接)给出的说明,并尝试设置TWO_TASK变量。 我试过的是:
in ... product / 12.1.0 / dbhome_1 / network / admin / tnsnames.ora我的PDB是:
ORCL2 = (DESCRIPTION = (ADDRESS =(PROTOCOL = TCP)(HOST = pstestcons.corproot.net)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl2.corproot.net) ) )
在Windows命令行上为PDB设置TWO_TASK变量(我也尝试设置TWO_TASK = orcl2,不知道哪一个是正确的):
设置LOCAL = orcl2
当我使用sys /密码作为sysdba连接到sqlplus并输入
时“SQL> show con_name'
结果是
'CON_NAME --------------------- CDB $ ROOT'
而不是我的PDB,如oracle社区的答案所述。我不知道为什么,正如我所说,我不是这些Oracle事物的专家:P。我认为这不正确。
然后我从错误中得到错误,从Ora-65096(无效的用户名)开始。 有谁知道该怎么办?我很满意每一条建议!