这两天做数据库的升级,从10.2.0.1升级到10.2.0.4,升级安装很顺利,但安装完成后再用常用用户连接数据库,出现如下提示错误:
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务。
改了好几个参数都没用,后来找到了解决方法,请先把与之相关的服务全部停掉,如sde、arcims、server等,具体操作步骤说明如下:
1、删除以前的oracle实例
c:\>oradim -delete -sid wxgis
2、重建oracle实例
c:\>oradim -new -sid wxgis -startmode auto -pfile d:\oracle\product\10.2.0\db_1\database\initwxgis.ora
3、登陆sqlplus
c:\>sqlplus /nolog
sql>conn /as sysdba
sql>startup upgrade
4、运行catupgrd.slq
sql>spool upgrade.log
sql>@d:\oracle\product\10.2.0\db_1\rdbms\admin\catupgrd.sql
这个执行时间很长,在我的服务器上大约执行了2小时
执行完成会有提示输入字符串的最大数,不关,直接回车
sql>spool off
5、重新启动oracle
sql>shutdown immediate
sql>startup pfile=d:\oracle\product\10.2.0\db_1\database\initwxgis.ora
至此数据库重新启动,请重启监听服务
6、检查是否有无效对象
sql>@d:\oracle\product\10.2.0\db_1\rdbms\admin\ultrp.sql
7、检查是否有无效对象
select count(*) from dba_objects where status='INVALID'
如果值大于0则说明有错误,就要重新执行sql>@d:\oracle\product\10.2.0\db_1\rdbms\admin\catupgrd.sql,知道没有错误
实际我在运行是,是有两个错误,没关它,直接重启服务器,ok了,能连接了,sde也跟着起来了,那两个问题留着吧,以后再说
感谢: Zorry'GIS Blog