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內部的詳細幫助頁 更好,但是實際上難用.