Oracle12c版本中引入了新的CDB和PDB 默认登陆CDB后创建的用户为全局用户必须以c##开头 如果要访问CDB中的表,可以用GRANT命令赋权 但是上面的赋权并不会再PDB中生效 如果要这个用户访问PDB中的表,怎么做呢? 先切换到PDB容器 alter session set container=pdborcl; 打开PDB startup 然后再用GRANT赋权 GRANT CREATE SESSION TO C##TEST; GRANT CONNECT, REOURCE TO C
今天初次使用java连接Oracle 12c,遇到各种问题,为方便后续查询,在汇总了问题记录及解决方案如下. ORA-28040: No matching authentication protocol 需要在 ...\product\12.1.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora 文件中加入 SQLNET.ALLOWED_LOGON_VERSION=8 ORA-12505: TNS:listener does not currently know of SID
在Oracle 12C中,账号分为两种,一种是公用账号,一种是本地账号(亦可理解为私有账号).共有账号是指在CDB下创建,并在全部PDB中生效的账号,另一种是在PDB中创建的账号. 针对这两种账号的测试如下: 1.1 在PDB中创建测试账号 SQL> alter session set container=pdb01; Session altered. SQL> select username from dba_users where username like 'GUI%'; no rows
先说基本用法: 先按11G之前进行 conn / as sysdba; create user test identifed by test; ORA-65096: 公用用户名或角色名无效. 查官方文档得知“试图创建一个通用用户,必需要用C##或者c##开头”,这时候心里会有疑问,什么是common user?不管先建成功了再说 create C##user test identifed by test; 创建成功 SQL>show con_name; CON_NAME ------------