Oracle11g之用户密码过期与修改用户密码|ArcSDE10因oracle用户密码过期而无法连接oracle数据库问题的解决
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内部的详细帮助页 更好,但是实际上难用.
------------------------------------------------------------------------------------------------
一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。