在Oracle 12C中解锁HR用户
我正在尝试解锁HR用户;我已经试过了所有可能的方法,但没能实现 以下是我为实现这一目标而采取的步骤: 步骤1:更新了我的在Oracle 12C中解锁HR用户,oracle,database-connection,oracle12c,Oracle,Database Connection,Oracle12c,我正在尝试解锁HR用户;我已经试过了所有可能的方法,但没能实现 以下是我为实现这一目标而采取的步骤: 步骤1:更新了我的tnsname.ora文件 PDBORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdborcl) )
tnsname.ora
文件
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdborcl)
)
)
步骤2:将容器从CBD$ROOT
切换到PDBORCL
步骤3:ALTER SESSION SET CONTAINER=pdborcl代码>
步骤4:打开可插拔数据库代码>
步骤5:更改人力资源账户解锁标识的用户人力资源代码>
步骤6:连接hr/hr@pdborcl代码>
在第5步之前,我让一切都按预期进行,但在第6步,我遇到了以下错误:
ORA-01045:hr用户缺少创建会话权限;拒绝登录
我尝试通过以下方式登录来授予特权:
connect sys/password as sysdba;
grant create session to hr
结果:授予成功
现在我再次尝试连接到正在运行的hr模式
conn hr/hr @pdborcl;
我又犯了同样的错误
这是什么原因
当我从SQL Developer设置SID=pdborcl时,出现以下错误:
ORA-12505,TNS:侦听器目前不知道连接描述符中给出的SID
我做错了什么?如何解决这些错误?使用sysdba连接后,您需要将会话设置为pdb,然后授予HR user create session访问权限
conn/as系统数据库管理员
alter session set container=pdborcl;
将创建会话授予HR;
出口
sqlplus人力资源/hr@pdborcl
已连接。您需要为pdb在tnsnames.ora文件中再添加一个条目
PDBORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdborcl1)
)
)
您也必须使用服务名称从SQL Developer进行连接,而不是SID-在连接对话框中选择其他选项。但在修复SQL*Plus中的错误之前,您将遇到相同的ORA问题,因此这是一个次要问题……我现在已使用服务名称连接,即pdborcl,它已连接。但为什么呢?连接后,我看不到人力资源表。我是否遗漏了任何步骤?为什么,连接后我无法看到HR表,这里是:sqlplus HR/hr@pdborclifHR不包含任何表,那么您将无法看到HR拥有的任何表。