This page last changed on Apr 27, 2008 by smaddox.

On this page:

Error formatting macro: toc: java.lang.NullPointerException

DB2 Does Not Support Unicode Character By Default

To support the Unicode character set, create your database like this:
For 8.2.2 or later:

db2 create database <name> using codeset utf-8 territory us pagesize 8 k

Before 8.2.2

db2 create database <name> using codeset utf-8 territory us
db2 drop tablespace userspace1
db2 create bufferpool bufpool8k <number of pages> pagesize 8 k
db2 create tablespace userspace1 pagesize 8 k managed by database using \(file \'<location>\'
           <number of pages>\) bufferpool bufpool8k

The territory may not be important when using UTF-8, but it must be included.

DB2 Does Not Support Transaction Logging Of BLOBs Larger Than 1GB

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/c0006327.htm

"With their potentially large size, LOBs can slow down the performance of your database system significantly when moved into or out of a database. Even though DB2 does not allow logging of a LOB value greater than 1 GB, LOB values with sizes approaching 1 GB can quickly push the database log to near capacity. An error, SQLCODE -355 (SQLSTATE 42993), results from attempting to log a LOB greater than 1 GB in size. The lob-options-clause in the CREATE TABLE and ALTER TABLE statements allows users to turn off logging for a particular LOB column. Although setting the option to NOT LOGGED will improve performance, changes to the LOB values after the most recent backup are lost during roll-forward recovery."

Although one could set the length for the CustomClobType in BodyContent.hbm.xml field length to larger sizes, say 2^31 to allow storing of BLOBs up to the size of 2 Gb, DB2 maximum length can only be set to 2^30, 1GB.
<property name="body" type="com.atlassian.confluence.core.persistence.hibernate.CustomClobType" update="true" insert="true"
                  column="BODY" length="1073741824" />

Configuring Database Character Encoding

Refer to Configuring Database Character Encoding.

DB2 Dialect class change (if upgrading from Confluence version 2.2 or older) 

If you are using DB2, and are upgrading Confluence from version 2.2 or older, the 'hibernate.dialect' property in the confluence.cfg.xml file needs to be changed to 'com.atlassian.hibernate.dialect.DB2Dialect' like so:

<property name="hibernate.dialect">com.atlassian.hibernate.dialect.DB2Dialect</property>



Encoding Test Problems

At the time of writing this, there is an open bug with the encoding test when using DB2. Details are here: CONF-8588.

Transaction Isolation Level of Read Uncommitted

Due to CONF-9323, DB2 requires a transaction isolation level of "read uncommitted" to avoid occasional deadlocks. The more concurrent usage a Confluence instance experiences, the higher the frequency of deadlocks with a transaction isolation level higher than "read uncommitted".

Set the following property in the confluence.cfg.xml file.

<property name="hibernate.connection.isolation">1</property>

Incompatible Data Types on z/OS 8

There are problems when running DB2 on z/OS 8 and 9. This platform is not officially supported but there is an unsupported workaround here.

RELATED TOPICS

Interpreting DB2 error codes

Document generated by Confluence on Aug 07, 2008 19:08