oracle12c 有一个很大的变动就是引入了pdb可插入数据库,而且在cdb中只能创建c##或者C##开头的用户,只有在pdb数据库中才能创建我们习惯性命名的用户,oracle称之为Local User,前者称之为Common User。
一、问题
在pdb中新建的用户,发现无法普通登录,需要sysdba权限才可登录
必须以超级管理员 sysdba进行登录才行
而使用超级管理员登录后,虽然密码输入的虽然是pdb用户的密码,但登陆的不是刚创建的用户,而是sys用户
二、解决
为什么就是普通用户,却无法普通登录呢?登录命令也没错呀
可以分析发现登录命令是默认了一些参数的,如ip、port、实例名,ip和port肯定是固定的,那么就是实例名的问题啦
那就查看下实例名信息吧
使用超级用户登录,然后查看下实例名信息
select name,pdb from v$services;
会发现ORCLPDB的实例名是:orclpdb,而不是默认的orcl,PDB插拔式数据库相当于一个独立的数据库,是一个独立的实例
那么用实例名orclpdb,登录一下看看呢
sqlplus PDBROOTUSER@localhost:1521/orclpdb
输入口令登录
登录成功啦,而且登录用户是对的