您的位置:首页 > 数据库 > Oracle

oracle 12c 解决pdb中用户无法登录问题的详细步骤

2017-09-04 16:40 1216 查看
oracle 12c 解决pdb中用户无法登录的问题

oracle12c 有一个很大的变动就是引入了pdb可插入数据库,而且在cdb中只能创建c##或者C##开头的用户,只有在pdb数据库中才能创建我们习惯性命名的用户,oracle称之为Local User,前者称之为Common User。在pdb中新建用户,发现无法直接连接新用户,下面是解决方案:

1.首先进入pdb

alter session set container=orcl;

show con_name;

2.创建新用户,并赋权

create user scott identified by oracle;

grant connect,resource to scott;

3.直接连接新建用户发现无法连接,

  直接登录是不可以的:

SQL> conn scott/oracle

ERROR:

ORA-01017: invalid username/password; logon denied

4.通过下面方式解决:

因为CDB和PDB的servicename可能是不一样的,需要先查询pdb的service_name 

SQL> select name,pdb from v$services;

NAME          PDB

-------------------- --------------------

orcl                     ORCL

vi tnsnames.ora  编辑tnsnames文件,添加下面内容

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)       把查询到pdb对应的service_name写到这里

    )

  )

  必须要加上tnsnames的连接串才可以连接用户:

 SQL> conn scott/oracle@ORCL

Connected.

SQL> show user

USER is "SCOTT"

连接成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐