ArcGIs创建企业级数据库
本文主要描述ArcGIs创建企业级数据库。
目标:创建企业级地理数据库,使用ArcMap通过SDE引擎 与Oracle交互数据,创建完成后将本地的mdb数据库中数据迁移到Oracle的地理数据库当中。
一,安装Oracle客户端
因为ArcMap也是通过Oracle客户端来连接Oracle的,所以我们要先安装Oracle客户端。
需要注意的是,安装后的oracle程序文件根目录是没有network文件夹的,需要手动建立。

然后在network下建立admin文件夹。

然后创建tnsnames.ora。

然后编辑tnsnames.ora,把我们要可以连接的Oracle数据都写在里面。
ORCL@11 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
) ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.7.81)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL@192.168.1.111 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
安装完Oracle客户端后可以安装一个PLSQL来测试安装的Oracle客户端是否正常运行。
二,创建企业级地理数据库
1,测试连接
首先打开ArcMap测试本机与Oracle是否可以正常连接,如下图,在右侧找到数据库连接,然后点击添加数据库连接。

选择Oracle数据,输入实例名和数据库用户的账户密码。

实例名是我们编辑tnsnames.ora时,等号前的名称,如下图:

2,创建企业级地理数据库
因为企业级数据库是创建在Oracle实例上的,而不是创建在表空间上的,即一旦企业级地理数据库创建成功,数据库内所有表空间都可以存储空间数据,所以一个数据库只能创建一个企业级数据库,简单来说就是把某个Oracle数据库设置成企业级数据库。
下面我们点击ArcToolBox—数据库管理工具—创建企业级数据库。

然后输入数据库实例,数据库管理员密码(sys默认密码是sys),然后创建一个地理数据库管理员(即数据库用户),然后设置用户的表空间,然后选择安装Desktop时使用的许可文件。

创建时会弹出提示框显示创建进度(数据库管理员和表空间不为sde的情况下,创建会提示失败)。
创建成功后提示框信息如下:

查看企业级数据库
创建完成后,我们添加数据库连接查看,会出现一个.sde后缀的数据库,然后点击,会发现可以看到数据库全部的表。

这是由于在创建SDE用户时赋予了SELECT ANY TABLE权限,因此可以访问其他用户的表,这对于数据管理来说是不安全的,而且也增加了寻找要素表的难度。
为了安全,我们删除用户权限。
打开PLSQL,随便一个用户登录后,输入查询。
select privilege from dba_sys_privs where grantee='SDE'
如下图:

删除SELECT ANY TABLE权限
revoke SELECT ANY TABLE from SDE
再去连接空间库后会发现其他用户的表不见了。
然后我们再找到数据库连接,然后右键,会发现新建下面多了一个要素类和要素数据集,这代表我们可以直接在数据库中创建空间数据了。

三,删除企业级用户
删除企业级用户执行如下代码:
drop user SDE cascade
DROP TABLESPACE SDE INCLUDING CONTENTS CASCADE CONSTRAINTS;
window用户,物理删除sde文件夹
D:\app\Administrator\product\11.2.0\dbhome_1\database\sde
Linux用户执行命令删除
# cd/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
# rm -rf sde
如果用户处于连接状态,可以先查询当前连接,如下。
select username,sid,serial# from v$session
如下结果:
| username | sid | serial# |
|---|---|---|
| NETBNEW | 513 | 22974 |
| NETBNEW | 514 | 18183 |
| NETBNEW | 531 | 9 |
然后执行下面代码,删除当前用户连接。
alter system kill session '531,9'
三,转移空间数据
首先在右侧文件夹连接中,连接一个文件夹,然后把地图的mdb放进去,然后选择一个图层右键导出,选择转出至地理数据库(单个),如下图:

在[要素类至要素类]页面的输出位置中选择刚刚我们创建的数据库连接,然后在输出要素类中输入导入至Oracle后的要素类名称。

点击确定后,需多等待一会,数据导入成功后,可以右键刷新数据库连接,然后就可以看到刚刚导入的要素类了。
完成后右下角会提示,如下图:

然后就可以基于oracle的数据进行共享服务了。
点击文件—共享为—服务,如下图:

然后输入响应的信息,就可以发布服务了。
----------------------------------------------------------------------------------------------------
注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!
若您觉得这篇文章还不错,请点击下方的【推荐】,非常感谢!
https://www.cnblogs.com/kiba/p/16035784.html

ArcGIs创建企业级数据库的更多相关文章
- arcgis创建postgre企业级数据库
什么是企业级地理数据库? 企业级地理数据库(ArcSD Enterprise,sde)是和 arcGIS 套件集成程度最高的地理数据库:创建时需要用到安装 arcGIS Server 时的 [ecp ...
- 通过arcgis在PostgreSQL中创建企业级地理数据库
部署环境: Win7 64位旗舰版 软件版本: PostgreSQL-9.1.3-2-windows-x64 Postgis-pg91x64-setup-2.0.6-1 Arcgis 10.1 SP1 ...
- ArcGIS Server注册数据库——以oracle为例
原创文章,转载须标明出处自: https://www.cnblogs.com/gisspace/p/9089117.html ------------------------------------- ...
- arcgis连接Oracle数据库
arcgis连接Oracle数据库 配置声明:本人的电脑是win10 64位,安装的Oracle是oracleR11gr2 64 arcgis版本位10.2 安装是在同一台电脑上. 一.首先是安装O ...
- Mysql实现企业级数据库主从复制架构实战
场景 公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公司业务中断,损失100万,老王做出深刻反省,公司 ...
- 项目实战7—Mysql实现企业级数据库主从复制架构实战
Mysql实现企业级数据库主从复制架构实战 环境背景:公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公 ...
- 企业级数据库监控利器Lepus
开篇介绍官方网站:http://www.lepus.cc开源企业级数据库监控系统简洁.直观.强大的开源数据库监控系统,MySQL/Oracle/MongoDB/Redis一站式性能监控,让数据库监控更 ...
- 强大的开源企业级数据库监控利器Lepus
Lepus监控简单介绍 官方网站:http://www.lepus.cc 开源企业级数据库监控系统 简洁.直观.强大的开源数据库监控系统,MySQL/Oracle/MongoDB/Redis一站式性能 ...
- SQL Server中创建sde数据库
在ArcCatalog或者ArcMap中打开ArcToolBox工具箱. 在工具箱中,找到创建企业级地理数据库工具,依次为数据管理工具→地理数据库管理→创建企业级地理数据库,如图所示. 双击打开创建企 ...
随机推荐
- @Resource注解和@Autowired注解
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11770982.html 1. @Resource 类来源: javax(Java扩展包) 类全 ...
- Linux中使用systemctl操作服务、新建自定义服务
Linux有12种Unit,对于个人来讲,用的最多的是Service Unit,下面的Unit均指Service Unit(服务单元) # 启动Unit systemctl start appname ...
- 2、Golang基础--包的使用、if-else语句、循环、switch语句、数组、切片、可变函数参数、map类型
1 包的使用 // 为了便于组织代码,同一种类型的代码,写在同一个包下,便于管理 // 定义包 -新建一个文件夹 -内部有很多go文件 -在每个go文件的第一行,都要声明包名,并且包名必须一致 -在一 ...
- C# 给Word每一页设置不同图片水印
Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以C#代码为例,对W ...
- 以Docker容器的形式运行GVM-11
OpenVAS(Open Vulnerability Assessment System)是在nessus基础上发展起来的一个开源的漏洞扫描程序,其核心部件是一套漏洞测试程序,可以检测远程系统和应用程 ...
- 使用Java的GUI技术实现 “ 贪吃蛇 ” 游戏
详细教程: 使用Java的GUI技术实现 " 贪吃蛇 " 游戏_IT打工酱的博客-CSDN博客
- ASP.NET Core 6框架揭秘实例演示[10]:Options基本编程模式
依赖注入使我们可以将依赖的功能定义成服务,最终以一种松耦合的形式注入消费该功能的组件或者服务中.除了可以采用依赖注入的形式消费承载某种功能的服务,还可以采用相同的方式消费承载配置数据的Options对 ...
- PRML 回归的线性模型
线性模型最简单的形式就是输入变量的线性模型,但是,将一组输入变量的非线性函数进行线性组合,我们可以得到一类更加有用的函数,本章我们的讨论重点就是输入变量的非线性函数的线性组合. 1 线性基 ...
- bugku 神秘的文件
题目链接: https://ctf.bugku.com/challenges#%E7%A5%9E%E7%A7%98%E7%9A%84%E6%96%87%E4%BB%B6 工具准备: 1.PC 2. ...
- React函数类组件及其Hooks学习
目录 函数类组件 函数式组件和类式组件的区别: 为什么要使用函数式组件? Hooks概念及常用的Hooks 1. useState: State的Hook 语法 useState()说明: setXx ...