ArcGIS的ArcSDE10突然无法连接Oracle,提示有错误:
经过查询Google,得解决办法:
1、查看用户的proifle是那个,一般是default:
sql>SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密码有效期设置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
4、修改后,还没有被提示ORA-28002警告的用户不会再碰到同样的提示;
已经被提示的用户必须再改一次密码,举例如下:
$sqlplus / as sysdba
sql> alter user <oracle里的用户名如sde> identified by <原来的密码>
第四步很重要,因为修改了前面的limit,但是在sqlplus里使用conn <oracle里的用户名>依旧提示密码过期,只要重新设置密码就好了.还好oracle没有不允许新密码为老密码,否则还要多许多步骤,更麻烦. 这个ORA-28002: the password will expire within 7 days的问题就算暂时解决了吧.oracle这个设置有点恶心,没有在安装oracle的时候要求设置.
再次启动sde服务,出现下面的内容就可以运行sde了:
[root@localhost Desktop]# cat ./restartSDE.sh #/bin/sh su -l sde -lc '/home/sde/arcgis/sdeexe100/bin/sdemon -o shutdown -p sde' su -l sde -lc '/home/sde/arcgis/sdeexe100/bin/sdemon -o start -p sde'
echo press Any Key To Continue... read pressAnyKeyToContinue
[root@localhost Desktop]# ./restartSDE.sh
SDE not running on server, Unable to get iomgr status.
-------------------------------------------------------
ArcSDE 10.0 for Oracle11g Build 685 Fri May 14 12:05:43 2010
-------------------------------------------------------
ST_Geometry Schema Owner: (SDE) Type Release: 1007
Instance initialized for ((sde)) . . .
Connected to instance . . .
DBMS Connection established...
RDBMS: "Oracle"
Instance Name: "esri_sde"
IOMGR Process ID (PID): 21024
ArcSDE Instance esri_sde started Wed May 2 10:20:49 2012
press Any Key To Continue...
但是不理解的是 oracle的em网页管理显示:
代理连接失败,原因也是密码过期,这是那个用户的呢?监听程序是正常的.只要这个正常就OK了.
Oracle做的东西非常的难用.GUI难用,命令行的也够难用的,比Linux的bash命令行体验要差许多,如果自动补全了,提供sqlplus内部的详细帮助页 更好,但是实际上难用.
|