注:假定环境中其中一个的weblogic域名为cams,数据源为CAMSDB
(1)直接修改weblogic的数据源配置文件中密文密码为最新的明文密码【首次尝试,以失败告终,weblogic并没用将JDBC配置文件中的密码从明文自动转化成为密文
进入JDBC配置文件所在路径
[cams@mymc1 jdbc]$ cd /home/cams/bea/middleware/user_projects/domains/cams/config/jdbc
打开配置文件并进行修改
[cams@mymc1 jdbc]$ vi CAMSDB-2211-jdbc.xml
将XXX中的密文密码改为明文密码
然后启动weblogic域,并查看启动日志,报如下错误:
Caused by: com.bea.xml.XmlException: java.lang.IllegalArgumentException: In production mode, it's not allowed to set a clear text value to the property: PasswordEncrypted of JDBCDriverParamsBean
(2)使用weblogic提供的工具将明文转化成为密文,然后进行替换
[cams@mymc1 ~]$ cp /home/cams/bea/middleware/wlserver_10.3/server/lib/weblogic.jar /home/cams/bea/middleware/user_projects/domains/cams/
[cams@mymc1 ~]$ cd /home/cams/bea/middleware/user_projects/domains/cams/
[cams@mymc1 cams]$ java -cp weblogic.jar weblogic.security.Encrypt newpassword
这里得到数据源CAMSDB的密码的密文为:【注:相同的明文在不同weblogic生成的密文不同】
{AES}dUH3nDtUg3LfPBCngOAAPFgsIW4gVRPyD25aibk4zVQ=
(3)修改weblogic的数据源配置文件中密文密码为最新的密文密码【还是遇到问题,账户锁定了】
进入JDBC配置文件所在路径
[cams@mymc1 jdbc]$ cd /home/cams/bea/middleware/user_projects/domains/cams/config/jdb
打开配置文件并进行修改
[cams@mymc1 jdbc]$ vi CAMSDB-2211-jdbc.xml
将XXX中的密文密码改为最新密文密码
然后启动weblogic域,并查看启动日志
[cams@mymc1 jdbc]$ cd /home/cams/bea/middleware/user_projects/domains/cams
[cams@mymc1 jdbc]$ nohup ./startWebLogic.sh & tail -f nohup.out
发现如下报错信息:
weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: ORA-28000: the account is locked
(4)解决账号被锁问题
1)select username,profile from dba_users; ---确认用户所使用的概要文件
2)alter profile default limit failed_login_attempts unlimited;---如果尝试登录次数限制为10次,将尝试登录次数的限制修改为不受限(修改后不需要重启数据库,修改结果即时生效。)
3)注意:修改后,还没有被提示ORA-28000警告的账户不会再碰到同样的问题,已被锁定用户仍需解锁,方法如下:
alter user user_name account unlock;