是否有人知道是否可以在运行时修改JVM设置(例如-dname=value)?我需要这个小技巧来运行我的Java存储过程(oracle 10g)。
发布于 2008-09-18 14:44:48
假设您指的是系统属性( -d ...;-d选择数据模型) System.setProperty(...)可以做你想做的事。
发布于 2010-09-28 22:17:14
您可以在java存储过程中使用OracleRuntime类。
int times = 2;
OracleRuntime.setMaxRunspaceSize(times *OracleRuntime.getMaxRunspaceSize());
OracleRuntime.setSessionGCThreshold(times *OracleRuntime.getSessionGCThreshold());
OracleRuntime.setNewspaceSize(times *OracleRuntime.getNewspaceSize());
OracleRuntime.setMaxMemorySize(times *OracleRuntime.getMaxMemorySize());
OracleRuntime.setJavaStackSize(times *OracleRuntime.getJavaStackSize());
OracleRuntime.setThreadStackSize(times *OracleRuntime.getThreadStackSize());此示例代码在oracle jvm中乘以2的内存状态。注意:导入oracle.aurora.vm.OracleRuntime;将在"aurora.zip“上的oracle jvm上解析。
发布于 2008-09-18 14:47:19
您绝对可以使用System.setProperty()在Java存储过程中设置系统属性。但是,它们将仅对当前Oracle会话可用。
例如,如果连接到Oracle,并运行设置系统属性的Java存储过程,则断开与Oracle的连接。当您下次连接到Oracle时,系统属性将不存在。与Oracle的每个会话都有自己的伪独立JVM (即使所有会话实际上共享一个JVM)。
如果用于Oracle会话的帐户具有足够的权限,则可以运行外部操作系统命令,包括单独的外部JVM。
https://stackoverflow.com/questions/93177
复制相似问题