Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

时间:2021-04-09 16:49:34

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

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

http://www.cnblogs.com/kerrycode/p/3386917.html)。


在安装Oracle12C过程中,PDB数据库在默认情况下会被勾选创建,如下图所示:

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

这个时候一个PDB就创建了。但是在我们像以往一样直连ArcSDE就会存在如下错误:ORA-65096:公用用户名或角色名无效。

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

本人也是初学,查了这个错误,然而这个错误这是由于PDB数据库不同于CDB数据库的创建用户方式造成的,怎么解决这个问题呢?还是慢慢从头开始喽。


测试环境:Windows server 2012r2 oracle 12.1.0Oracle12Cclient32)、desktop10.3


1.      首先创建一个PDB可插拔数据库,创建数据库之前首先要指定PDB数据库文件所存放的路径,数据库名称在这里给定为pdbsde,具体如下:

CREATE PLUGGABLE DATABASE pdbsde ADMIN USERsdeadmin IDENTIFIED BY sdeadmin

STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M)DEFAULT TABLESPACE pdbsde DATAFILE'C:\app\Administrator\oradata\orcl\pdbsde\pdbsde.dbf' SIZE 500M AUTOEXTEND ON

PATH_PREFIX ='C:\app\Administrator\oradata\orcl\pdbsde\'

FILE_NAME_CONVERT =('C:\app\Administrator\oradata\orcl\pdbseed\',

'C:\app\Administrator\oradata\orcl\pdbsde\');

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

2.      创建好PDB之后,我们来查看一下PDB的状态信息,如下所示,新创建的PDBSDE是Mounted状态,我们需要手动打开。

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

3.      然后查看一下数据文件的变化,很显然PDBSDE已经被创建。

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

4.      用SYS用户测试PDBSDE数据库的连通情况,正常连接!

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

5.      接下来就可以快乐的创建SDE了吗?NO,我们还需要创建表空间,这一步是必要的,否则在创建SDE的时候仍然会报错要求我们创建表空间的。

CREATE SMALLFILE TABLESPACE SDE DATAFILE

'C:\app\Administrator\oradata\orcl\pdbsde\sde.dbf'SIZE 1000M LOGGING EXTENT MANAGEMENT;

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

6.      表空间创建好了,我们可以创建SDE了。如下图所示:

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题

 

创建成功,这样就实现了PDB数据库创建SDE喽。

当然呢,在后续的学习过程中还是要系统的掌握PDB和CDB数据库之间的关系和区别,否则遇到问题还是很容易陷入困境,同时也感谢大牛们给我的指导。


LINIXPDB创建SDE,请参照李老师的博客

http://blog.csdn.net/linghe301/article/details/19337351