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