This is the multi-page printable view of this section. Click here to print.
DB2 Database Protector
- 1: Understanding the Architecture
- 2: Verifying the System Requirements
- 3: Preparing the Environment
- 3.1: Extracting the Installation Package
- 3.2: Installing the Log Forwarder
- 3.3: Installing the RPAgent
- 4: Installing the DB2 Database Protector
- 5: Configuring the DB2 Database Protector
- 6: Uninstalling the DB2 Database Protector
- 7: Upgrading the DB2 Database Protector
1 - Understanding the Architecture
The architecture for the DB2 Database Protector is depicted in the image below.

| Component | Description |
|---|---|
| RPAgent | A daemon running on each node that downloads the package from the ESA over a TLS channel using the installed Certificates. |
| Log Forwarder | A daemon running on each node that routes the audit logs and application logs to the ESA/Audit Store. |
| config.ini | A file on each node containing the set of configuration parameters to modify the protector behavior. |
| DBP Layer | Contains the Database Protector UDFs and APIs. |
| Core | The set of various libraries that provide the Protegrity Core functionality. |
2 - Verifying the System Requirements
Ensure that the following prerequisites are met:
- The DB2 Database is installed and configured.
- Enterprise Security Administrator (ESA) is installed, configured, and running.
- The IP address or host name of the ESA is noted.
- The Policy Management (PIM) module is initialized on ESA. The initialization of PIM ensures that cryptographic keys for protecting data and the policy repository are created.
- Download and save the DB2 Database Protector,
DatabaseProtector_Linux-ALL-64_x86-64_DB2-ALL-64_<DBP_version>.tgz, made available by Protegrity. - Backup the databases where the DB2 Database Protector and UDFs would be installed.
- Access to the database server as the
sudoaccess user is available. This permission is required to install all the components. - Access to the DB2 database as the database user is available.
- The following permissions are available to the user and group to install and uninstall the UDFs:
- GRANT DBADM ON DATABASE TO USER <user_name>;
- GRANT DBADM ON DATABASE TO GROUP <user_name>;
- GRANT CONNECT ON DATABASE TO USER <user_name>;
- GRANT CREATEIN, ALTERIN, DROPIN ON SCHEMA PTY TO USER <user_name>;
- GRANT ACCESSCTRL ON DATABASE TO USER <user_name>;
3 - Preparing the Environment
The steps to prepare the environment to install the DB2 Database Protector are explained in the following sub-sections.
3.1 - Extracting the Installation Package
- Log in to the DB2 database server with an account having the required privileges.
- Save the DB2 database protector installation package,
DatabaseProtector_Linux-ALL-64_x86-64_DB2-ALL-64_<DBP_version>.tgz, made available by Protegrity, in any sample directory. For example,/opt/protegrity/. - Navigate to the
/opt/protegrity/directory. - To extract the contents, run the following command:
tar -xvf DatabaseProtector_Linux-ALL-64_x86-64_DB2-ALL-64_<DBP_version>.tgz - Press ENTER.
The command extracts the package and the signature files.DatabaseProtector_Linux-ALL-64_x86-64_DB2-ALL-64_<DBP_version>.tgz signatures/ signatures/DatabaseProtector_Linux-ALL-64_x86-64_DB2-ALL-64_<DBP_version>.tgz_10.0.sig - To extract the contents of the installation package, run the following command:
tar -xvf DatabaseProtector_Linux-ALL-64_x86-64_DB2-ALL-64_<DBP_version>.tgz - Press ENTER.
The command extracts the files from the package.LogforwarderSetup_Linux_x64_<DBP_version>.sh RPAgentSetup_Linux_x64_<DBP_version>.sh PepDB2Setup_Linux_x64_<DBP_version>.sh U.S.Patent.No.6,321,201.Legend.txt
3.2 - Installing the Log Forwarder
- Log in to the database server as the user that has the permissions to install the Log Forwarder. Usually, this tends to be the instance owner.
- Navigate to the directory where the installation files are extracted.
- To install the Log Forwarder, run the following command:
./LogforwarderSetup_Linux_x64_<DBP_version>.sh - Press ENTER.
The prompt to enter the audit store endpoint appears.Enter the audit store endpoint (host), alternative (host:port) to use another port than the default port 9200 : - Enter the IP address of the audit store.
- Press ENTER.
The prompt to enter additional endpoint appears.Audit store endpoints: <Audit_store_IP_address>:9200 Do you want to add another audit store endpoint? [y/n]: - To skip adding additional endpoints, type
n. - Press ENTER.
The prompt to continue the installation appears.These audit store endpoints will be added: <Audit_store_IP_address>:9200 Type 'y' to accept or 'n' to abort installation: - To continue the installation, type
y. - Press ENTER.
The script extracts the files and installs the Log Forwarder.Unpacking... Extracting files... Protegrity Log Forwarder installed in /opt/protegrity/logforwarder. - Navigate to the
/opt/protegrity/logforwarder/bindirectory. - To start the Log Forwarder, run the following command:
./logforwarderctrl start
3.3 - Installing the RPAgent
Before you begin
Before proceeding with the RPA installation in secure mode, ensure that the required CA certificate is available and trusted on the system.
For ESA
Download the certificate from ESA.
For more information about downloading certificates from ESA, refer to Manage Certificates.
After obtaining the certificate, configure the system environment variable:
| Variable | Value |
|---|---|
| SSL_CERT_FILE | Full path to the certificate file. For example, /<certificate_location>/CA.pem |
Ensure the ESA hostname or IP is present in the ESA TLS certificate (SAN or CN), and it is resolvable from the RPAgent host.
After the CA certificate is available, proceed with the RPAgent installation.
Install the RPAgent
- Log in to the database server as the user that has permissions to install the RPAgent.
- Navigate to the directory where the installation files are extracted.
- To install the RPAgent, run the following command:
./RPAgentSetup_Linux_x64_<DBP_version>.sh - Press ENTER.
The prompt to enter ESA hostname or IP address appears.Please enter upstream host name or IP address[]: - Enter ESA FQDN.
- Press ENTER.
The prompt to enter the username to download the certificates appears.Please enter the user name for downloading certificates[]: - Enter the username to download the certificates from ESA.
- Press ENTER.
The prompt to enter the password to download the certificates appears.Please enter the password for downloading certificates[]: - Enter the password.
- Press ENTER.
The script connects to the ESA, retrieves the JWT token, extracts the certificates, and installs the RPAgent.Unpacking... Extracting files... Certificate validation successful. Obtaining token from <ESA_FQDN>:25400... Downloading certificates from <ESA_FQDN>:25400... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 11264 100 11264 0 0 156.6k 0 0 Extracting certificates... Certificates successfully downloaded and stored in /opt/protegrity/rpagent/data Protegrity RPAgent installed in /opt/protegrity/rpagent. - Navigate to the
/opt/protegrity/rpagent/bindirectory. - To start the RPAgent, run the following command:
./rpagentctrl start
4 - Installing the DB2 Database Protector
This section describes the procedure to install the DB2 Database Protector and create the required User‑Defined Functions (UDFs). The process includes instructions to install the Policy Enforcement Point (PEP) and creating the UDFs.
4.1 - Installing the Policy Enforcement Point (PEP)
- Log in to the node where the installation files are extracted.
- To install the DB2 objects, run the following command:
./PepDB2Setup_Linux_x64_<DBP_version>.sh - Press ENTER.
The prompt to continue appears.***************************************************** Welcome to the Database Protector Setup Wizard ***************************************************** This will install the db2 objects on your computer Do you want to continue? [yes or no] - To continue, type
yes. - Press ENTER.
The prompt to enter the installation directory appears.Enter installation directory. A new directory will be created in the installation directory. [/opt/protegrity]: - Enter the location to install the DB2 objects.
- Press ENTER.
The prompt to specify the database name to install the objects appears.Enter name of database where the UDFs will be installed. [PROTEGRITY]: - Enter the name of the database to install the objects.
Note: In case of a failure to specify the database name, the script will use PROTEGRITY as the default database name to install the UDFs.
- Press ENTER.
The command extracts the files and installs the objects.Unpacking... Extracting files... db2 objects installed in /opt/protegrity/databaseprotector/db2.
4.2 - Creating the User Defined Functions (UDFs)
The DB2 Database Protector provides the createobjects.sql script to create or install the UDFs.
Note: Before installing the UDFs, ensure that the RPAgent and Log Forwarder services are installed and running.
To create the UDFs for the DB2 Database Protector:
- Connect to the database as the user with the required privileges to create the UDFs.
- Navigate to the
/opt/protegrity/databaseprotector/db2/sqlscripts/directory. - To install the UDFs, run the following command:
db2 -tvf createobjects.sql - Press ENTER.
The script creates all the user-defined functions.CONNECT TO <database_name> Database Connection Information Database server = DB2/LINUXX8664 11.5.0.0 SQL authorization ID = DB2INST1 Local database alias = <database_name> CREATE FUNCTION pty.ins_enc_varchar(INTEGER, VARCHAR(64), VARCHAR(32672),INTEGER) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty31 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_varchar(INTEGER, VARCHAR(64), VARCHAR(32672),INTEGER) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty51 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_varchar(INTEGER, VARCHAR(64), VARCHAR(32672) FOR BIT DATA,INTEGER) RETURNS VARCHAR(32672) SPECIFIC pty71 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_varchar(INTEGER, VARCHAR(64), VARCHAR(32672), INTEGER ) RETURNS VARCHAR(32672) SPECIFIC pty_ins_vchar EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_varchar(INTEGER, VARCHAR(64), VARCHAR(32672), INTEGER ) RETURNS VARCHAR(32672) SPECIFIC pty_upd_vchar EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_varchar(INTEGER, VARCHAR(64), VARCHAR(32672) , INTEGER ) RETURNS VARCHAR(32672) SPECIFIC pty_sel_vchar EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_hash_varchar(INTEGER, VARCHAR(64), VARCHAR(32672),INTEGER) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty98 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!hashInsertVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_hash_varchar(INTEGER, VARCHAR(64), VARCHAR(32672),INTEGER) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty99 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!hashUpdateVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_varcharfbd(INTEGER, VARCHAR(64), VARCHAR(32672) FOR BIT DATA,INTEGER) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty32 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_varcharfbd(INTEGER, VARCHAR(64), VARCHAR(32672) FOR BIT DATA,INTEGER) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty52 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_varcharfbd(INTEGER, VARCHAR(64), VARCHAR(32672) FOR BIT DATA,INTEGER) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty72 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_varcharfbd(INTEGER, VARCHAR(64), VARCHAR(32672) FOR BIT DATA, INTEGER ) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty_ins_vchar_fbd EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_varcharfbd(INTEGER, VARCHAR(64), VARCHAR(32672) FOR BIT DATA, INTEGER ) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty_upd_vchar_fbd EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_varcharfbd(INTEGER, VARCHAR(64), VARCHAR(32672) FOR BIT DATA, INTEGER ) RETURNS VARCHAR(32672) FOR BIT DATA SPECIFIC pty_sel_vchar_fbd EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_char(INTEGER, VARCHAR(64), VARCHAR(254),INTEGER) RETURNS VARCHAR(290) FOR BIT DATA SPECIFIC pty33 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_char(INTEGER, VARCHAR(64), VARCHAR(254),INTEGER) RETURNS VARCHAR(290) FOR BIT DATA SPECIFIC pty53 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_char(INTEGER, VARCHAR(64), VARCHAR(290) FOR BIT DATA,INTEGER) RETURNS VARCHAR(254) SPECIFIC pty73 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_char(INTEGER, VARCHAR(64), VARCHAR(254), INTEGER ) RETURNS VARCHAR(305) SPECIFIC pty_ins_char EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_char(INTEGER, VARCHAR(64), VARCHAR(254), INTEGER ) RETURNS VARCHAR(305) SPECIFIC pty_upd_char EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_char(INTEGER, VARCHAR(64), VARCHAR(305), INTEGER ) RETURNS VARCHAR(254) SPECIFIC pty_sel_char EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_unicode_varchar(INTEGER, VARCHAR(64), VARCHAR(32672), INTEGER ) RETURNS VARCHAR(32672) SPECIFIC pty_ins_unicode_vchar EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertUnicodeVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_unicode_varchar(INTEGER, VARCHAR(64), VARCHAR(32672), INTEGER ) RETURNS VARCHAR(32672) SPECIFIC pty_upd_unicode_vchar EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateUnicodeVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_unicode_varchar(INTEGER, VARCHAR(64), VARCHAR(32672) , INTEGER ) RETURNS VARCHAR(32672) SPECIFIC pty_sel_unicode_vchar EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectUnicodeVarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_charfbd(INTEGER, VARCHAR(64), VARCHAR(254) FOR BIT DATA,INTEGER) RETURNS VARCHAR(290) FOR BIT DATA SPECIFIC pty34 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_charfbd(INTEGER, VARCHAR(64), VARCHAR(254) FOR BIT DATA,INTEGER) RETURNS VARCHAR(290) FOR BIT DATA SPECIFIC pty54 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_charfbd(INTEGER, VARCHAR(64), VARCHAR(290) FOR BIT DATA,INTEGER) RETURNS VARCHAR(254) FOR BIT DATA SPECIFIC pty74 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_charfbd(INTEGER, VARCHAR(64), VARCHAR(254) FOR BIT DATA, INTEGER ) RETURNS VARCHAR(254) FOR BIT DATA SPECIFIC pty_ins_char_fbd EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_charfbd(INTEGER, VARCHAR(64), VARCHAR(254) FOR BIT DATA, INTEGER ) RETURNS VARCHAR(254) FOR BIT DATA SPECIFIC pty_upd_char_fbd EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_charfbd(INTEGER, VARCHAR(64), VARCHAR(254) FOR BIT DATA, INTEGER ) RETURNS VARCHAR(254) FOR BIT DATA SPECIFIC pty_sel_char_fbd EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectVarcharFBD' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_lvarchar(INTEGER, VARCHAR(64), LONG VARCHAR,INTEGER) RETURNS LONG VARCHAR FOR BIT DATA SPECIFIC pty35 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_lvarchar(INTEGER, VARCHAR(64), LONG VARCHAR,INTEGER) RETURNS LONG VARCHAR FOR BIT DATA SPECIFIC pty55 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_lvarchar(INTEGER, VARCHAR(64), LONG VARCHAR FOR BIT DATA,INTEGER) RETURNS LONG VARCHAR SPECIFIC pty75 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_lvarchar(INTEGER, VARCHAR(64), LONG VARCHAR, INTEGER ) RETURNS LONG VARCHAR SPECIFIC pty_ins_lvchar EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_lvarchar(INTEGER, VARCHAR(64), LONG VARCHAR, INTEGER ) RETURNS LONG VARCHAR SPECIFIC pty_upd_lvchar EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_lvarchar(INTEGER, VARCHAR(64), LONG VARCHAR, INTEGER ) RETURNS LONG VARCHAR SPECIFIC pty_sel_lvchar EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_lvcfbd(INTEGER, VARCHAR(64), LONG VARCHAR FOR BIT DATA,INTEGER) RETURNS LONG VARCHAR FOR BIT DATA SPECIFIC pty36 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_lvcfbd(INTEGER, VARCHAR(64), LONG VARCHAR FOR BIT DATA,INTEGER) RETURNS LONG VARCHAR FOR BIT DATA SPECIFIC pty56 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_lvcfbd(INTEGER, VARCHAR(64), LONG VARCHAR FOR BIT DATA,INTEGER) RETURNS LONG VARCHAR FOR BIT DATA SPECIFIC pty76 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_lvcfbd(INTEGER, VARCHAR(64), LONG VARCHAR FOR BIT DATA, INTEGER ) RETURNS LONG VARCHAR FOR BIT DATA SPECIFIC pty_ins_lvchar_fbd EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_lvcfbd(INTEGER, VARCHAR(64), LONG VARCHAR FOR BIT DATA, INTEGER ) RETURNS LONG VARCHAR FOR BIT DATA SPECIFIC pty_upd_lvchar_fbd EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_lvcfbd(INTEGER, VARCHAR(64), LONG VARCHAR FOR BIT DATA, INTEGER ) RETURNS LONG VARCHAR FOR BIT DATA SPECIFIC pty_sel_lvchar_fbd EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectLongvarchar' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_date(INTEGER, VARCHAR(64), DATE,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty37 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertDate' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_date(INTEGER, VARCHAR(64), DATE,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty57 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateDate' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_date(INTEGER, VARCHAR(64), VARCHAR(34) FOR BIT DATA,INTEGER) RETURNS DATE SPECIFIC pty77 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectDate' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_date(INTEGER, VARCHAR(64), DATE, INTEGER ) RETURNS DATE SPECIFIC pty_ins_date EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertDate' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_date(INTEGER, VARCHAR(64), DATE, INTEGER ) RETURNS DATE SPECIFIC pty_upd_date EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateDate' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_date(INTEGER, VARCHAR(64), DATE, INTEGER ) RETURNS DATE SPECIFIC pty_sel_date EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectDate' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_time(INTEGER, VARCHAR(64), TIME,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty38 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertTime' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_time(INTEGER, VARCHAR(64), TIME,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty58 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateTime' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_time(INTEGER, VARCHAR(64), VARCHAR(34) FOR BIT DATA,INTEGER) RETURNS TIME SPECIFIC pty78 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectTime' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_time(INTEGER, VARCHAR(64), TIME, INTEGER ) RETURNS TIME SPECIFIC pty_ins_time EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertTime' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_time(INTEGER, VARCHAR(64), TIME, INTEGER ) RETURNS TIME SPECIFIC pty_upd_time EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateTime' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_time(INTEGER, VARCHAR(64), TIME, INTEGER ) RETURNS TIME SPECIFIC pty_sel_time EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectTime' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_timestamp(INTEGER, VARCHAR(64), TIMESTAMP,INTEGER) RETURNS VARCHAR(50) FOR BIT DATA SPECIFIC pty39 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertTimestamp' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_timestamp(INTEGER, VARCHAR(64), TIMESTAMP,INTEGER) RETURNS VARCHAR(50) FOR BIT DATA SPECIFIC pty59 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateTimestamp' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_timestamp(INTEGER, VARCHAR(64), VARCHAR(50) FOR BIT DATA,INTEGER) RETURNS TIMESTAMP SPECIFIC pty79 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectTimestamp' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_timestamp(INTEGER, VARCHAR(64), TIMESTAMP, INTEGER ) RETURNS TIMESTAMP SPECIFIC pty_ins_timestamp EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertTimestamp' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_timestamp(INTEGER, VARCHAR(64), TIMESTAMP, INTEGER ) RETURNS TIMESTAMP SPECIFIC pty_upd_timestamp EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateTimestamp' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_timestamp(INTEGER, VARCHAR(64), TIMESTAMP, INTEGER ) RETURNS TIMESTAMP SPECIFIC pty_sel_timestamp EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectTimestamp' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_integer(INTEGER, VARCHAR(64), INTEGER,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty40 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertInteger' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_integer(INTEGER, VARCHAR(64), INTEGER,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty60 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateInteger' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_integer(INTEGER, VARCHAR(64), VARCHAR(34) FOR BIT DATA,INTEGER) RETURNS INTEGER SPECIFIC pty80 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectInteger' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_integer(INTEGER, VARCHAR(64), INTEGER, INTEGER ) RETURNS INTEGER SPECIFIC pty_ins_int EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertInteger' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_integer(INTEGER, VARCHAR(64), INTEGER, INTEGER ) RETURNS INTEGER SPECIFIC pty_upd_int EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateInteger' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_integer(INTEGER, VARCHAR(64), INTEGER, INTEGER ) RETURNS INTEGER SPECIFIC pty_sel_int EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectInteger' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_smallint(INTEGER, VARCHAR(64), SMALLINT,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty41 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertSmallint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_smallint(INTEGER, VARCHAR(64), SMALLINT,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty61 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateSmallint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_smallint(INTEGER, VARCHAR(64), VARCHAR(34) FOR BIT DATA,INTEGER) RETURNS SMALLINT SPECIFIC pty81 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectSmallint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_smallint(INTEGER, VARCHAR(64), SMALLINT, INTEGER ) RETURNS SMALLINT SPECIFIC pty_ins_smallint EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertSmallint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_smallint(INTEGER, VARCHAR(64), SMALLINT, INTEGER ) RETURNS SMALLINT SPECIFIC pty_upd_smallint EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateSmallint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_smallint(INTEGER, VARCHAR(64), SMALLINT, INTEGER ) RETURNS SMALLINT SPECIFIC pty_sel_smallint EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectSmallint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_bigint(INTEGER, VARCHAR(64), BIGINT,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty42 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertBigint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_bigint(INTEGER, VARCHAR(64), BIGINT,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty62 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateBigint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_bigint(INTEGER, VARCHAR(64), VARCHAR(34) FOR BIT DATA,INTEGER) RETURNS BIGINT SPECIFIC pty82 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectBigint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_bigint(INTEGER, VARCHAR(64), BIGINT, INTEGER ) RETURNS BIGINT SPECIFIC pty_ins_bigint EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertBigint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_bigint(INTEGER, VARCHAR(64), BIGINT, INTEGER ) RETURNS BIGINT SPECIFIC pty_upd_bigint EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateBigint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_bigint(INTEGER, VARCHAR(64), BIGINT, INTEGER ) RETURNS BIGINT SPECIFIC pty_sel_bigint EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectBigint' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_real(INTEGER, VARCHAR(64), REAL,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty43 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertReal' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_real(INTEGER, VARCHAR(64), REAL,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty63 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateReal' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_real(INTEGER, VARCHAR(64), VARCHAR(34) FOR BIT DATA,INTEGER) RETURNS REAL SPECIFIC pty83 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectReal' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_real(INTEGER, VARCHAR(64), REAL, INTEGER ) RETURNS REAL SPECIFIC pty_ins_real EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertReal' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_real(INTEGER, VARCHAR(64), REAL, INTEGER ) RETURNS REAL SPECIFIC pty_upd_real EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateReal' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_real(INTEGER, VARCHAR(64), REAL, INTEGER ) RETURNS REAL SPECIFIC pty_sel_real EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectReal' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_double(INTEGER, VARCHAR(64), DOUBLE,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty44 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertDouble' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_double(INTEGER, VARCHAR(64), DOUBLE,INTEGER) RETURNS VARCHAR(34) FOR BIT DATA SPECIFIC pty64 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateDouble' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_double(INTEGER, VARCHAR(64), VARCHAR(34) FOR BIT DATA,INTEGER) RETURNS DOUBLE SPECIFIC pty84 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectDouble' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_double(INTEGER, VARCHAR(64), DOUBLE, INTEGER ) RETURNS DOUBLE SPECIFIC pty_ins_double EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertDouble' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_double(INTEGER, VARCHAR(64), DOUBLE, INTEGER ) RETURNS DOUBLE SPECIFIC pty_upd_double EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateDouble' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_double(INTEGER, VARCHAR(64), DOUBLE, INTEGER ) RETURNS DOUBLE SPECIFIC pty_sel_double EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectDouble' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_blob(INTEGER, VARCHAR(64), BLOB(100K),INTEGER) RETURNS BLOB(102434) SPECIFIC pty01 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertBlob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_blob(INTEGER, VARCHAR(64), BLOB(100K),INTEGER) RETURNS BLOB(102434) SPECIFIC pty02 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateBlob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_blob(INTEGER, VARCHAR(64), BLOB(102434),INTEGER) RETURNS BLOB(100K) SPECIFIC pty03 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectBlob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_blob(INTEGER, VARCHAR(64), BLOB(100K), INTEGER ) RETURNS BLOB(100K) SPECIFIC pty_ins_blob EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertBlob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_blob(INTEGER, VARCHAR(64), BLOB(100K), INTEGER ) RETURNS BLOB(100K) SPECIFIC pty_upd_blob EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateBlob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_blob(INTEGER, VARCHAR(64), BLOB(100K), INTEGER ) RETURNS BLOB(100K) SPECIFIC pty_sel_blob EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectBlob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_enc_clob(INTEGER, VARCHAR(64), CLOB(5K),INTEGER) RETURNS BLOB(5154) SPECIFIC pty11 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptInsertClob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_enc_clob(INTEGER, VARCHAR(64), CLOB(5K),INTEGER) RETURNS BLOB(5154) SPECIFIC pty12 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!encryptUpdateClob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_dec_clob(INTEGER, VARCHAR(64), BLOB(5154),INTEGER) RETURNS CLOB(5K) SPECIFIC pty13 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!decryptSelectClob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.ins_clob(INTEGER, VARCHAR(64), CLOB(5K), INTEGER ) RETURNS CLOB(5376) SPECIFIC pty_ins_clob EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!insertClob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.upd_clob(INTEGER, VARCHAR(64), CLOB(5K), INTEGER ) RETURNS CLOB(5376) SPECIFIC pty_upd_clob EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!updateClob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.sel_clob(INTEGER, VARCHAR(64), CLOB(5376), INTEGER ) RETURNS CLOB(5K) SPECIFIC pty_sel_clob EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!selectClob' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.have_ins_perm(INTEGER, VARCHAR(64)) RETURNS INTEGER SPECIFIC pty93 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!haveInsertPerm' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.have_upd_perm(INTEGER, VARCHAR(64)) RETURNS INTEGER SPECIFIC pty94 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!haveUpdatePerm' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.have_sel_perm(INTEGER, VARCHAR(64)) RETURNS INTEGER SPECIFIC pty92 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!haveSelectPerm' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.toggle_trace(INTEGER) RETURNS INTEGER SPECIFIC pty95 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!toggleTrace' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.getversion() RETURNS VARCHAR(256) SPECIFIC pty101 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!getVersion' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.getcoreversion() RETURNS VARCHAR(256) SPECIFIC ptygetcore EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!ptyCore' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. CREATE FUNCTION pty.whoami() RETURNS VARCHAR(256) SPECIFIC pty102 EXTERNAL NAME '/opt/protegrity/databaseprotector/db2/lib/pepdb2.plm!whoAmI' LANGUAGE c PARAMETER STYLE DB2SQL NOT DETERMINISTIC NOT FENCED NULL CALL NO SQL NO EXTERNAL ACTION SCRATCHPAD 300 FINAL CALL ALLOW PARALLEL DBINFO DB20000I The SQL command completed successfully. GRANT EXECUTE ON FUNCTION pty.* TO PUBLIC DB20000I The SQL command completed successfully. CONNECT RESET DB20000I The SQL command completed successfully. - To view the list of all the installed UDFs, run the following command:
SELECT FUNCNAME FROM SYSCAT.FUNCTIONS WHERE FUNCSCHEMA = 'PTY'; - To verify the successful installation of the UDFs, execute any one of the following queries:The function returns the name of the user that is logged in to the database.
select pty.whoami() from SYSIBM.SYSDUMMY1;The command returns the protector version.select pty.getversion() from SYSIBM.SYSDUMMY1;
5 - Configuring the DB2 Database Protector
The DB2 Database Protector provides the following files that contain different parameters to control the protector behavior:
config.ini- provides parameters to control the protector behavior.rpagent.cfg- provides parameters to control the RPAgent behavior.
Updating the parameters in the config.ini file:
Log in to the node.
Navigate to the
/opt/protegrity/databaseprotector/db2/datadirectory.To open the
config.inifile, run the following command:vi config.iniPress ENTER.
The command opens theconfig.inifile.############################################################################### # Protector configuration ############################################################################### [protector] # Cadence determines how often the protector connects with ESA / proxy to fetch the policy updates in background. # Default is 60 seconds. So by default, every 60 seconds protector tries to fetch the policy updates. # If the cadence is set to "0", then the protector will get the policy only once. # # Default 60. cadence = 60 ############################################################################### # Log Provider Config ############################################################################### [log] # In case that connection to fluent-bit is lost, set how audits/logs are handled # # drop : (default) Protector throws logs away if connection to the fluentbit is lost # error : Protector returns error without protecting/unprotecting # data if connection to the fluentbit is lost mode = drop # Host/IP to fluent-bit where audits/logs will be forwarded from the protector # # Default localhost host = localhostUpdate the parameters, as per the description, in the following table:
Parameter Description cadenceSpecifies the frequency at which the protector retrieves the policy. The default value is 60 seconds. If the cadence is set to “0”, then the protector will get the policy only once. modeSpecifies the approach of handling logs when the connection to the Log Forwarder is lost. Save the changes to the
config.inifile.
Updating the parameters in the rpagent.cfg file:
Log in to the required node.
Navigate to the
/opt/protegrity/rpagent/datadirectory.To open the
rpagent.cfgfile, run the following command:vi rpagent.cfgPress ENTER.
The command opens therpagent.cfgfile.############################################################################### # Resilient Package Sync Config ############################################################################### [sync] # Protocol to use when communicating with the service providing Resilient Packages. # Use 'https' for ESA or 'shmem' for local shared memory. protocol = https # Host/IP to the service providing Resilient Packages host = <IP_address> port = 8443 # Path to CA certificate ca = /opt/protegrity/rpagent/data/CA.pem # Path to client certificate cert = /opt/protegrity/rpagent/data/cert.pem # Path to client certificate key key = /opt/protegrity/rpagent/data/cert.key # Path to a secret file that is used to decrypt the client certificate key. # When using a custom certificate bundle, the 'secretcommand' can instead be # used to execute an external command that obtains the secret. secretfile = /opt/protegrity/rpagent/data/secret.txt ############################################################################### # Log Provider Config ############################################################################### [log] # In case that connection to fluent-bit is lost, set how audits/logs are handled # # drop : (default) Protector throws logs away if connection to the fluentbit is lost # error : Protector returns error without protecting/unprotecting # data if connection to the fluentbit is lost mode = drop # Host/IP to fluent-bit where audits/logs will be forwarded from the protector # # Default localhost host = localhostUpdate the parameters, as per the description, in the following table:
Parameter Description interval Specifies the frequency at which the RPAgent retrieves the policy. The minimum value is 1 second and the maximum value is 86400 seconds. This is an optional parameter and must be included in the Sync section of the rpagent.cfgfile.protocol Specifies the protocol to use when communicating with the service providing Resilient Packages. host Specifies the hostname to the service providing the Resilient packages. port Specifies the port to the service providing the Resilient packages. ca Specifies the path to the CA certificate. cert Specifies the path to the client certificate. key Specifies the path to the client certificate key. secretfile Specifies the path to the secret file that is used to decrypt the client certificate key. mode Specifies the approach of handling logs when the connection to the Log Forwarder is lost. host Specifies the hostname or the IP address to where the Log Forwarder will forward the audit logs from the protector. Save the changes to the
rpagent.cfgfile.
6 - Uninstalling the DB2 Database Protector
The process to uninstall the DB2 Database Protector involves the following steps:
- Dropping the User Defined Functions.
- Uninstalling the RPAgent.
- Uninstalling the Log Forwarder.
- Deleting the installation directory.
Dropping the User Defined Functions
- Log in to the DB2 Database server using the same account used to create the UDFs.
- Navigate to the
/opt/protegrity/databaseprotector/db2/sqlscripts/directory. - To drop the UDFs, run the following command:
db2 -tvf dropobjects.sql - Press ENTER.
The script deletes all the user-defined functions.CONNECT TO <database_name> Database Connection Information Database server = DB2/LINUXX8664 11.5.0.0 SQL authorization ID = DB2INST1 Local database alias = <database_name> DROP FUNCTION pty.ins_enc_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_unicode_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_unicode_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_unicode_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.have_sel_perm DB20000I The SQL command completed successfully. DROP FUNCTION pty.have_ins_perm DB20000I The SQL command completed successfully. DROP FUNCTION pty.have_upd_perm DB20000I The SQL command completed successfully. DROP FUNCTION pty.toggle_trace DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_hash_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_hash_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.getversion DB20000I The SQL command completed successfully. DROP FUNCTION pty.getcoreversion DB20000I The SQL command completed successfully. DROP FUNCTION pty.whoami DB20000I The SQL command completed successfully. CONNECT RESET DB20000I The SQL command completed successfully.
Uninstalling the RPAgent
Before uninstalling the RPAgent, Protegrity recommends creating a backup.
- Log in to the DB2 Database server.
- Navigate to the
/opt/protegrity/rpagent/bin/directory. - To stop the RPAgent, run the following command:
rpagentctrl stop - Press ENTER. The command stops the RPAgent service.
- Navigate to the
/opt/protegritydirectory. - Delete the
/opt/protegrity/rpagent/directory.
Uninstalling the Log Forwarder
Before uninstalling the Log Forwarder, Protegrity recommends creating a backup.
- Log in to the DB2 Database server.
- Navigate to the
/opt/protegrity/logforwarder/bin/directory. - To stop the Log Forwarder, run the following command:
logforwarderctrl stop - Press ENTER. The command stops the Log Forwarder.
- Navigate to the
/opt/protegritydirectory. - Delete the
/opt/protegrity/logforwarder/directory.
Deleting the installation directory
To complete the uninstall process, delete the installation directory.
Note: Before deleting the installation directory, ensure the database and all the services are stopped.
- Log in to the DB2 Database server.
- Navigate to the
/opt/protegrity/databaseprotector/directory. - To delete the db2 directory, run the following command:
rm -rf db2
7 - Upgrading the DB2 Database Protector
To upgrade the DB2 Database Protector:
- Drop the existing UDFs.
- Uninstall the existing version of the protector.
- Install the new version of the protector.
- Start the RPAgent.
- Create the new user-defined functions.
Dropping the Existing User Defined Functions
- Log in to the DB2 Database server using the same account used to create the UDFs.
- Navigate to the
/opt/protegrity/databaseprotector/db2/sqlscripts/directory. - To drop the UDFs, run the following command:
db2 -tvf dropobjects.sql - Press ENTER.
The script deletes all the user-defined functions.CONNECT TO <database_name> Database Connection Information Database server = DB2/LINUXX8664 11.5.0.0 SQL authorization ID = DB2INST1 Local database alias = <database_name> DROP FUNCTION pty.ins_enc_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_unicode_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_unicode_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_unicode_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_varcharfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_char DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_charfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_lvarchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_lvcfbd DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_date DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_time DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_timestamp DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_integer DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_smallint DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_bigint DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_real DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_double DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_blob DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_enc_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_enc_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_dec_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.sel_clob DB20000I The SQL command completed successfully. DROP FUNCTION pty.have_sel_perm DB20000I The SQL command completed successfully. DROP FUNCTION pty.have_ins_perm DB20000I The SQL command completed successfully. DROP FUNCTION pty.have_upd_perm DB20000I The SQL command completed successfully. DROP FUNCTION pty.toggle_trace DB20000I The SQL command completed successfully. DROP FUNCTION pty.ins_hash_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.upd_hash_varchar DB20000I The SQL command completed successfully. DROP FUNCTION pty.getversion DB20000I The SQL command completed successfully. DROP FUNCTION pty.getcoreversion DB20000I The SQL command completed successfully. DROP FUNCTION pty.whoami DB20000I The SQL command completed successfully. CONNECT RESET DB20000I The SQL command completed successfully.
Uninstalling the Existing Version of the Protector
To uninstall the existing version of the protector:
- Uninstall the RPAgent.
- Uninstall the Log Forwarder.
Uninstalling the RPAgent
Before uninstalling the RPAgent, Protegrity recommends creating a backup.
- Log in to the DB2 Database server.
- Navigate to the
/opt/protegrity/rpagent/bin/directory. - To stop the RPAgent, run the following command:
rpagentctrl stop - Navigate to the
/opt/protegrity/directory. - Delete the
/opt/protegrity/rpagent/directory.
Uninstalling the Log Forwarder
Before uninstalling the Log Forwarder, Protegrity recommends creating a backup.
- Log in to the DB2 Database server.
- Navigate to the
/opt/protegrity/logforwarder/bindirectory. - To stop the Log Forwarder, run the following command:
logforwarderctrl stop - Navigate to the
/opt/protegrity/directory. - Delete the
/opt/protegrity/logforwarder/directory.
Deleting the Installation Directory
After removing the RPAgent and the Log Forwarder, delete the installation directory.
Note: Before deleting the installation directory, ensure the database and all the services are stopped.
- Log in to the DB2 Database server.
- Navigate to the
/opt/protegrity/databaseprotector/directory. - To delete the db2 directory, run the following command:
rm -rf db2
Installing the New Version of the Protector
After all the services are stopped and components removed, install the latest version of the protector, recreate the UDFs, and restart the RPAgent.
Note: For more information on installing the protector, refer to Installing the DB2 Database Protector.
Creating the User Defined Functions
For more information on creating the UDFs, refer to Creating the User Defined Functions.
Starting the RPAgent
- Log in to the DB2 Database server.
- Navigate to the
/opt/protegrity/rpagent/bindirectory. - To start the RPAgent, run the following command:
rpagentctrl start