本文适用于:经常使用ArcSDE服务的用户、Windows操作系统、Oracle11g
最近经常接到用户咨询,在Oracle11g的环境下,Windows操作系统启动ArcSDE服务失败,查看日志文件,提示ora-01017错误。
问题原因:因为Oracle11g默认安装后会有一个数据库用户180天密码过期的问题:ERROR:ORA-28002: the password will expire within 7 days
原来Oracle 11g 之前默认的profile是没有密码过期的限制的,在Oracle 11g 中默认的profile启用了密码过期时间是180天,去除这个限制便可。
解决方法:
1:修改数据库用户的密码
2:重置密码后,将180天密码过期设置去掉
一般情况下都是用户在使用数据库发现密码过期,就重置一下密码,当然少不了对sde用户的重置,当然如果sde用户的密码过期,启动服务也会报错。
那么问题出现在,用户重置完sde用户的密码后,在我们的服务列表中的ArcSDE服务有一个自动启动ArcSDE服务的选项,所谓自动启动服务,就是在注册表中自动记录了sde用户的密码,这个密码是以二进制进行存储的。
所以说,注册表记录的数据还是原密码的信息,但是用户已经修改了新密码,所以就会报ORA-01017:invalid username/password;logon denied。
注意:好像如果你把密码修改为和原来密码一致也不行
说到这里大概明白怎么解决了,删除原有的ArcSDE服务,重新创建ArcSDE即可。
1:post installation-选择Custom-只勾选创建服务即可
2:使用ArcSDE命令,删除服务,重新创建服务。
C:\Users\Administrator>sdeservice -o sdeservice: option requires an argument -- o ESRI ArcSDE System Service Utility Tue Jan 15 16:35:57 2013 ------------------------------------------------------------------------- sdeservice -o create -d <ORACLE,SID|SQLSERVER,SQLSERVERINSTANCE| DB2,DB2INSTANCE|POSTGRESQL,PGINSTANCE| INFORMIX|COVERAGES> -p <SDE_DBA_Password> [-s <datasource>] [-i <service>] [-u <service_user>] [-n] [-H <sde_directory>] [-P <service_user_password>] sdeservice -o delete [-d <ORACLE|SQLSERVER|DB2| INFORMIX|COVERAGES|POSTGRESQL>] [-i <service>] [-N] sdeservice -o register -r <registry_keyword> -v <value> -d <ORACLE|SQLSERVER| DB2|INFORMIX|COVERAGES|POSTGRESQL> -p <SDE_DBA_Password> [-i <service>] sdeservice -o unregister -r <registry_keyword> -d <ORACLE|SQLSERVER| DB2|INFORMIX|COVERAGES|POSTGRESQL> -p <SDE_DBA_Password> [-i <service>] sdeservice -o modify -r <registry_keyword> -v <new_value> -d <ORACLE|SQLSERVER| DB2|INFORMIX|COVERAGES|POSTGRESQL> -p <SDE_DBA_Password> [-i <service>] sdeservice -o list [-i <service>]
-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
-------------------------------------------------------------------------------------------------------