The DB2_COMPATIBILITY_VECTOR registry variable is used to enable one or more DB2® compatibility features introduced since DB2 Version 9.5.
These features ease the task of migrating applications written for other relational database vendors to DB2 Version 9.5 or later.
Bit position | Compatibility feature | Description |
---|---|---|
1 (0x01) | ROWNUM | Enables the use of ROWNUM as a synonym for ROW_NUMBER() OVER(), and permits ROWNUM to appear in the WHERE clause of SQL statements. |
2 (0x02) | DUAL | Resolves unqualified table references to 'DUAL' as SYSIBM.DUAL. |
3 (0x04) | Outer join operator | Enables support for the outer join operator (+). |
4 (0x08) | Hierarchical queries | Enables support for hierarchical queries using the CONNECT BY clause. |
5 (0x10) | NUMBER data type 1 | Enables the NUMBER data type and associated numeric processing. When you create a database with this support enabled, the number_compat database configuration parameter is set to ON. |
6 (0x20) | VARCHAR2 data type 1 | Enables the VARCHAR2 and NVARCHAR2 data types and associated character string processing. When you create a database with this support enabled, the varchar2_compat database configuration parameter is set to ON. |
7 (0x40) | DATE data type 1 | Enables use of the DATE data type as TIMESTAMP(0), a combined date and time value. When you create a database with this support enabled, the date_compat database configuration parameter is set to ON. |
8 (0x80) | TRUNCATE TABLE | Enables alternate semantics for the TRUNCATE statement, under which IMMEDIATE is an optional keyword that is assumed to be the default if not specified. An implicit commit operation is performed before the TRUNCATE statement executes if the TRUNCATE statement is not the first statement in the logical unit of work. |
9 (0x100) | Character literals | Enables the assignment of the CHAR or GRAPHIC data type (instead of the VARCHAR or VARGRAPHIC data type) to character and graphic string constants whose byte length is less than or equal to 254. |
10 (0x200) | Collection methods | Enables the use of methods to perform operations on arrays, such as first, last, next, and previous. Also enables the use of parentheses in place of square brackets in references to specific elements in an array; for example, array1(i) refers to element i of array1. |
11 (0x400) | Data dictionary-compatible views 1 | Enables the creation of data dictionary-compatible views. |
12 (0x800) | PL/SQL compilation 2 | Enables the compilation and execution of PL/SQL statements and language elements. |
13 (0x1000) | Insensitive cursor | Enables cursors defined WITH RETURN to be insensitive if the select-statement does not explicitly specify FOR UPDATE |
14 (0x2000) | INOUT parameter | Enables the specification of DEFAULT for INOUT parameter declarations |
17 (0x10000) | SQL data access level enforcement | Enables run-time routine SQL data access level enforcement |
|
A new setting for the registry variable does not take effect until after the instance has been stopped and then restarted. Existing DB2 packages must be rebound for the change to take effect; packages that are not rebound explicitly will pick up the change on the next implicit rebind.
db2set DB2_COMPATIBILITY_VECTOR=ORA
db2stop
db2start
db2set DB2_COMPATIBILITY_VECTOR=
db2stop
db2start
Note that if a database has been created with
the NUMBER data type or the VARCHAR2 data type enabled, use of the
DATE data type as TIMESTAMP(0) enabled, or the creation of Oracle
data dictionary-compatible views enabled, the database will still
be enabled for these features after this db2set command
executes.