luxuheng 2012-10-11
*****************************
sde安装
同一台计算机上安装多个sde:一个oracle实例安装多个sde多个oracle实例上安装多个
最小安装,OracleNetSoftware并配置好与服务器oracle的连接管理
Oracle安装完毕之后,会提供给我们一个默认的数据库实例,但是很多时候我们还需要建立自己的数据库。
创建数据库的方式有两种:一种是通过向导工具创建;一种是自己手动创建。这里主要介绍一下使用向导创建:
Oracle10g创建数据库的步骤共分为12步,在“开始——Oracle——ConfigurationAndMigrationTools——DatabaseConfigurationAssistant”里打开新建向导,下一步,选择第一项“创建数据库”,这时出现四种数据库模板,通常我们选择第三项“定制数据库”,填写数据库名称,下一步,这里我们可以对数据库进行一些其他的配置(初学者建议不要动),下一步,输入登录口令,我们还可以为不同用户指定不同的口令,下一步,选择数据库存储机制,通常以文件的形式存储,下一步,为数据库指定存储位置,下一步,指定数据备份的位置,下一步,选择数据库组件和自定义脚本等等,下一步,安装。由于Oracle数据
库比较大,安装过程大约要花费十分钟左右!
可以新建用户
createusersdeidentifiedbysde;
connectresource一般这两个权限就够了
grantsysdbatosde;
分配数据集操作权限即可
打开catalog中的数据库连接,在数据集上右击选择Privileges输入用户名,下面可以选择操作权限,只读,更更改等
*****************************
sde的手动postInstall安装:手动创建sde用户和表空间,创建sde服务
创建sde用户,设置表空间为sde,临时为temp;在角色标签中,授予sde用户connect和Resource角色;在系
统权限中授予sde用户SelectAnyTable权限;在限额中设置sde表空间为无限制,点击应用创建sde用户。
sdepost时候参数
Sysusernamesys(不能更改灰色的)Sysuserpassword(Sys的密码)
Netservicename(网络服务名,不是sid是客户端安装oraclenetmanager中的网络名称)
------
安装sde不选择创建服务,远程安装创建服务会不成功
安装完后在cmd下执行创建服务操作
例如下面在实例名为orcljava上创建esri_sde服务
sdeservice-ocreate-psde-dORACLE,orcljava-n-iesri_sde
创建完毕后需要更改几个文件:
c:/winnt/system32/drivers/ect目录下找到services加一行:esri_sde5151/tcp
SDE服务配置文件D:/.../tools/SDE/ArcSDE/ora9iexe/etc目录下找到services加一行:esri_sde5151
修改D:/.../tools/SDE/ArcSDE/ora9iex/etc/下的dbinit.sde文件,里面会有一句:
setORACLE_SID=ORCLJAVA改为:setLOCAL=ORCLJAVA
启动sde服务,sdemon-ostart-p...
*****************************
sde表空间管理,查看oracle中的所有表空间的基本信息,比如位置信息,存储大小,增长方式
更改sde表空间的增长方式,比如更改为没有上限自动增长(默认好像是400m的固定空间)
查看表空间,要求管理员登陆sqlplussys/password@orclassysdba
selecttablespace_name,sum(bytes)/1024/1024剩余空间兆fromdba_free_spacegroupby
tablespace_name
dba_data_files表中存放着表空间的信息
select*fromdba_data_files
sde表空间不足的时候
1给sde添加表空间
altertablespace添加表空间的tablespaceNameadddatafile'新的sde表空间dbf存放的fileName'size***M;
altertablespacesdeadddatafile'E:\NEWDB.DBF'size500M;
2增大原有表空间大小
alterdatabasedatafile'全路径的数据文件名称'resize***M;
3设置原表空间增长方式为不限大小步长100m
ALTERDATABASEDATAFILE'E:\newDB.dbf'AUTOEXTENDONNEXT100MMAXSIZEUNLIMITED
*****************************
catalog中连接sde参数配置
打开catalog点击databaseconnections添加空间数据库连接SpatialDatabaseConnection
server服务器名称或ip
service:5151/tcp对应前面创建时候的服务(这个值是默认创建对应的值)
Databaseoracle11g服务器对应oracle的实例名称,不是暴露在外的网络服务名,是SID---这里也可以不输入
输入用户名sde的用户名密码
*****************************
创建多个sde用户,分别设置sde表空间中的数据集操作权限
createusersdeidentifiedbysde;
grantsysdbatosde;
创建不同个用户管理操作sde表空间创建成功后不能访问sde用户建立的database,在需要给权限的
database上右键Privileges给予权限操作,输入用户名即可eg:sde2给相应的权限确定
*****************************
删除sde用户信息
dropusersdecascade;
删除表空间
droptablespacesdeincludingcontentsanddatafiles;
selectowner,index_name,table_name,domidx_status,domidx_opstatusfromall_indexeswhereowner
='SDE'anddomidx_statusisnotnull
有人说是判断domidx_status和domidx_opstatus不一样的数据行
先进行查询
UnderlyingDBMSerror[ORA-29875:无法执行ODCIINDEXINSERT例行程序.
解决办法:删除对应操作表的序列index
解决办法:
http://blog.csdn.net/linghe301/article/details/7254363
删除index后导致在arcmap中添加新要素的时候,objectid自动生成的时候不按照顺序自动增长会出现如下:
objectidvalue
11
2af
3ddd
100sdd
objectid中间有断裂
esri官网给出的解决方案,但是好像情况不一样,不能按照这种执行
http://support.esrichina.com.cn/2008/1210/1346.html
原因:
使用st_transform函数针对存在空间索引的st_geometry类型的要素类做空间引用转换失败,因为该操作试
图使用一个与该要素类的空间索引的空间引用标识不一致的新的空间引用标识来更新该要素类的空间信息及
空间索引。
解决方法:
更新st_geometry类型的要素类之前删除其空间索引
SQL>DROPINDEXparcels_shape_idx;
Indexdropped.
然后,使用st_transform函数执行空间引用转换
SQL>UPDATEparcelsSETshape=sde.st_transform(shape,5);
最后,重新创建空间索引
空间索引的解决办法:
http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/001700000062000000/
远程启动sde服务需要启动oracle的OracleDBConsoleorcl服务要不然会报错启动后停止等信息