Oracle11g、PL/SQL、ArcSDE笔记
来源:互联网 发布:淘宝联盟卖家平台 编辑:程序博客网 时间:2024/04/30 13:43
浏览器登录
Oracle11g不能直接登录图形界面了,所以要进去进行数据库、表的常规操作显得很麻烦。
可以在ie浏览器上输入https://localhost:1158/em登录,账户为SYS(注意大写),密码为安装oracle时你自己设置的密码。不过想登进去,要先在电脑的服务(控制面板—管理工具—服务)中启动:OracleDBConsole***,(***为你的数据库名)。
如果系统提示错误,如下图:
首先分析原因:OracleDBConsole服务用于网页登录数据库,从Oracle10g后开始出现。但发现应用时很脆弱,安装Oracle10g或者11g后网址发生变动时,这个服务就启动不起来了,或者计算机名字发生变动等也可能启动不来。
解决:
1 开始->运行->输入cmd
2 输入emctl start dbconsole,提示"找不到环境变量ORCALE_SID",请运行SET ORCALE_SID=*** // 你的数据库名称(注意要大写)
3如果计算机名称发生变动,再次执行emctl start dbconsole,提示"无法找到D:/oracle/product/10.2.0/db_1/***_SKYORCL",复制该目录下 的"localhost_skyorcl"文件夹放在同一目录下,且把名称改成"***_SKYORCL"。 // ***为机器名
4如果网址发生变动,再次执行emctl start dbconsole,提示"无法找到***db_/oc4j/j2ee/OC4J_DBConsole_***(ip)_***(数据库名称)",复制该目录下"OC4J_DBConsole_***_dragon"文件夹放在同一目录下,且把名称改成OC4J_DBConsole_***(ip)_dragon"。
5:再次执行emctl start dbconsole,ok。
如果问题还解决不了,那就直接建立一个文本文档,输入
@echo off
echo 正在启动ORACle服务......
sc start OracleServiceWQMS
sc start OracleOraDb11g_home1TNSListener
sc startOracleOraDb11g_home1ConfigurationManager
sc start OracleDBConsolewqms
echo 启动完成!
然后把后缀改为.bat,运行即可。注:wqms是我的数据库名
PL/SQL登录
当然,如果是个人用Oracle11g的话,登录这个图形界面不仅复杂,并且每次重启电脑都要启动OracleDBConsole***(数据库名),而且进入了这个浏览器图形界面,感觉好像不能操作数据库,不能进行一般的表操作,我建议你们用PL/SQL。
PL/SQl导入excel文档
在plsql developer的sql window里输入select * from test for update,其中test是要导入的oracle数据表名称;
执行查询(通过点击按钮或者快捷键F8可以实现);
点击查询结果上面的锁状按钮,使得查询到的内容处于编辑状态。
从excel数据表中copy(ctrl +C)要导入oracle中的数据,如果是单列数据导入,可以先按plsql developer中查询结果上面的“添加(+)”按钮,使得数据表处于添加数据状态,然后将鼠标在plsql developer的列名称上单击,最后使用快捷键ctrl + v 完成数据导入操作,并单击plsql developer中的“提交(对号)”按钮提交所做的修改。
如果是同时导入所有列,首先excel表的第一列设置为空值,选择copy空值列+所有数据,然后点PL/SQL developer中,增加(+)并点击编辑那一行最前面的星号(*)使得整行数据都处于被选择状态,最后paste即可将数据导入。
如果分列导入数据,则需要逐列完成,首先选择copy要导入的数据,然后然后点增加(+)并点击编辑那一列的名称,使得整列数据都处于被选择状态,最后paste即可将数据导入。
使用PLSQL developer执行数据的导入和导出操作主要存在的问题是在大数据量情况下对中文数据可能出错,估计将接收数据表的类型定义为nvarchar2的类型会比较好一点。另外,就是这种方法需要人工更多的参与,不能达到自动导入的效果。
用命令行向oracle11g导入含空间数据的dmp
在这里介绍一种命令行备份和导入数据的方法。
比如说用户名为sde,密码为1234,数据库名为wqms。
把数据库wqms里,用户sde下的所有数据(包括表、索引、存储过程、触发器等)备份到某个文件夹(这里设为e:/es/),命令应该这样写:
Exp sde/1234@wqms file=e:/es/bf.dmp log=dc.log
Bf.dmp为保存后的文件,dc.log为日志文件,也即命令行黑屏上执行时显示而没来得及看的所有信息。
而导入时,则用下面的命令
Imp sde/1234@wqms fromuser=sde file=e:/es/bf.dmp log=dr.log touser=sde
如果bf.dmp里面含有空间数据,要想把空间数据正确导入,在导入之前,要把sde用户中的表全部删掉,你可以用下面的命令:
sqlplus sde/1234@wqms
spoolon
spoolc:/dd.sql
select'drop '||object_type||' '||object_name||';' from user_objects order by object_type;
spooloff
@c:/dd.sql;
Exit
把里面的sde/1234@wqms的这个改成自己相对应的用户名、密码和数据库名后,直接拷贝到命令行里执行就行。
再次用导入命令导入后,基本上能解决问题。如果还是不能导进。则可在导入命令的加一句
Ignore =y,意思是如果导入前有相同表的,忽略不计。整体如下:
Imp sde/1234@wqms fromuser=sde file=e:/es/bf.dmp log=dr.log touser=sde ignore=y
这样就可以成功导入了。
现在用ArcMap打开,却提示gsrvr.exe内存错误,然后又弹出NetWork I/O error,什么原因呢?
你只要重新配置一个ArcSDE即可。在开始—程序—ArcGis—ArcSDE—ArcSDE for Oracle11g Post Installation。
arcsde for oracle安装全过程
接着上面来啊。
从“开始”--〉“程序”--〉“ArcGIS”--〉“ArcSDE”--〉“ArcSDE for oracle11g PostInstallation”,进入安装界面。
1. 选择完全安装,即“Complete”,点击“下一步”。
2. 要求以Oracle用户sys的身份登陆Oracle数据库。在Sys user password中输入用户sys的密码(安装Oracle时输入的);在Net service name中输入Oracle服务的名字,可以以如下方式查看Oracle服务的名字:“控制面板”-->“管理工具”--〉“服务”,找到“OracleServiceSomename2”字样的服务(其中,Somename2只是一个替代字符串),右键点击 “属性”,在弹出的对话框中,看到“可执行文件的路径”下面的字符串,此字符串中“.EXE ”后面的部分即是Oracle服务的名字。点击“下一步”。
3. 进入“ArcSDEconfiguration files”,配置ArcSDE文件,选择默认,点击下一步即可。
4. 进入“ArcSDEconfiguration files continued”,继续配置ArcSDE文件,选择默认,点击下一步即可。
5. 创建方案SDE。此时,SDE用户的名字已经固定,为“sde”;程序在(4)中已经获得用户“sde”的密码,此处也以星号形式给出;程序在(3)中已经获得Oracle服务的名称,此处也显示给出。此处全部默认即可,点击“下一步”创建ArcSDE服务, “Oracle_SID”必须填,而且要填正确,否则ArcSDE服务即使创建了也不能启动。可以用如下方法查看系统已经安装的Oracle的SID:在Oracle安装路径下的“/admin/sde/profile”文件夹下,有一个 “init.ora.*************”字样的文件(比如,在我的机器上该文件为D:/oracle/admin/SDE/pfile/init.ora.6162005101919),用文本文件方式打开,查找字符串“instance_name”,可以看到 “instance_name=somename3”字样的值,这个somename3就是Oracle_SID。如在这个文档里找不到,则可到注册表下HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb11g_home1,这里便有一个名称为ORACLE_SID的东东。
6. 如果原来有ArcSDE服务,那么此时会提示已经存在服务,是否覆盖;或者提示出错。原因:第1步即“打开注册表,删除ArcSde Service服务”仅仅把控制面板服务列表中的服务删掉,而真正的服务(在HKEY_LOCAL_MACHINE/SOFTWARE/ESRI/ArcInfo/ArcSDE/ArcSDE for oracle下)还是没删掉,所以会提示是否覆盖。如果第1步没有执行,即服务列表中的ArcSDE服务没有删掉,就会提示出错。
7. 在以上执行步骤中,由于没有删掉HKEY_LOCAL_MACHINE/SOFTWARE/ESRI/ArcInfo/ArcSDE/8.0/ArcSDE fororacle下的ArcSDE的真正服务,所以提示是否覆盖。点击“是”,一会儿后弹出对话框,提示耐心等待,询问是否启动新创建的ArcSDE服务,选择“是”,一会儿后提示服务成功启动。
8. 提示安装完成。此时可以到服务列表(“控制面板”--〉“管理工具”--〉“服务”)中,找到“ArcSDE Service(somename4)” (somename4是(9)中出现的ArcSDE服务的名字,默认为esri_sde),可以看到确实正常启动了。
9. 现在可以打开ArcCatalog了,Database ConnectionàAdd Spatial Database Connection,
Server:你的计算机名或者127.0.0.1; Service: 在上面安装SDE时的,默认为esri_sde;DataBase:你的数据库名;UserName:*** ;Password:***。
- Oracle11g、PL/SQL、ArcSDE笔记
- PL/SQL连接Oracle11g
- Oracle11g PL/SQL Result Cache
- Win7下安装Oracle11g客户端+PL/SQL
- pl/sql 连64bit oracle11g
- Oracle11g安装后如何使用PL/SQL
- Win8(64)安装Oracle11g+PL/SQL
- 使用PL/SQL软件连接oracle11g数据库
- pl/sql developer 导入导出 Oracle11g数据
- oracle11g PL/SQL编程摘要
- oracle11g和arcsde
- Oracle11G-SQL开发指南-11-PL/SQL编程
- Oracle11g基础知识【SQL学习笔记】
- PL/SQL学习笔记
- PL/SQL学习笔记
- pl/sql 笔记1
- PL/SQL学习笔记
- PL/SQL学习笔记
- raised an exception.Cause:Undefined instruction
- Java程序员认证考试 ---SUN认证
- 闲聊linux中的input设备之前言
- 配置安装PHP环境信息
- xxxxxx
- Oracle11g、PL/SQL、ArcSDE笔记
- 闲聊linux中的input设备(1)Linux中的设备大家族
- mysql 5.5.7 innodb优化
- sicily 1004
- html导入js页面遇到的编码问题
- 华为面试题算什么,这个背会了外企随便进
- 交友QQ群
- 对ruby on rails学习的一点建议
- BI入门经典