前言: oracle12C 引入了CDB、PDB的新概念,详细参考:
ORACLE 12C新特性——CDB与PDB
这导致了创建arcgis SDE表空间变的与以往有些不同,参考连接oracle11g并创建sde表空间的文章如下:
ARCGIS直连的方式连接oracle数据库并创建sde表空间
1先查询现有的数据文件状况
select name from v$datafile;
![](https://img.haomeiwen.com/i9628812/c9aadced97f09a35.png)
2 查看现有pdb数据库情况
select con_id, dbid, guid, name , open_mode from v$pdbs;
![](https://img.haomeiwen.com/i9628812/d3beb2b4450d229e.png)
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/');
![](https://img.haomeiwen.com/i9628812/cab05eb318c3a888.png)
4 查看PDB数据库状态,此时为关闭状态;随后打开,使其状态改为为read write
select con_id, dbid, guid, name , open_mode from v$pdbs;
![](https://img.haomeiwen.com/i9628812/543d1b9bde83af62.png)
alter pluggable database pdbsde open;
出错了!
![](https://img.haomeiwen.com/i9628812/3a897d437152389b.png)
参考解决办法:
http://www.oraclenext.com/2015/07/warning-pdb-altered-with-errors-and.html
![](https://img.haomeiwen.com/i9628812/c4f394da77998d61.png)
select message,time from pdb_plug_in_violations;
![](https://img.haomeiwen.com/i9628812/1ad947052cbbfd53.png)
select name,open_mode,restricted from v$pdbs;
![](https://img.haomeiwen.com/i9628812/e64981dd7a9eb351.png)
alter session set container= pdbsde;
![](https://img.haomeiwen.com/i9628812/761bf2173a1485e4.png)
create tablespace users datafile '/home/data/12c/oradata/orcl/pdbsde/users01.dbf' size 100m;
![](https://img.haomeiwen.com/i9628812/20bdb7f388a92fc2.png)
alter session set container=CDB$ROOT;
![](https://img.haomeiwen.com/i9628812/66f04fcc7b5a8297.png)
alter pluggable database pdbsde close;
![](https://img.haomeiwen.com/i9628812/e8e5605ff8f2d1fd.png)
alter pluggable database pdbsde open;
![](https://img.haomeiwen.com/i9628812/53c291d29a80c856.png)
select name,open_mode,restricted from v$pdbs;
![](https://img.haomeiwen.com/i9628812/d4ccec3cb607845f.png)
5 连接到pdb数据库,并查看数据文件状况
conn sys/密码@172.17.110.127/pdbsde as sysdba
![](https://img.haomeiwen.com/i9628812/6885a817df0fa005.png)
select name from v$datafile;
![](https://img.haomeiwen.com/i9628812/5f2ce7a0f0b4edc2.png)
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;
![](https://img.haomeiwen.com/i9628812/1d42ab6149a4dfb6.png)
7 以上完成后可以回到arcgis中去创建企业级地理数据库了
![](https://img.haomeiwen.com/i9628812/0f8f9fb2602fbe41.png)
![](https://img.haomeiwen.com/i9628812/94f8e242b7cecad1.png)
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;
![](https://img.haomeiwen.com/i9628812/685f38ac112c074f.png)
创建用户
create user testgis identified by testgis DEFAULT TABLESPACE testgis TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK quota unlimited on testgis container=current;
![](https://img.haomeiwen.com/i9628812/e9a116d35bf42363.png)
赋予角色
grant connect,resource to testgis;
![](https://img.haomeiwen.com/i9628812/bdc92c4f9a036ca7.png)
完成创建后,即可用testgis用户在arcCatalog中登录管理空间数据库
![](https://img.haomeiwen.com/i9628812/bce2ffe2628ef616.png)
![](https://img.haomeiwen.com/i9628812/fa740f4dd3bf7722.png)
参考: oracle 创建表空间和用户
前人经验:
Windows平台下解决Oracle12c使用PDB数据库创建SDE的问题
ArcSDE10.2.1 for Oracle 12c的建库模式
网友评论