OpenEdge SQL uses a Java Virtual Machine (JVM) to execute triggers, stored procedures, and user-defined functions. Users can specify parameters which should be used by the JVM. The JVM parameters are the options that can be specified while starting Java using the command line. Users with privileges to create or edit the properties file, can customize the JVM parameters to control the behavior of a JVM. The JVM parameters used by the OE SQL server are logged to the <SQL_connection__<server-id>_<thread_id><ddmmmyyyy>_<hhmmss>.log> log file. Irrespective of whether the JVM parameters are specified or not in the configuration file, the JVM parameters are logged into the log file. However, if no parameters are specified, the default JVM parameters will be logged.

At any time, a database administrator can specify the JVM parameters in the OE SQL properties file. The specified JVM parameters are fetched while creating a JVM and after the JVM is created, the parameters are used by all program executions. For an already created JVM, a database administrator can now reconfigure the JVM with new parameters via an online configuration process. The online configuration process ensures that a database administrator is not required to shutdown or restart the database to have the effect of the new JVM parameters. Instead, the OE SQL Server where the JVM is already running, waits until there are no database connections and then, it shuts down the OE SQL Server process to restart the JVM with the new parameters. In case, a JVM is not already created in an OE SQL Server, changes in the JVM parameters will not result in the shut down of that OE SQL Server process.

Examples

Consider these scenarios for an OE SQL Server:

Scenario 1: An OE SQL Server process has five active DB clients and a JVM is already created with specific parameters. When a database administrator reconfigures the existing JVM parameters, the OE SQL Server waits till all the five DB clients are disconnected. The OE SQL Server process is then shut down. Whenever, a new OE SQL Server process creates a JVM next time, the JVM is created with the new parameters.

Scenario 2: An OE SQL Server process has no JVM created. When a JVM is created and DB connections are made, the new JVM parameters come into effect. In this scenario, there is no shut down of the OE SQL Server process.

Scenario 3: Consider two OE SQL Server processes - Process1 and Process2 for which, a JVM is already created with specific parameters. Process1 has two active DB connections and Process2 has no DB connections.

When the database administrator reconfigures the JVM parameters, there is no impact to Process1. However, Process2 is shut down and whenever, Process2 creates a JVM the next time, the JVM is created with the new parameters.

In this scenario, the programs being executed on Process1 continue to use the previous JVM parameters while programs being executed on Process2 use the new JVM parameters.

Specifying the JVM parameters

The <db-name>.oesql.properties file should be modified to specify the JVM parameters. The following example shows how to modify the properties file to specify the JVM parameters.

Example: Modifying the OE SQL properties file to specify the JVM parameters

[sql-server-configuration]
   sql-jvm-params="-Xms=10m -Xmx=100m"
    

The OE SQL server configuration properties are located in the sql-server-configuration section in the OpenEdge SQL properties file. Property names and values are separated by an equal sign. For example, Sql-jvm-params=”-Xms=10m -Xmx=100m”. The JVM parameters should be seperated using spaces. Thetable below depicts the OE SQL Server configuration properties:

Table 1. SQL server configuration parameter and value
Property Type and length
sql-jvm-params Character [31999]