今天将Oracle12C安装在机子上,先装了12C 64位的服务端,再安装了11G 64位的客户端,都显示安装成功,在SQLPLUS中通过sys用户创建了用户C##YPJG(据说12C中用户需要以C##开头),并赋于了dba权限及创建表、视图、删除表、视图等权限,使用服务端的Net Manager配置服务与监听时使用C##YPJG这个用户名登录成功,接着使用oracle客户端的Net Manager配置监听连接本地服务端时,使用C##YPJG却怎么都失败,显示
一直不明白是什么原因,客户端连接时使用的配置与服务端是一样的,但就是登录失败
服务端tnsname.ora内容如下:LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )服务端listener.ora内容如下:SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOM

解决方案 »

  1.   

    因为 12c 有pcb 的概念,所以你连接数据库时,要确认你连的是 cdb 还是pdb。PS:c##开头的,肯定是 cdb。
      

  2.   

    监听是在服务端配置,tnsname是客户端配置,系统认证方式只能登录cdb,pdb必须走监听方式连接。不知道你的连接字符串是否写对地方了