Oracle建议在我们要在托管服务器中添加的服务器启动参数中添加一些参数->配置->服务器启动->参数。
现在,我需要在100多个域中进行此更改,每个域都包含4个托管服务器。我想知道是否有一种方法可以在服务器级别的后端中添加它,以便我可以使用脚本将其自动化。在此之下已经没有几个值了,我只是附加以下值。有人可以在这里放点光吗?下面是我要添加的值。
-Doracle.jdbc.ReadTimeout=600000 -Dweblogic.Chunksize=65535 -Dweblogic.jndi.responseReadTimeout=120000 -Dweblogic.jndi.connectTimeout=120000 -Dweblogic.UseEnhancedIncrementAdvisor=false
正确的模式是使用WLST。
WLST是Weblogic提供的用于编写域配置脚本的工具。这样,您可以将配置保存在svc上,并且可以自动执行此操作。
要向服务器或群集中添加启动参数,您必须按照说明编写一个.py文件,然后使用wlst控制台启动它。
文件示例:
# JVM PARAMETER MANAGED SERVER
server_jvm_parameters = [{
"cluster_name": "CLUSTER_NAME",
"arguments": " -Doracle.jdbc.ReadTimeout=600000 -Dweblogic.Chunksize=65535 -Dweblogic.jndi.responseReadTimeout=120000 -Dweblogic.jndi.connectTimeout=120000 -Dweblogic.UseEnhancedIncrementAdvisor=false"
}
def config_jvm_start_parameters(server_jvm_parameters):
print "config_start_parameters " + str(server_jvm_parameters)
for current in server_jvm_parameters:
cluster_name = current['cluster_name']
arguments = current['arguments']
managed_servers = current.get('servers', None)
print 'init configuration start parameters ' + cluster_name
cluster_bean_path = getPath('com.bea:Name=' + cluster_name + ',Type=Cluster');
cluster = getMBean('/'+cluster_bean_path);
servers = cluster.getServers();
for server in servers:
server_name = server.getName()
cmo=cd('/Servers/'+server_name+'/ServerStart/'+server_name)
argsSetted = False
if (managed_servers is not None):
for managed_server in managed_servers:
managed_server_name = managed_server['managed_name']
managed_server_arg = managed_server['arguments']
if (managed_server_name == server_name):
argsSetted = True
cmo.setArguments(arguments + ' ' + managed_server_arg)
if (not argsSetted):
cmo.setArguments(arguments)
connect(user, password, host)
edit()
startEdit()
config_jvm_start_parameters(server_jvm_parameters)
save()
activate()
然后运行命令:
$ORACLE_MIDDLEWARE_HOME/oracle_common/common/bin/wlst.sh file.py