前言: oracle12C 引入了CDB、PDB的新概念,详细参考:
ORACLE 12C新特性——CDB与PDB
这导致了创建arcgis SDE表空间变的与以往有些不同,参考连接oracle11g并创建sde表空间的文章如下:
ARCGIS直连的方式连接oracle数据库并创建sde表空间
1先查询现有的数据文件状况
select name from v$datafile;
2 查看现有pdb数据库情况
select con_id, dbid, guid, name , open_mode from v$pdbs;
3 新建一个pdb,名称pdbsde;注意这里创建的路径,请参考上面的查询路径
CREATE PLUGGABLE DATABASE pdbsde ADMIN USER sdeadmin IDENTIFIED BY sdeadmin
STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M) DEFAULT TABLESPACE pdbsde
DATAFILE '/home/data/12c/oradata/orcl/pdbsde/pdbsde.dbf' SIZE 500M AUTOEXTEND ON
PATH_PREFIX = '/home/data/12c/oradata/orcl/pdbsde/'
FILE_NAME_CONVERT = ('/home/data/12c/oradata/orcl/pdbseed/',
'/home/data/12c/oradata/orcl/pdbsde/');
4 查看PDB数据库状态,此时为关闭状态;随后打开,使其状态改为为read write
select con_id, dbid, guid, name , open_mode from v$pdbs;
alter pluggable database pdbsde open;
出错了!
参考解决办法:
http://www.oraclenext.com/2015/07/warning-pdb-altered-with-errors-and.html
select message,time from pdb_plug_in_violations;
select name,open_mode,restricted from v$pdbs;
alter session set container= pdbsde;
create tablespace users datafile '/home/data/12c/oradata/orcl/pdbsde/users01.dbf' size 100m;
alter session set container=CDB$ROOT;
alter pluggable database pdbsde close;
alter pluggable database pdbsde open;
select name,open_mode,restricted from v$pdbs;
5 连接到pdb数据库,并查看数据文件状况
conn sys/密码@172.17.110.127/pdbsde as sysdba
select name from v$datafile;
6 手动创建pdbsde数据库下的sde表空间(无法交给arcgis创建,因为它会默认创建在其他目录,无效的创建)
create tablespace sde datafile '/home/data/12c/oradata/orcl/pdbsde/sde.dbf' size 500M logging extent management local segment space management auto default nocompress;
7 以上完成后可以回到arcgis中去创建企业级地理数据库了
gis数据表空间和对应用户的创建,依然是连接到pdbsde数据库下创建
create tablespace testgis datafile '/home/data/12c/oradata/orcl/pdbsde/testgis.dbf' size 500M logging extent management local segment space management auto default nocompress;
创建用户
create user testgis identified by testgis DEFAULT TABLESPACE testgis TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK quota unlimited on testgis container=current;
赋予角色
grant connect,resource to testgis;
完成创建后,即可用testgis用户在arcCatalog中登录管理空间数据库
参考: oracle 创建表空间和用户
前人经验:
Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题
ArcSDE10.2.1 for Oracle 12c的建库模式