Personal tools
You are here: Home DB2 How To's How to Create and Compile USER EXIT
Navigation
Log in


Forgot your password?
 
Document Actions

How to Create and Compile USER EXIT

A user exit is an executable file that the DBMS calls for archive and retrieval of log files.

 Sample user exit are supplied in $HOME/sqllib/samples/c of the instance owner. At the beginning of each sample file is a good description on how DB2 uses the specific user exit and which parameters you should set. For Tivoli Storage Manager, the user exit sample is db2uext2.cadsm. Perform the following steps to create the user exit executable.

1. Become root, then copy the db2uext2.cadsm to your working directory and

rename it to db2uext2.c. Change file ownership and permissions so the

instance owner can modify the code.


2. Read the comments at the beginning of the source code to understand the

defined variables. Change the defined variables to suit your environment.

In our lab, we took the default setting and only change the path of the user

exit logfiles (AUDIT_ERROR_PATH).


3. As the instance owner, compile the C program. In our lab, we used the

Visual Age C Compiler V4.4. Check your compiler for the correct syntax.

The implementation of the use exit requires a full offline database backup

in order to become effective. Ensure that you allocate sufficient time for

doing this backup.

Note

#define BUFFER_SIZE 4096 /* transmit or receive the log */

/* file in 4k portions */

#define AUDIT_ACTIVE 1 /* enable audit trail logging */

#define ERROR_ACTIVE 1 /* enable error trail logging */

#define AUDIT_ERROR_PATH "/home/db2inst2/tsm/" /* path must en

d with a slash */

#define AUDIT_ERROR_ATTR "a" /* append to text file */

compilar 32bits:

$ cc -I/opt/tivoli/tsm/client/api/bin/samples -L/usr/lib -lApiDS -o db2uext2 db2uext2.c

compilar 64bits: (com o ususário root)

/usr/vacpp/bin/cc_r -o db2uext2 -q64 db2uext2.c /usr/tivoli/tsm/client/api/bin64/libApiTSM64.a -I/usr/tivoli/tsm/client/api/bin64/sample


4. Copy the db2uext2 file into the $HOME/sqllib/adm directory of the

instance owner. We do not recommend that you copy the file to the

$HOME/sqllib/bin directory, because this directory is only a link to a

directory in the /opt/IBMdb2/V7.1/bin directory. Make sure the instance

owner has execute permission for this file.

Security Awareness
Would you like your company to implement gamification into your security awareness program?





Polls