loading table of contents...

5.3.1. Overview of all Properties

The meaning of the properties of the sql.properties file are described in this section. Please read the other sections of this chapter for database specific configuration.

Connect to the Database

These properties are used to connect to the database.

  Value Default Description
sql.store.driver=oracle.jdbc.driver.OracleDriver String   The JDBC driver used to connect to the database.
sql.store.url=jdbc:oracle:thin@<HostName>:<Port>:CM String   The URL of the database to connect to. Replace <HostName> and <Port> with the appropriate values of the database host. Don't replace <HostName> with "localhost", this may cause problems with some JDBC drivers.
sql.store.user=username String   The user name at the database.
sql.store.password=userpassword String   The password of the user at the database.
sql.store.logDriverMessages=true true/false false Write all messages of the JDBC driver to the log file defined in capserver.properties.
sql.store.driver.jdbc=    Enter the version of the JDBC API supported by the JDBC driver. An empty property uses JDBC 1.0.
sql.store.isolation=    Define the transaction isolation level. An empty value uses the driver default setting.

Table 5.5. Properties for configuration of database connection


Changes of the Database Schema

These properties define how the Content Servers deal with content type changes. All checks and changes are performed at starting time of the Content Servers.

  Value Default Description
sql.schema.checkColumns=true true/false true Setting the property sql.schema.checkColumns to "true", causes the Content Server to compare the content type definition with the existing database schema for missing columns and matching widths of String properties. If there are differences, it depends on the setting of sql.schema.alterTables if the Content Server refuses to start ("false") or if it adds and changes the columns automatically ("true"). Checking the tables consumes a considerable amount of time, so that the server starts up more slowly. If sql.schema.checkColumns is set to "false", the Content Server will not check the columns. If there are differences, you will run into Content Server exceptions later on.
sql.schema.createTable=true true/false true The Content Server always checks if tables for the content types are missing. Setting the property to "true", causes the Content Server to create missing tables for new content types. If the setting is "false" and there are missing tables the Content Server refuses to start
sql.schema.alterTable=false true/false false Setting the property to "true", causes the Content Server to automatically add database columns for newly defined content type properties and to fix wrong widths of String properties. This will only work if you set sql.schema.checkColumns to "true".
sql.schema.createDropIndexes=false true/false false Setting the property to "true", causes the Content Server to automatically create and drop indexes on content type properties, according to the Index attribute in the doctypes.xml. This flag only affects existing columns. For newly added columns and tables, an index is always created if the Index attribute is set.

Table 5.6. Properties for configuration of database schema


Configure the XML Property Conversion

Since SCI 4.1, the new coremedia-richtext-1.0.dtd was introduced to replace the previously used coremedia-sgmltext.dtd. In addition, it is now possible to use own DTDs. In general, text which conforms to the coremedia-sgmltext.dtd will be automatically converted into coremedia-richtext-1.0.dtd conform text without any additional configuration. In some cases (custom XML formats, for example), more work is necessary (please read also the [Operations Basics Manual]).

  Value Default Description
sql.store.convert.<DocumentType>.<PropertyType>=<com.customer.XMLConverter>    Converters which are used to convert custom XML formats which have been defined for the obsolete coremedia-sgmltext.dtd.
sql.store.convert.correctRichText=true true/false true The editor in versions before SCI 4.1.38 created XML text, which was not valid according to the coremedia-richtext-1.0.dtd. If you have created content with versions before SCI 4.1.38, set the property to "true" to correct these errors (CoreMedia recommends to always use "true").
sql.store.replaceSubstitute=false true/false false There are problems with zOS DB2 databases to store characters that are not in the databases character set. Such characters are converted to the character with the code "0x001A" upon read. If the property is set to "true", this character will be replaced with the character defined in sql.store.substituteCharacter, thereby avoiding the replacement character that is illegal in XML texts.
sql.store.substituteCharacter=<character> Char '?' The character, with which "0x001A" should be replaced.

Table 5.7. Properties for the configuration of the XML property conversion


Configure the blob and SgmlText Collector

The Collector is a component which erases SgmlText and blobs from content versions which have been deleted.

  Value Default Description
sql.store.collector.initialDelay=<n> Int 600 Waits <n> seconds before starting the first collection.
sql.store.collector.delay=<n> Int 86400 The delay between two collections in seconds.
sql.store.collector.startTime=<n> Int -1 The time of the day, in seconds from 0:00h in the default time zone, when the collector should run every day. If set to -1, it does not run at a fixed time. The initial delay is always enforced as a minimal delay after server startup.
sql.store.collector.suspend=false Boolean false If set to true, unused blobs will not be deleted in the blob store. This should be used during backup (see Section 3.9.1, “Backup Strategy”) if you have a non-transactional blob store.
sql.store.collector.blob.preservationperiod=<n> Int 86400 The time in seconds, a blob, that has no reference to a resource, will be preserved.

Table 5.8. Properties for configuration of blob and SgmlText collector


Configure the SQL Connection Pool

Property Value Default Description
sql.pool.logScheduleMessages=false true/false false If the property is "true", write messages of the connection pool to the log file defined in contentserver.properties.
sql.pool.logVerbose=false true/false false If the property is "true", more debug messages will be generated.
sql.pool.logQueries=false true/false false If the property is "true", messages concerning queries (search of content item versions) will be generated.
sql.pool.logQueryStatements=false true/false false If the property is "true", SQL statements concerning queries will be written to the log.
sql.pool.minConnections=<n> Int 2 Minimum number <n> of connections to the database.
sql.pool.maxConnections=<n> Int 4 Maximum number <n> of connections to the database.
sql.pool.maxQueries=<n> Int 4 Maximum number <n> of connections used for queries, that is, the maximum number of parallel queries.
sql.pool.reaperInterval=<n> Int 120 The interval <n> in seconds in which it is checked if connections can be closed.
sql.pool.reaperTimeout=<n> Int 180 The time <n> in seconds a connection must be idle before it will be closed.
sql.pool.validatorInterval=<n> Int 300 The interval <n> in seconds in which existing connections will be checked for function.
sql.pool.validatorTimeout=<n> Int 120 The time <n> in seconds a connection must be idle before it will be checked for function.
sql.pool.checkTimeout=<n> Int 5 Maximum time <n> in seconds the check is allowed to take.
sql.pool.openTimeout=<n> Int 30 Maximum time <n> in seconds the opening of connections is allowed to take.
sql.pool.closeTimeout=<n> Int 40 Maximum time <n> in seconds the closing of connections is allowed to take.
sql.store.preparedStatementCacheSize=<n> Int   If set, denotes the maximum number of prepared statements that is kept open per database connection.

Table 5.9. Properties to configure the SQL connection Pool