当数据库重启导致数据库连接丢失后, 不需要重启整个WebLogic Server , 而是可以仅重启数据源连接池就可以。该方法既可以 通过控制台执行, 也可以通过脚本的方式执行, 当WLS实例特别多是时候,建议用脚本执行,比较快。 如是ORACLE数据库,通过WLS的GRID LINK, GRIDLINK 类型的数据源应该是可以自动重连接的,连数据源重启动都不需要了。非ORACLE数据库只能采用普通的数据源,就可以采用下面的脚本: admin_username = 'username' admin_password = 'apssword' admin_url = 't3://IP:PORT' datasource_name = 'myDataSource' connect(admin_username, admin_password, admin_url) domainConfig() serverList=cmo.getServers(); domainRuntime() for server in serverList: name=server.getName() print name if name != 'AdminServer' : server_state_path = '/ServerLifeCycleRuntimes/'+name cd(server_state_path) serverState=cmo.getState() if serverState=='SHUTDOWN': print 'ServerName: '+ name+', State: '+serverState + ', skip...' continue dbs_path = 'ServerRuntimes/' + name + '/JDBCServiceRuntime/' + name + '/JDBCDataSourceRuntimeMBeans/' + datasource_name cd(dbs_path) objectArray = jarray.array([], java.lang.Object) stringArray = jarray.array([], java.lang.String) invoke('shutdown', objectArray, stringArray) invoke('start', objectArray, stringArray) print 'ServerName: '+ name+', State: '+serverState + ', restarted' disconnect() exit()
欢迎关注本人的微信公众号: 书生老徐 |
自动重启weblogic 数据库连接池的WLST脚本
最新推荐文章于 2023-07-20 13:20:55 发布