Workflow database size limitations

The workflow database software sets limits on the amount of data you can store in a workflow field. These limits are both specific to a field and cumulative for a record.

The following table describes the limitations set by specific versions of Microsoft SQL Server, Oracle, and DB2, as well as additional limits imposed by Process Engine.

 

  Bytes* per field of data type string Bytes of data per database row (record) Maximum number
of columns per
database table†
Maximum size
of a BLOb (Binary
Large Object)††

Microsoft
SQL Server 2000

SQL Server 2005

8000 (data type varchar)

NOTE  SQL Server does not return an error if you try to insert more data than the defined number of bytes into a column (field). Rather, it simply truncates the data to the defined length.

8060

NOTE  SQL Server allows you to define 1024 string columns (fields) at 8000 characters each. If you were to do this, however, you could not fill every column to the maximum, since the total amount of data SQL Server supports in a row (all columns combined) is 8060 bytes. SQL Server returns an error if you try to insert (or update) a row with more data than the supported maximum row size.

255 512K†††

Oracle 9i

 

4000 (data type varchar2)

NOTE  Oracle returns an error if you try to insert more data into a column than its defined data size. No data is inserted into the column (field).

No defined limit

NOTE  Since Oracle does not have a limit on the size of the row you could conceivably define a maximum of 1000 columns, with 4000 bytes of data in each.

255 512K

Oracle 10g

Oracle 11g

4000 (data type varchar2) No defined limit 900 512K
DB2

32,672 (data type varchar)

NOTE  DB2 does not allow you to define a table containing more bytes than your row size.

Variable

The row size is determined by the defined table space page size.

Process Engine- supported page sizes Row size
8K
16K
32K
8,101
16,293
32,677

NOTE  DB2 enforces the maximum row size at the time you define the columns in the database table, rather than when a row is inserted or updated.

255 512K†††

 

* Bytes do not necessarily equal characters. If you use a multi-byte character set, the maximum number of characters you can insert into a column is less than the maximum bytes supported. The maximum number of characters is then determined by the bytes per character.

†This includes the required Process Engine system fields for each workflow roster, queue, and event log.

†† Process Engine logs a warning message in the system event log when the BLOb size of a configuration object or a work item exceeds 95% of the maximum defined size.

The 512K limit on the BLOb size is the default value that is sufficient for most applications. The following conditions increase the amount of data stored in the BLOb:

††† For BLOb columns, the data is not stored in the row itself—rather it is stored in another area of the database. Only the address to the data is stored in the row. The address does not significantly impact the maximum amount of actual data which can be stored in a row. Therefore, unexposed data fields can be larger in size (and total row size) than the limits appear to suggest.