关于windows安装Oracle 12c后出现的 ORA-65096、ORA-65048、 ORA-00959

2020/6/4官网上下载Oracle 12zip包。安装后做测试了解到了一个cdb和pdb的概念,在这里记录一下。希望能帮到<像我这样的人>。

一、 这里是关于cdb和pdb的相关概念

CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。

二、想要了解cdb和pdb的深入概念小伙伴们可以自行查找。下面直接进入问题。

oracle 的安装过程这里就不多赘述了。我在安装好Oracle后使用navicat连接了Oracle。在创建表空间是还是非常顺利的。但是当我在创建用户时出现了两个错误。

1.在填写好用户的基本信息后进行保存,会报:

ORA-65096: 公用用户名或角色名无效
这里百度了一波,知道了充cdb和pdb的概念。查询到是说cdb创建用户是用户名前面必须要加上C##或c##,不然会返回一个错误。

2.当我将用户名加上C##前缀后又报了一个:ORA-65048:在可插入数据库PDBORCL中处理当前DDL语句时出错 ORA-00959:表空间‘LOCL_DATA’不存在

这里呢其实还是和cdb有关。
首先我查询了我现在的session是cdb,这就导致了我在cdb创建了表空间但是pdb上面并没有这个表空间。由于cdb与pdb表空间结构不同,所以就出现了ora-00959的错误。
关于windows安装Oracle 12c后出现的 ORA-65096、ORA-65048、 ORA-00959
之后我有查看了此时数据库的pdb。
关于windows安装Oracle 12c后出现的 ORA-65096、ORA-65048、 ORA-00959
可以看到里面有个ORCLPDB,于是我就用navicat重新连接了一下。具体连接配置如下:
关于windows安装Oracle 12c后出现的 ORA-65096、ORA-65048、 ORA-00959
可以看到我修改了服务名。从默认的ORCL改成了ORCLPDB。之后的创建表空间和用户就没有问题了。
用户名前面也不需要加C##了。

如果用的是sqlplus进行测试的,那就直接修改session就行了。
SQL> alter session set container=ORCLPDB;

关于windows安装Oracle 12c后出现的 ORA-65096、ORA-65048、 ORA-00959

相关文章:

  • 2021-11-15
  • 2021-10-28
  • 2021-06-07
  • 2021-09-29
  • 2021-12-14
猜你喜欢
  • 2022-01-27
  • 2021-07-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-10
相关资源
相似解决方案