Oracle Database Protector
The Oracle Database Protector can be installed by the user with sudoer permissions and the Oracle admin user. This section discusses the installation with a user having the sudoer permissions. Wherever possible, the oracle commands for Oracle admin user would be provided.
To use the Oracle Database Protector, update the environment variables in Oracle.
User Privileges
The Oracle Database Protector installation can be broadly divided into installing the RPAgent and installing the UDFs. The RPAgent installation establishes the connection between the ESA and the Database Protector, while the UDFs use the policies to enforce protection on the data.
User for retrieving users from Oracle Database
For policies to be defined in the ESA, users can be imported from any of the multiple sources such as Active Directory (AD), file, or an Oracle database. To pull users from an Oracle database, a membersource must be created. The following information applies if the users must be pulled from an Oracle database.
To retrieve users from the Member Source Server:
- Either create a functional database user with create session permissions
or
Use an existing user with create session permissions - Grant the following two specific grants:
- Grant select on sys.dba_roles to protegrity
- Grant select on sys.dba_role_privs to protegrity
Where, protegrity is the functional user created.
User for installing and dropping the UDFs
After the RPAgent is installed, the UDFs can be installed on the Oracle Database server. Create a functional database user with the following privilege rights:
- CREATE USER <user_name> IDENTIFIED BY <user_password>;
- GRANT UNLIMITED TABLESPACE to <user_name>;
- GRANT CREATE SESSION to <user_name>;
- GRANT SELECT ANY TABLE to <user_name>;
- GRANT CREATE LIBRARY to <user_name>;
- GRANT CREATE PROCEDURE to <user_name>;
- GRANT DROP PUBLIC SYNONYM to <user_name>;
- GRANT CREATE PUBLIC SYNONYM to <user_name>;
- GRANT CREATE TABLE to <user_name>;
- GRANT CREATE VIEW to <user_name>;
- GRANT CREATE TYPE TO <user_name>;
- GRANT DROP ANY VIEW TO <user_name>;
- GRANT DROP ANY PROCEDURE TO <user_name>;
- GRANT DROP ANY LIBRARY TO <user_name>;
- GRANT DROP ANY TYPE TO <user_name>;
- GRANT DROP PUBLIC SYNONYM TO <user_name>;
Where, <user_name> is the functional user created.
Important: Protegrity manages permissions that are configured within the Protegrity system. Any custom permissions outside of Protegrity’s configuration are not handled by the software.
1 - Understanding the Architecture
The architecture for the Oracle 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 - System Requirements
Ensure that the following prerequisites are met:
Note: The following basic requirements apply to both the step-by-step installation of Log Forwarder and RPAgent, as well as when using the master installation script.
- The Oracle Database is installed, configured, and running.
- Enterprise Security Administrator (ESA) version v10.1 is installed, configured, and running.
- The IP address or host name of the ESA is available.
- The Policy Management (PIM) is initialized on ESA (cryptographic keys and policy repository created).
- Download and save the Oracle Database Protector package:
DatabaseProtector_<operating_system>-<arch>_<Oracle_version>-64_<version>.tgz (provided by Protegrity). - The installation directory is granted
755 permissions. - It is recommended to create a backup of the database where Oracle Database Protector and UDFs will be installed.
- A soft link is created for the Oracle 23c library. This issue is observed in Oracle 19c or 21c environments.
- Access to the server is available as:
- Oracle instance owner
- User created specifically for Protegrity.
- Access to the Oracle database is available as
sysdba superuser.
Additional Requirements
Note: These requirements apply only when performing installation or upgrade using the master installation script.
- For Standalone and RAC setup:
- Sudo privileges to run commands for Oracle directories.
- The
rsync utility installed on all nodes. - Executable permissions (chmod +x) is available to the script.
- Adequate disk space for backups, temporary files, and upgrade process.
- The Oracle listener(s) and instance(s) must be running during the upgrade.
- Sudo permissions are available to the automation script to perform install, upgrade, or rollback operations across all the components, such as, Log Forwarder, RPAgent, and the Database Protector.
- For RAC setup:
- SSH access to all the RAC nodes from the local node.
- The
olsnodes utility is installed and available on the local node. - No third-party agent or antivirus interferes with file transfer or process execution.
Note: Before initiating the installation or upgrade, verify that all the components, SQL scripts, and the configuration files are consistent and synchronized across all the nodes. Ensure that all the components, such as, RPAgent, Log Forwarder, and the Database Protector are installed in the same location on all the nodes. Ensure that all the services are in the same state.
3 - Preparing the Environment
The following sub-sections explain how to install each Oracle Database Protector components, Log Forwarder and RPAgent individually. Installing components one by one ensures proper configuration and functionality.
Note: The steps mentioned in the Extracting the Installation Package section is required for both individual component installation and quick installation.
3.1 - Extracting the Installation Package
This section explains the procedure to extract the Oracle Database Protector installation package. It includes steps for saving the installation package, navigating to the appropriate directory, and extracting the required files. These instructions ensure that all components are ready for installation.
- Log in to the Oracle database server with an account having the required privileges.
- Save the Oracle database protector installation package,
DatabaseProtector_<operating_system>-<arch>_<Oracle_distribution>-x64_<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_Oracle-ALL-64_<DBP_version>.tgz
- Press ENTER.
The command extracts the package and the signature files.
DatabaseProtector_Linux-ALL-64_x86-64_Oracle-ALL-64_<DBP_version>.tgz
signatures/
signatures/DatabaseProtector_Linux-ALL-64_x86-64_Oracle-ALL-64_<DBP_version>.tgz_<DBP_version>.sig
- To extract the contents of the installation package, run the following command:
tar -xvf DatabaseProtector_Linux-ALL-64_x86-64_Oracle-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
PepOracleSetup_Linux_x64_<DBP_version>.sh
Install_OracleProtector_<Operating System>_x64_<DBP_version>.sh
U.S.Patent.No.6,321,201.Legend.txt
Note: To automate the installation process, use the master installation script provided in the build:
Install_OracleProtector_Linux_x64_<DBP_version>.sh
For more information, refer the following sections:
3.2 - Installing the Log Forwarder
This section provides instructions to manually install the Log Forwarder on the Oracle database server.
Note: To automate the installation process, use the master installation script provided in the build:
Install_OracleProtector_Linux_x64_<DBP_version>.sh
For more information, refer the following sections:
- 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
no. - 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
yes. - Press ENTER.
The script extracts the files and installs the Log Forwarder.
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity/logforwarder.
3.3 - Installing the RPAgent
This section provides instructions for manually installing the RPAgent on the Oracle database server.
Note: To automate the installation process, use the master installation script provided in the build:
Install_OracleProtector_Linux_x64_<DBP_version>.sh
For more information, refer the following sections:
- 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 host name or IP address appears.
Please enter upstream host name or IP address[]:
- Enter the IP address of the ESA.
- 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, retrives the JWT token, extracts the certificates, and installs the RPAgent.
Unpacking...
Extracting files...
Obtaining token from <ESA_IP_Address>:25400...
Downloading certificates from <ESA_IP_Address>:25400...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11264 100 11264 0 0 136k 0 --:--:-- --:--:-- --:--:-- 137k
Extracting certificates...
Certificates successfully downloaded and stored in /opt/protegrity/rpagent/data
Protegrity RPAgent installed in /opt/protegrity/rpagent.
4 - Installing Oracle Database Protector
This section explains how to automate the installation using the Quick Installation Script included in the build:
Install_OracleProtector_Linux_x64_<DBP_version>.sh
Note: Steps for Installing the Policy Enforcement Point (PEP) and Creating User Defined Functions (UDFs) are applicable only for individual component installation, not for the quick installation process.
4.1 - Installing the Database Objects
This section provides instructions to install the Policy Enforcement Point for the Oracle Database Protector.
Note:
To automate the installation process, use the master installation script provided in the build:
Install_OracleProtector_Linux_x64_<DBP_version>.sh
For more information, refer to the following sections:
- Log in to the node where the installation files are extracted.
- To install the Oracle objects, run the following command:
./PepOracleSetup_Linux_x64_<DBP_version>.sh
- Press ENTER.
The prompt to continue appears.
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle 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 Oracle objects.
- Press ENTER.
The command extracts the files and installs the objects.
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity/databaseprotector/oracle.
4.2 - Installing Oracle Database Protector on Standalone System
The Oracle Database Protector build provides an automated script to manage the installation process on a standalone system. The master script internally calls the scripts to install the components. The master script installs the components in the following order:
- Log Forwarder
- RPAgent
- Policy Enforcement Point (Database Protector)
The installation can also be performed manually by executing the individual scripts to install the different components.
The master script is available in the directory where the installation files are extracted. It provides the following arguments:
install - installs the components in an interactive mode.upgrade - installs a newer version of the protector with minimal downtime.silent - installs the components in a non-interactive mode.install.ini - installs the components as per the parameters provided in the file.help - lists the arguments available for the script.
In addition, the master script will rollback the installation process if any errors are encountered. The script will revert the changes.
Viewing the Arguments for the Script
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To view the arguments, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --help
- Press ENTER.
The script lists the available arguments.
Options:
--install Use this option when installing the solution for the first time on a machine/host.
(i.e., there is no previous installation present)
--upgrade Use this option when upgrading an existing installation on the machine/host.
--install-ini <file> (Optional) Provide a path to an install.ini file for silent or pre-configured installations.
This option works with --install only.
It must not be used with --upgrade or --silent.
You can pass this either as:
--install-ini /path/to/install.ini
or
--install-ini=/path/to/install.ini
Refer to the product documentation for details about the configuration options available in install.ini.
The documentation describes all supported keys, required fields, and example configurations.
--silent (Optional) Runs the installation/upgrade in silent mode with minimum interactive prompts.
--help, -h Display this help message and exit.
Installing the Protector using the Interactive Mode
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the script, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --install
- Press ENTER.
The prompt to select the silent mode of installation appears.
Do you want silent installation? (yes/no) [no]:
- To install the components using the interactive mode, type
no. - Press ENTER.
The prompt to install the components in the same directory appears.
Do you want to install the new LogForwarder, RPAgent, and DatabaseProtector together in a single directory? (yes/no) [no]:
- To install the components in different directories, type
no. - Press ENTER.
The prompt to enter the installation directory for the Log Forwarder appears.
Enter new LogForwarder installation directory [/opt/protegrity]:
- Enter the location to install the Log Forwarder.
- Press ENTER.
The prompt to enter the installation directory for the RPAgent appears.
Enter new RPAgent installation directory [/opt/protegrity]:
- Enter the location to install the RPAgent.
- Press ENTER.
The prompt to enter the installation directory for the Database Protector appears.
Enter new DatabaseProtector installation directory [/opt/protegrity]:
- Enter the location to install the Database Protector.
Note: To use any directory for the Database Protector, ensure the directory is available. Otherwise, the installation will fail.
- Press ENTER.
The script configures the environment and the prompt to confirm the configuration appears.
2025-12-23 12:05:39 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-23 12:05:39 - [INFO] No ASM instance found. This is a standalone system.
2025-12-23 12:05:39 - [INFO] No Grid home found. Treating it as a standalone Oracle.
2025-12-23 12:05:39 - [INFO] Going to configure environment for installation
2025-12-23 12:05:39 - [INFO] Discovered ORACLE_SID=orcl, ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 12:05:39 - [INFO] Oracle environment set:
2025-12-23 12:05:39 - [INFO] ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 12:05:39 - [INFO] ORACLE_SID=orcl
2025-12-23 12:05:39 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0/dbhome_1/lib
2025-12-23 12:05:39 - [INFO] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin
2025-12-23 12:05:39 - [INFO] Environment configured successfully...
2025-12-23 12:05:39 - [INFO] **************************************************************************
2025-12-23 12:05:39 - [INFO] Installation will be done with following configuration:
2025-12-23 12:05:39 - [INFO] Oracle Instance ID: orcl
2025-12-23 12:05:39 - [INFO] Mode: install
2025-12-23 12:05:39 - [INFO] Logforwarder Installation Directory: /opt/protegrity1
2025-12-23 12:05:39 - [INFO] RPAgent Installation Directory: /opt/protegrity1
2025-12-23 12:05:39 - [INFO] DatabaseProtector Installation Directory: /opt/protegrity1
2025-12-23 12:05:39 - [INFO] This is a fresh install.
2025-12-23 12:05:39 - [INFO] Standalone setup detected
2025-12-23 12:05:39 - [INFO] **************************************************************************
2025-12-23 12:05:39 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the configuration, type
yes. - Press ENTER.
The master script invokes the Log Forwarder installation script. The prompt to enter the Audit Store endpoint appears.
2025-12-23 12:05:41 - [INFO] Continuing with installation...
2025-12-23 12:05:41 - [INFO] Installing/Upgrading LOGFORWARDER...
2025-12-23 12:05:41 - [INFO] Executing ./LogforwarderSetup_Linux_x64_<DBP_version>.sh...
Enter the audit store endpoint (host),
alternative (host:port) to use another port than the default port 9200:
- Enter the IP address for the Audit Store.
- Press ENTER.
The script lists the endpoint to be added. The prompt to add additional end point appears.
Audit store endpoints: <IP_Address>:9200
Do you want to add another audit store endpoint? [y/n]:
- To provide an additional endpoint, type
yes. - 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 for the Audit Store.
- Press ENTER.
The script lists the endpoints that will be added. The prompt to continue the installation appears.
<IP_Address>:9200
<IP_Address>:9200
Type 'y' to accept or 'n' to abort installation:
- To add the endpoints, type
yes. - Press ENTER.
The script unpacks the files and installs the Log Forwarder. The prompt to enter the upstream host name or IP address appears.
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity1/logforwarder.
2025-12-23 12:05:59 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:05:59 - [INFO] Installing/Upgrading RPAGENT...
Please enter upstream host name or IP address,
alternative (host:port) to use another port than the default port 25400:
- Enter the upstream host name or IP address.
- Press ENTER.
The prompt to enter the ESA token appears.
Enter ESA token (leave blank to use username/password):
- Enter the JWT token.
Note: To use the username and password, press ENTER.
- Press ENTER.
The script installs the RPAgent and triggers the script to install the Oracle objects. The script installs the objects and the prompt to create the UDFs appears.
2025-12-23 12:06:14 - [INFO] Executing ./RPAgentSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Downloading certificates from <IP_Address>:25400...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11264 100 11264 0 0 113k 0 --:--:-- --:--:-- --:--:-- 112k
Extracting certificates...
tar: CA.pem: time stamp 2025-12-23 12:06:15 is 0.531323771 s in the future
tar: cert.pem: time stamp 2025-12-23 12:06:15 is 0.531192197 s in the future
tar: cert.key: time stamp 2025-12-23 12:06:15 is 0.531134958 s in the future
tar: secret.txt: time stamp 2025-12-23 12:06:15 is 0.531081244 s in the future
Certificates successfully downloaded and stored in /opt/protegrity1/rpagent/data
Protegrity RPAgent installed in /opt/protegrity1/rpagent.
2025-12-23 12:06:14 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:06:14 - [INFO] Installing/Upgrading DBP...
2025-12-23 12:06:14 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]:
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity1/databaseprotector/oracle.
2025-12-23 12:06:14 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:06:14 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-23 12:06:16 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-23 12:06:16 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-23 12:06:16 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-23 12:06:16 - [INFO] Configuring extproc.ora
2025-12-23 12:06:16 - [INFO] Backed up existing /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:06:16 - [INFO] /opt/protegrity1/databaseprotector/oracle/lib/peporacle.plm already present in /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:06:16 - [INFO] Updated extproc.ora at /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:06:16 - [INFO] No separate runtime home detected or runtime home same as ORACLE_HOME; skipping sync.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDFs, type
yes.Note: If you select No to create the UDFs, the script skips creating the UDFs. The installation will complete successfully. However, the database will not contain the required UDFs. To manually create the UDFs, refer to the section Creating the User Defined Functions (UDFs).
- Press ENTER.
The prompt to enter the Oracle Database username appears.
Enter Oracle database username:
- Enter the username.
- Press ENTER.
The prompt to enter the Oracle Database password appears.
Enter Oracle database user's password:
- Enter the password.
- Press ENTER.
The script creates the UDFs and completes the installation.
2025-12-23 12:06:24 - [INFO] Going to create new types and UDFs.
2025-12-23 12:06:24 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-23 12:06:24 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity1/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-23 12:06:25 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-23 12:06:25 - [INFO] Create new types and UDFs executed successfully.
2025-12-23 12:06:25 - [INFO] New types and UDFs created successfully.
2025-12-23 12:06:25 - [INFO] Testing UDFs installation...
2025-12-23 12:06:26 - [INFO] Test UDFs output: <DBP_version>
2025-12-23 12:06:26 - [INFO] UDFs installation tested successfully.
2025-12-23 12:06:26 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora.bak_2025-12-23_12:06:16
2025-12-23 12:06:26 - [INFO] Closing SSH master connections...
2025-12-23 12:06:26 - [INFO] Installation successful.
2025-12-23 12:06:26 - [INFO] All components installed successfully.
Installing the Protector using the Silent Mode
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the script, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --install
- Press ENTER.
The prompt to select the silent mode of installation appears.
Do you want silent installation? (yes/no) [no]:
- To install the components using the silent mode, type
yes. - Press ENTER.
The script lists the configuration and a prompt to confirm the configuration appears.
2025-12-23 11:40:10 - [INFO] You have chosen silent mode. Therefore, /opt/protegrity is considered as base directory for new installation.
2025-12-23 11:40:10 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-23 11:40:10 - [INFO] No ASM instance found. This is a standalone system.
2025-12-23 11:40:10 - [INFO] No Grid home found. Treating it as a standalone Oracle.
2025-12-23 11:40:10 - [INFO] Going to configure environment for installation
2025-12-23 11:40:10 - [INFO] Discovered ORACLE_SID=orcl, ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 11:40:10 - [INFO] Oracle environment set:
2025-12-23 11:40:10 - [INFO] ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 11:40:10 - [INFO] ORACLE_SID=orcl
2025-12-23 11:40:10 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0/dbhome_1/lib
2025-12-23 11:40:10 - [INFO] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin
2025-12-23 11:40:10 - [INFO] Environment configured successfully...
2025-12-23 11:40:10 - [INFO] **************************************************************************
2025-12-23 11:40:10 - [INFO] Installation will be done with following configuration:
2025-12-23 11:40:10 - [INFO] Oracle Instance ID: orcl
2025-12-23 11:40:10 - [INFO] Mode: install
2025-12-23 11:40:10 - [INFO] Logforwarder Installation Directory: /opt/protegrity
2025-12-23 11:40:10 - [INFO] RPAgent Installation Directory: /opt/protegrity
2025-12-23 11:40:10 - [INFO] DatabaseProtector Installation Directory: /opt/protegrity
2025-12-23 11:40:10 - [INFO] This is a fresh install.
2025-12-23 11:40:10 - [INFO] Standalone setup detected
2025-12-23 11:40:10 - [INFO] **************************************************************************
2025-12-23 11:40:10 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the configuration, type
yes. - Press ENTER.
The scripts starts the Log Forwarder installation and 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 audit store endpoint.
- Press ENTER.
The prompt to enter additional endpoint appears.
Audit store endpoints: <IP_Address>:9200
Do you want to add another audit store endpoint? [y/n]:
- To provide another audit store endpoint, type,
yes. - Press ENTER.
The script lists the audit store endpoints. The prompt to enter another endpoint appears.
<IP_Address>:9200
<IP_Address>:9200
Type 'y' to accept or 'n' to abort installation:
- To continue, type
yes. - Press ENTER.
The script installs the Log Forwarder. The script starts the RPAgent installation. The prompt to enter the upstream IP address appears.
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity/logforwarder.
2025-12-23 11:44:29 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 11:44:29 - [INFO] Installing/Upgrading RPAGENT...
Please enter upstream host name or IP address,
alternative (host:port) to use another port than the default port 25400:
- Enter the IP address.
- Press ENTER.
The prompt to enter the JWT token appears.
Enter ESA token (leave blank to use username/password):
- To use the username and password combination, press ENTER.
The prompt to enter the username appears.
- Enter the username.
- Press ENTER.
The prompt to enter the password appears.
- Enter the password.
- Press ENTER.
The script retrieves the token from ESA, extracts the certificates, and installs the RPAgent. The script completes the installation of the objects and the prompt to create the UDF appears.
Unpacking...
Extracting files...
Obtaining token from <IP_address>:25400...
Downloading certificates from <IP_address>:25400...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11264 100 11264 0 0 152k 0 --:--:-- --:--:-- --:--:-- 152k
Extracting certificates...
tar: CA.pem: time stamp 2025-12-23 11:50:29 is 0.471443292 s in the future
tar: cert.pem: time stamp 2025-12-23 11:50:29 is 0.47131432 s in the future
tar: cert.key: time stamp 2025-12-23 11:50:29 is 0.471256437 s in the future
tar: secret.txt: time stamp 2025-12-23 11:50:29 is 0.471203322 s in the future
Certificates successfully downloaded and stored in /opt/protegrity/rpagent/data
Protegrity RPAgent installed in /opt/protegrity/rpagent.
2025-12-23 11:50:28 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 11:50:28 - [INFO] Installing/Upgrading DBP...
2025-12-23 11:50:28 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]:
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity/databaseprotector/oracle.
2025-12-23 11:50:28 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 11:50:28 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-23 11:50:30 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-23 11:50:30 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-23 11:50:30 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-23 11:50:30 - [INFO] Configuring extproc.ora
2025-12-23 11:50:30 - [INFO] Backed up existing /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 11:50:30 - [INFO] /opt/protegrity/databaseprotector/oracle/lib/peporacle.plm already present in /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 11:50:30 - [INFO] Updated extproc.ora at /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 11:50:30 - [INFO] No separate runtime home detected or runtime home same as ORACLE_HOME; skipping sync.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDFs, type
yes.Note: If you select No to create the UDFs, the script skips creating the UDFs. The installation will complete successfully. However, the database will not contain the required UDFs. To manually create the UDFs, refer to the section Creating the User Defined Functions (UDFs).
- Press ENTER.
The prompt to enter the database username appears.
Enter Oracle database username:
- Enter the username.
- Press ENTER.
The prompt to enter the database password appears.
Enter Oracle database user's password:
- Enter the password.
- Press ENTER.
The script installs the UDFs and completes the installation process.
2025-12-23 11:50:39 - [INFO] Going to create new types and UDFs.
2025-12-23 11:50:39 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-23 11:50:39 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-23 11:50:40 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-23 11:50:40 - [INFO] Create new types and UDFs executed successfully.
2025-12-23 11:50:40 - [INFO] New types and UDFs created successfully.
2025-12-23 11:50:40 - [INFO] Testing UDFs installation...
2025-12-23 11:50:41 - [INFO] Test UDFs output: <DBP_version>
2025-12-23 11:50:41 - [INFO] UDFs installation tested successfully.
2025-12-23 11:50:41 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora.bak_2025-12-23_11:50:30
2025-12-23 11:50:41 - [INFO] Closing SSH master connections...
2025-12-23 11:50:41 - [INFO] Installation successful.
2025-12-23 11:50:41 - [INFO] All components installed successfully.
Installing the Protector using the install.ini file
This argument requires the install.ini file to be present and updated with the required parameters. The install.ini files contains the installation directories for the components and the endpoints for the Log Forwarder and RPAgent.
A sample output of the install.ini file is listed below.
[Logforwarder]
INSTALLATION_DIR = </opt/protegrity1>
AUDIT_STORE_ENDPOINTS = <IP_address>:9200 <IP_address>:9200 <IP_address>:9200
[RPAgent]
INSTALLATION_DIR = </opt/protegrity1>
UPSTREAM_HOST_IP_ADDR_PORT = <IP_address>:25400
[DatabaseProtector]
INSTALLATION_DIR = </opt/protegrity1>
Note: To use any directory for the Database Protector, ensure the directory is available. Otherwise, the installation will fail.
Note: The default port for the Audit Store endpoint is 9200. The default port for the RPAgent is 25400. To use any other port, replace the value.
To install the protector using the install.ini argument:
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the script with the argument, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --install --install-ini <path_to_install.ini_file>
- Press ENTER.
The script detects the
install.ini file and the prompt to verify the configuration appears. 2025-12-23 12:16:37 - [INFO] install.ini detected: <path_to_install.ini_file>
2025-12-23 12:16:37 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-23 12:16:37 - [INFO] No ASM instance found. This is a standalone system.
2025-12-23 12:16:37 - [INFO] No Grid home found. Treating it as a standalone Oracle.
2025-12-23 12:16:37 - [INFO] Going to configure environment for installation
2025-12-23 12:16:37 - [INFO] Discovered ORACLE_SID=orcl, ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 12:16:37 - [INFO] Oracle environment set:
2025-12-23 12:16:37 - [INFO] ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 12:16:37 - [INFO] ORACLE_SID=orcl
2025-12-23 12:16:37 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0/dbhome_1/lib
2025-12-23 12:16:37 - [INFO] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin
2025-12-23 12:16:37 - [INFO] Environment configured successfully...
2025-12-23 12:16:37 - [INFO] **************************************************************************
2025-12-23 12:16:37 - [INFO] Installation will be done with following configuration:
2025-12-23 12:16:37 - [INFO] Oracle Instance ID: orcl
2025-12-23 12:16:37 - [INFO] Mode: install
2025-12-23 12:16:37 - [INFO] Using configuration from install.ini:
2025-12-23 12:16:37 - [INFO] Logforwarder Installation Directory: /opt/protegrity1
2025-12-23 12:16:37 - [INFO] Audit Store Endpoints: <IP_Address>:9200 <IP_Address>:9200 <IP_Address>:9200
2025-12-23 12:16:37 - [INFO] RPAgent Installation Directory: /opt/protegrity1
2025-12-23 12:16:37 - [INFO] Upstream (ESA) IP Address for RPAgent: <IP_Address>
2025-12-23 12:16:37 - [INFO] Upstream (ESA) Port for RPAgent: 25400
2025-12-23 12:16:37 - [INFO] DatabaseProtector Installation Directory: /opt/protegrity1
2025-12-23 12:16:37 - [INFO] This is a fresh install.
2025-12-23 12:16:37 - [INFO] Standalone setup detected
2025-12-23 12:16:37 - [INFO] **************************************************************************
2025-12-23 12:16:37 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the configuration, type
yes. - Press ENTER.
The script installs the Log Forwarder and the prompt to enter the JWT token appears.
2025-12-23 12:16:40 - [INFO] Continuing with installation...
2025-12-23 12:16:40 - [INFO] Installing/Upgrading LOGFORWARDER...
2025-12-23 12:16:40 - [INFO] Executing ./LogforwarderSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity1/logforwarder.
2025-12-23 12:16:40 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:16:40 - [INFO] Installing/Upgrading RPAGENT...
Enter ESA token (leave blank to use username/password):
- To use the credentials, press ENTER.
The prompt to enter the ESA username appears.
- Enter the username.
- Press ENTER.
The prompt to enter the password appears.
- Enter the password.
- Press ENTER.
The script installs the RPAgent and the Oracle objects. The prompt to create the UDF appears.
2025-12-23 12:16:49 - [INFO] Executing ./RPAgentSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Obtaining token from <IP_Address>:25400...
Downloading certificates from <IP_Address>:25400...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11264 100 11264 0 0 175k 0 --:--:-- --:--:-- --:--:-- 177k
Extracting certificates...
tar: CA.pem: time stamp 2025-12-23 12:16:51 is 0.430031962 s in the future
tar: cert.pem: time stamp 2025-12-23 12:16:51 is 0.42988325 s in the future
tar: cert.key: time stamp 2025-12-23 12:16:51 is 0.429822044 s in the future
tar: secret.txt: time stamp 2025-12-23 12:16:51 is 0.429768891 s in the future
Certificates successfully downloaded and stored in /opt/protegrity1/rpagent/data
Protegrity RPAgent installed in /opt/protegrity1/rpagent.
2025-12-23 12:16:50 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:16:50 - [INFO] Installing/Upgrading DBP...
2025-12-23 12:16:50 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity1/databaseprotector/oracle.
2025-12-23 12:16:50 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:16:50 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-23 12:16:52 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-23 12:16:52 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-23 12:16:52 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-23 12:16:52 - [INFO] Configuring extproc.ora
2025-12-23 12:16:52 - [INFO] Backed up existing /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:16:52 - [INFO] /opt/protegrity1/databaseprotector/oracle/lib/peporacle.plm already present in /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:16:52 - [INFO] Updated extproc.ora at /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:16:52 - [INFO] No separate runtime home detected or runtime home same as ORACLE_HOME; skipping sync.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDFs, type
yes.Note: If you select No to create the UDFs, the script skips creating the UDFs. The installation will complete successfully. However, the database will not contain the required UDFs. To manually create the UDFs, refer to the section Creating the User Defined Functions (UDFs).
- Press ENTER.
The prompt to enter the database username appears.
Enter Oracle database username:
- Enter the username.
- Press ENTER.
The prompt to enter the database password appears.
Enter Oracle database user's password:
- Enter the password.
- Press ENTER.
The script creates the UDFs and completes the installation.
2025-12-23 12:19:33 - [INFO] Going to create new types and UDFs.
2025-12-23 12:19:33 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-23 12:19:33 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity1/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-23 12:19:34 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-23 12:19:34 - [INFO] Create new types and UDFs executed successfully.
2025-12-23 12:19:34 - [INFO] New types and UDFs created successfully.
2025-12-23 12:19:34 - [INFO] Testing UDFs installation...
2025-12-23 12:19:35 - [INFO] Test UDFs output: <DBP_version>
2025-12-23 12:19:35 - [INFO] UDFs installation tested successfully.
2025-12-23 12:19:35 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora.bak_2025-12-23_12:16:52
2025-12-23 12:19:35 - [INFO] Closing SSH master connections...
2025-12-23 12:19:35 - [INFO] Installation successful.
2025-12-23 12:19:35 - [INFO] All components installed successfully.
4.3 - Installing the Oracle Database Protector on RAC (Multinode) system
The Oracle Database Protector build provides an automated script to manage the installation process on a standalone system. The master script internally calls the scripts to install the components. The master script installs the components in the following order:
- Log Forwarder
- RPAgent
- Policy Enforcement Point (Database Protector)
The installation can also be performed manually by executing the individual scripts to install the different components.
The master script is available in the directory where the installation files are extracted. It provides the following arguments:
install - installs the components in an interactive mode.upgrade - installs a newer version of the protector with minimal downtime.silent - installs the components in a non-interactive mode.install.ini - installs the components as per the parameters provided in the file.help - lists the arguments available for the script.
In addition, the master script will rollback the installation process if any errors are encountered. The script will revert the changes.
Viewing the Arguments for the Script
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To view the arguments, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --help
- Press ENTER.
The script lists the available arguments.
Options:
--install Use this option when installing the solution for the first time on a machine/host.
(i.e., there is no previous installation present)
--upgrade Use this option when upgrading an existing installation on the machine/host.
--install-ini <file> (Optional) Provide a path to an install.ini file for silent or pre-configured installations.
This option works with --install only.
It must not be used with --upgrade or --silent.
You can pass this either as:
--install-ini /path/to/install.ini
or
--install-ini=/path/to/install.ini
Refer to the product documentation for details about the configuration options available in install.ini.
The documentation describes all supported keys, required fields, and example configurations.
--silent (Optional) Runs the installation/upgrade in silent mode with minimum interactive prompts.
--help, -h Display this help message and exit.
Installing the Protector using the Interactive Mode
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the script, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --install
- Press ENTER.
The prompt to select the silent mode of installation appears.
Do you want silent installation? (yes/no) [no]:
- To install the components using the interactive mode, type
no. - Press ENTER.
The prompt to install the components in the same directory appears.
Do you want to install the new LogForwarder, RPAgent, and DatabaseProtector together in a single directory? (yes/no) [no]:
- To install the components in different directories, type
no. - Press ENTER.
The prompt to enter the installation directory for the Log Forwarder appears.
Enter new LogForwarder installation directory [/opt/protegrity]:
- Enter the location to install the Log Forwarder.
- Press ENTER.
The prompt to enter the installation directory for the RPAgent appears.
Enter new RPAgent installation directory [/opt/protegrity]:
- Enter the location to install the RPAgent.
- Press ENTER.
The prompt to enter the installation directory for the Database Protector appears.
Enter new DatabaseProtector installation directory [/opt/protegrity]:
- Enter the location to install the Database Protector.
Note: To use any directory, ensure the directory is available. Otherwise, the installation will fail.
- Press ENTER.
The script configures the environment and the prompt to confirm the configuration appears.
2025-12-30 06:39:49 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-30 06:39:50 - [INFO] Discovered GRID_HOME: /u01/app/21.3.0./grid
2025-12-30 06:39:50 - [INFO] Grid home found: /u01/app/21.3.0./grid
2025-12-30 06:39:50 - [INFO] RAC setup detected
2025-12-30 06:39:50 - [INFO] Current node: <node_name> (<node_name>.localdomain.com)
2025-12-30 06:39:50 - [INFO] Other nodes: <node_name> <node_name>
2025-12-30 06:39:50 - [INFO] Checking for required tools...
2025-12-30 06:39:50 - [INFO] All required tools are available
2025-12-30 06:39:50 - [INFO] Going to configure environment for installation
2025-12-30 06:39:50 - [INFO] Discovered ORACLE_SID=<oracle_system_identifier>, ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:39:50 - [INFO] Oracle environment set:
2025-12-30 06:39:50 - [INFO] ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:39:50 - [INFO] ORACLE_SID=<oracle_system_identifier>
2025-12-30 06:39:50 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/21.3.0/db_1/lib
2025-12-30 06:39:50 - [INFO] PATH=/u01/app/21.3.0./grid/bin:/sbin:/bin:/usr/sbin:/usr/bin:/u01/app/oracle/product/21.3.0/db_1/bin
2025-12-30 06:39:50 - [INFO] Environment configured successfully...
2025-12-30 06:39:50 - [INFO] **************************************************************************
2025-12-30 06:39:50 - [INFO] Installation will be done with following configuration:
2025-12-30 06:39:50 - [INFO] Oracle Instance ID: <oracle_instance_ID>
2025-12-30 06:39:50 - [INFO] Mode: install
2025-12-30 06:39:50 - [INFO] Logforwarder Installation Directory: /opt/protegrity1
2025-12-30 06:39:50 - [INFO] RPAgent Installation Directory: /opt/protegrity1
2025-12-30 06:39:50 - [INFO] DatabaseProtector Installation Directory: /opt/protegrity1
2025-12-30 06:39:50 - [INFO] This is a fresh install.
2025-12-30 06:39:50 - [INFO] RAC setup detected with nodes: <node_name>
<node_name>
<node_name>
2025-12-30 06:39:50 - [INFO] **************************************************************************
2025-12-30 06:39:50 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the configuration, type
yes. - Press ENTER.
The master script invokes the Log Forwarder installation script. The prompt to enter the Audit Store endpoint appears.
2025-12-30 06:40:10 - [INFO] Continuing with installation...
2025-12-30 06:40:10 - [INFO] Installing/Upgrading LOGFORWARDER...
2025-12-30 06:40:10 - [INFO] Executing ./LogforwarderSetup_Linux_x64_<DBP_version>.sh...
Enter the audit store endpoint (host),
alternative (host:port) to use another port than the default port 9200:
- Enter the IP address for the Audit Store.
- Press ENTER.
The script lists the endpoint to be added. The prompt to add additional end point appears.
Audit store endpoints: <IP_Address>:9200
Do you want to add another audit store endpoint? [y/n]:
- To provide an additional endpoint, type
yes. - 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 for the Audit Store.
- Press ENTER.
The script lists the endpoints that will be added. The prompt to continue the installation appears.
<IP_Address>:9200
<IP_Address>:9200
Type 'y' to accept or 'n' to abort installation:
- To add the endpoints, type
yes. - Press ENTER.
The script unpacks the files and installs the Log Forwarder. The prompt to enter the upstream host name or IP address appears.
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity1/logforwarder.
2025-12-30 06:40:10 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:40:10 - [INFO] Installing/Upgrading RPAGENT...
Please enter upstream host name or IP address,
alternative (host:port) to use another port than the default port 25400:
- Enter the upstream host name or IP address.
- Press ENTER.
The prompt to enter the ESA token appears.
Enter ESA token (leave blank to use username/password):
Note: To use the username and password, press ENTER.
- Enter the JWT token.
- Press ENTER.
The script installs the RPAgent and triggers the script to install the Oracle objects. The script verifies the nodes and the prompt to confirm the username for the node appears.
2025-12-30 06:40:24 - [INFO] Executing ./RPAgentSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Downloading certificates from <IP_Address>:25400...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11264 100 11264 0 0 55457 0 --:--:-- --:--:-- --:--:-- 55487
Extracting certificates...
tar: CA.pem: time stamp 2025-12-30 06:40:25 is 0.061687997 s in the future
tar: cert.pem: time stamp 2025-12-30 06:40:25 is 0.061525058 s in the future
tar: cert.key: time stamp 2025-12-30 06:40:25 is 0.061482332 s in the future
tar: secret.txt: time stamp 2025-12-30 06:40:25 is 0.061448035 s in the future
Certificates successfully downloaded and stored in /opt/protegrity1/rpagent/data
Protegrity RPAgent installed in /opt/protegrity1/rpagent.
2025-12-30 06:40:24 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:40:24 - [INFO] Installing/Upgrading DBP...
2025-12-30 06:40:24 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity1/databaseprotector/oracle.
2025-12-30 06:40:24 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:40:24 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-30 06:40:27 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-30 06:40:27 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-30 06:40:27 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-30 06:40:27 - [INFO] Configuring extproc.ora
2025-12-30 06:40:27 - [INFO] Backed up existing /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:40:27 - [INFO] Updated EXTPROC_DLLS in /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora to only include /opt/protegrity1/databaseprotector/oracle/lib/peporacle.plm
2025-12-30 06:40:27 - [INFO] Updated extproc.ora at /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:40:27 - [INFO] Detected separate runtime home: /u01/app/oracle/homes/OraDB21Home1
2025-12-30 06:40:27 - [INFO] Runtime extproc.ora symlink already points to canonical: /u01/app/oracle/homes/OraDB21Home1/hs/admin/extproc.ora -> /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:40:27 - [INFO] Synchronized extproc.ora in runtime home /u01/app/oracle/homes/OraDB21Home1/hs/admin
2025-12-30 06:40:27 - [INFO] Configuring RAC nodes...
2025-12-30 06:40:27 - [INFO] Performing pre-check on all RAC nodes before making changes...
Do you want to enter one remote username to be used for all nodes? (yes/no) [no]:
- To use separate usernames, type
no. - Press ENTER.
The script prompts for the username to access a node.
Enter remote username for node <node_name> (must be in sudoers):
- Enter the username to access the node.
- Press ENTER.
The script validates the username and the prompt to enter the password appears.
2025-12-30 06:40:35 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 06:40:35 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<node_IP>' (ECDSA) to the list of known hosts.
<user_name>@<node_name>'s password:
- Enter the password.
- Press ENTER.
The script validates the password. The prompt to enter the username for the next node appears.
2025-12-30 06:40:41 - [INFO] SSH master connection to <node_name> ready
2025-12-30 06:40:41 - [INFO] Checking sudo access for <node_name>...
2025-12-30 06:40:41 - [INFO] Precheck OK for <node_name>
Enter remote username for node <node_name> (must be in sudoers):
- Enter the username to access the node.
- Press ENTER.
The script validates the username and the prompt to enter the password appears.
2025-12-30 06:40:45 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 06:40:45 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<node_IP>' (ECDSA) to the list of known hosts.
<user_name>@<node_name>'s password:
- Enter the password.
- Press ENTER.
The script validates the password, completes the pre-check, and completes the RAC node configuration. The prompt to create the UDF appears.
2025-12-30 06:40:50 - [INFO] SSH master connection to <node_name> ready
2025-12-30 06:40:50 - [INFO] Checking sudo access for <node_name>...
2025-12-30 06:40:50 - [INFO] Precheck OK for <node_name>
2025-12-30 06:40:50 - [INFO] Precheck complete. Starting RAC node configuration...
2025-12-30 06:40:50 - [INFO] Syncing /opt/protegrity1/logforwarder to <node_name>...
2025-12-30 06:40:54 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 06:40:56 - [INFO] Syncing /opt/protegrity1/rpagent to <node_name>...
2025-12-30 06:40:57 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 06:40:57 - [INFO] Syncing /opt/protegrity1/databaseprotector to <node_name>...
2025-12-30 06:40:58 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 06:40:58 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 06:40:58 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 06:40:59 - [INFO] Node <node_name> configured successfully.
2025-12-30 06:40:59 - [INFO] Syncing /opt/protegrity1/logforwarder to <node_name>...
2025-12-30 06:41:02 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 06:41:04 - [INFO] Syncing /opt/protegrity1/rpagent to <node_name>...
2025-12-30 06:41:06 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 06:41:06 - [INFO] Syncing /opt/protegrity1/databaseprotector to <node_name>...
2025-12-30 06:41:06 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 06:41:07 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 06:41:07 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 06:41:07 - [INFO] Node <node_name> configured successfully.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDFs, type
yes.Note: If you select No to create the UDFs, the script skips creating the UDFs. The installation will complete successfully. However, the database will not contain the required UDFs. To manually create the UDFs, refer to the section Creating the User Defined Functions (UDFs).
- Press ENTER.
The prompt to enter the database username appears.
Enter Oracle database username:
- Enter the username.
- Press ENTER.
The prompt to enter the database password appears.
Enter Oracle database user's password:
- Enter the password.
- Press ENTER.
The script creates the UDFs and completes the installation.
2025-12-30 06:41:26 - [INFO] Going to create new types and UDFs.
2025-12-30 06:41:26 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-30 06:41:26 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity1/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-30 06:41:27 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-30 06:41:27 - [INFO] Create new types and UDFs executed successfully.
2025-12-30 06:41:27 - [INFO] New types and UDFs created successfully.
2025-12-30 06:41:27 - [INFO] Testing UDFs installation...
2025-12-30 06:41:27 - [INFO] Test UDFs output: <DBP_version>
2025-12-30 06:41:27 - [INFO] UDFs installation tested successfully.
2025-12-30 06:41:27 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora.bak_2025-12-30_06:40:27
2025-12-30 06:41:27 - [INFO] Closing SSH master connections...
2025-12-30 06:41:27 - [INFO] Connection to <node_name> closed.
2025-12-30 06:41:27 - [INFO] Connection to <node_name> closed.
2025-12-30 06:41:27 - [INFO] Installation successful.
2025-12-30 06:41:27 - [INFO] All components installed successfully.
Installing the Protector using the Silent Mode
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the script, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --install
- Press ENTER.
The prompt to select the silent mode of installation appears.
Do you want silent installation? (yes/no) [no]:
- To install the components using the silent mode, type
yes. - Press ENTER.
The script lists the configuration and a prompt to confirm the configuration appears.
2025-12-30 06:31:27 - [INFO] You have chosen silent mode. Therefore, /opt/protegrity is considered as base directory for new installation.
2025-12-30 06:31:27 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-30 06:31:27 - [INFO] Discovered GRID_HOME: /u01/app/21.3.0./grid
2025-12-30 06:31:27 - [INFO] Grid home found: /u01/app/21.3.0./grid
2025-12-30 06:31:27 - [INFO] RAC setup detected
2025-12-30 06:31:27 - [INFO] Current node: <node_name> (<node_name>.localdomain.com)
2025-12-30 06:31:27 - [INFO] Other nodes: <node_name> <node_name>
2025-12-30 06:31:27 - [INFO] Checking for required tools...
2025-12-30 06:31:27 - [INFO] All required tools are available
2025-12-30 06:31:27 - [INFO] Going to configure environment for installation
2025-12-30 06:31:28 - [INFO] Discovered ORACLE_SID=<oracle_system_identifier>, ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:31:28 - [INFO] Oracle environment set:
2025-12-30 06:31:28 - [INFO] ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:31:28 - [INFO] ORACLE_SID=<oracle_system_identifier>
2025-12-30 06:31:28 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/21.3.0/db_1/lib
2025-12-30 06:31:28 - [INFO] PATH=/u01/app/21.3.0./grid/bin:/sbin:/bin:/usr/sbin:/usr/bin:/u01/app/oracle/product/21.3.0/db_1/bin
2025-12-30 06:31:28 - [INFO] Environment configured successfully...
2025-12-30 06:31:28 - [INFO] **************************************************************************
2025-12-30 06:31:28 - [INFO] Installation will be done with following configuration:
2025-12-30 06:31:28 - [INFO] Oracle Instance ID: <oracle_instance_ID>
2025-12-30 06:31:28 - [INFO] Mode: install
2025-12-30 06:31:28 - [INFO] Logforwarder Installation Directory: /opt/protegrity
2025-12-30 06:31:28 - [INFO] RPAgent Installation Directory: /opt/protegrity
2025-12-30 06:31:28 - [INFO] DatabaseProtector Installation Directory: /opt/protegrity
2025-12-30 06:31:28 - [INFO] This is a fresh install.
2025-12-30 06:31:28 - [INFO] RAC setup detected with nodes: <node_name>
<node_name>
<node_name>
2025-12-30 06:31:28 - [INFO] **************************************************************************
2025-12-30 06:31:28 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the configuration, type
yes. - Press ENTER.
The scripts starts the Log Forwarder installation and the prompt to enter the Audit Store endpoint appears.
2025-12-30 06:31:30 - [INFO] Continuing with installation...
2025-12-30 06:31:30 - [INFO] Installing/Upgrading LOGFORWARDER...
2025-12-30 06:31:30 - [INFO] Executing ./LogforwarderSetup_Linux_x64_<DBP_version>.sh...
Enter the audit store endpoint (host), alternative (host:port) to use another port than the default port 9200:
- Enter the audit store endpoint.
- Press ENTER.
The prompt to enter additional endpoint appears.
Audit store endpoints: <IP_Address>:9200
Do you want to add another audit store endpoint? [y/n]:
- To provide another audit store endpoint, type,
yes. - Press ENTER.
The script lists the audit store endpoints. The prompt to enter another endpoint appears.
<IP_Address>:9200
<IP_Address>:9200
Type 'y' to accept or 'n' to abort installation:
- To continue, type
yes. - Press ENTER.
The script installs the Log Forwarder. The script starts the RPAgent installation. The prompt to enter the upstream IP address appears.
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity/logforwarder.
2025-12-30 06:31:45 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:31:45 - [INFO] Installing/Upgrading RPAGENT...
Please enter upstream host name or IP address,
alternative (host:port) to use another port than the default port 25400:
- Enter the IP address.
- Press ENTER.
The prompt to enter the JWT token appears.
Enter ESA token (leave blank to use username/password):
- To use the credentials, press ENTER.
The prompt to enter the username appears.
- Enter the username.
- Press ENTER.
The prompt to enter the password appears.
Enter ESA user's password:
- Enter the password.
- Press ENTER.
The script installs the RPAgent and the Database Protector. The script starts the RAC node configuration. The prompt to enter the username for the node appears.
2025-12-30 06:31:54 - [INFO] Executing ./RPAgentSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Obtaining token from <IP_Address>:25400...
Downloading certificates from <IP_Address>:25400...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11264 100 11264 0 0 55596 0 --:--:-- --:--:-- --:--:-- 55762
Extracting certificates...
Certificates successfully downloaded and stored in /opt/protegrity/rpagent/data
Protegrity RPAgent installed in /opt/protegrity/rpagent.
2025-12-30 06:31:55 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:31:55 - [INFO] Installing/Upgrading DBP...
2025-12-30 06:31:55 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity/databaseprotector/oracle.
2025-12-30 06:31:55 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:31:55 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-30 06:31:57 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-30 06:31:57 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-30 06:31:58 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-30 06:31:58 - [INFO] Configuring extproc.ora
2025-12-30 06:31:58 - [INFO] Backed up existing /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:31:58 - [INFO] Updated EXTPROC_DLLS in /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora to only include /opt/protegrity/databaseprotector/oracle/lib/peporacle.plm
2025-12-30 06:31:58 - [INFO] Updated extproc.ora at /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:31:58 - [INFO] Detected separate runtime home: /u01/app/oracle/homes/OraDB21Home1
2025-12-30 06:31:58 - [INFO] Runtime extproc.ora symlink already points to canonical: /u01/app/oracle/homes/OraDB21Home1/hs/admin/extproc.ora -> /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:31:58 - [INFO] Synchronized extproc.ora in runtime home /u01/app/oracle/homes/OraDB21Home1/hs/admin
2025-12-30 06:31:58 - [INFO] Configuring RAC nodes...
2025-12-30 06:31:58 - [INFO] Performing pre-check on all RAC nodes before making changes...
Do you want to enter one remote username to be used for all nodes? (yes/no) [no]:
- To use the same credentials for all the nodes, type
yes. - Press ENTER.
The prompt to enter the username appears.
Enter remote username for all nodes (must be in sudoers):
- Enter the username to access all the nodes.
- Press ENTER.
The script validates the username. The prompt to enter the password appears.
2025-12-30 06:32:05 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 06:32:05 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<node_IP>' (ECDSA) to the list of known hosts.
<user_name>@<node_name>'s password:
- Enter the password.
- Press ENTER.
The script establishes a connection to the other nodes. The prompt to enter the password appears.
2025-12-30 06:32:10 - [INFO] SSH master connection to <node_name> ready
2025-12-30 06:32:10 - [INFO] Checking sudo access for <node_name>...
2025-12-30 06:32:11 - [INFO] Precheck OK for <node_name>
2025-12-30 06:32:11 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 06:32:11 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<node_IP>' (ECDSA) to the list of known hosts.
<user_name>@<node_name>'s password:
- Enter the password.
- Press ENTER.
The script starts the RAC node configuration. The prompt to create the UDF appears.
2025-12-30 06:32:15 - [INFO] SSH master connection to <node_name> ready
2025-12-30 06:32:15 - [INFO] Checking sudo access for <node_name>...
2025-12-30 06:32:16 - [INFO] Precheck OK for <node_name>
2025-12-30 06:32:16 - [INFO] Precheck complete. Starting RAC node configuration...
2025-12-30 06:32:16 - [INFO] Syncing /opt/protegrity/logforwarder to <node_name>...
2025-12-30 06:32:19 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 06:32:21 - [INFO] Syncing /opt/protegrity/rpagent to <node_name>...
2025-12-30 06:32:23 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 06:32:23 - [INFO] Syncing /opt/protegrity/databaseprotector to <node_name>...
2025-12-30 06:32:24 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 06:32:24 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 06:32:24 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 06:32:24 - [INFO] Node <node_name> configured successfully.
2025-12-30 06:32:24 - [INFO] Syncing /opt/protegrity/logforwarder to <node_name>...
2025-12-30 06:32:28 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 06:32:30 - [INFO] Syncing /opt/protegrity/rpagent to <node_name>...
2025-12-30 06:32:31 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 06:32:31 - [INFO] Syncing /opt/protegrity/databaseprotector to <node_name>...
2025-12-30 06:32:32 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 06:32:32 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 06:32:33 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 06:32:33 - [INFO] Node <node_name> configured successfully.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDF, type
yes.Note: If you select No to create the UDFs, the script skips creating the UDFs. The installation will complete successfully. However, the database will not contain the required UDFs. To manually create the UDFs, refer to the section Creating the User Defined Functions (UDFs).
- Press ENTER.
The prompt to enter the databse username appears.
Enter Oracle database username:
- Enter the username.
- Press ENTER.
The prompt to enter the password appears.
Enter Oracle database user's password:
- Enter the password.
- Press ENTER.
The script creates the UDFs and completes the installation.
2025-12-30 06:32:41 - [INFO] Going to create new types and UDFs.
2025-12-30 06:32:41 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-30 06:32:41 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-30 06:32:42 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-30 06:32:42 - [INFO] Create new types and UDFs executed successfully.
2025-12-30 06:32:42 - [INFO] New types and UDFs created successfully.
2025-12-30 06:32:42 - [INFO] Testing UDFs installation...
2025-12-30 06:32:42 - [INFO] Test UDFs output: <DBP_version>
2025-12-30 06:32:42 - [INFO] UDFs installation tested successfully.
2025-12-30 06:32:42 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora.bak_2025-12-30_06:31:58
2025-12-30 06:32:42 - [INFO] Closing SSH master connections...
2025-12-30 06:32:42 - [INFO] Connection to <node_name> closed.
2025-12-30 06:32:42 - [INFO] Connection to <node_name> closed.
2025-12-30 06:32:42 - [INFO] Installation successful.
2025-12-30 06:32:42 - [INFO] All components installed successfully.
Installing the Protector using the install.ini file
This argument requires the install.ini file to be present and updated with the required parameters. The install.ini files contains the installation directories for the components and the endpoints for the Log Forwarder and RPAgent.
Note: Ensure that the install.ini file is available on the primary node.
A sample output of the install.ini file is listed below.
[Logforwarder]
INSTALLATION_DIR = </opt/protegrity1>
AUDIT_STORE_ENDPOINTS = <IP_address>:9200 <IP_address>:9200 <IP_address>:9200
[RPAgent]
INSTALLATION_DIR = </opt/protegrity1>
UPSTREAM_HOST_IP_ADDR_PORT = <IP_address>:25400
[DatabaseProtector]
INSTALLATION_DIR = </opt/protegrity1>
Note: To use any directory for the Database Protector, ensure the directory is available. Otherwise, the installation will fail.
Note: The default port for the Audit Store endpoint is 9200. The default port for the RPAgent is 25400. To use any other port, replace the value.
To install the protector using the install.ini argument:
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the script with the argument, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --install --install-ini <path_to_install.ini_file>
- Press ENTER.
The script detects the
install.ini file and the prompt to verify the configuration appears. 2025-12-30 06:52:50 - [INFO] install.ini detected: <path_to_install.ini_file>
2025-12-30 06:52:51 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-30 06:52:51 - [INFO] Discovered GRID_HOME: /u01/app/21.3.0./grid
2025-12-30 06:52:51 - [INFO] Grid home found: /u01/app/21.3.0./grid
2025-12-30 06:52:51 - [INFO] RAC setup detected
2025-12-30 06:52:51 - [INFO] Current node: <node_name> (<node_name>.localdomain.com)
2025-12-30 06:52:51 - [INFO] Other nodes: <node_name> <node_name>
2025-12-30 06:52:51 - [INFO] Checking for required tools...
2025-12-30 06:52:51 - [INFO] All required tools are available
2025-12-30 06:52:51 - [INFO] Going to configure environment for installation
2025-12-30 06:52:51 - [INFO] Discovered ORACLE_SID=<oracle_system_identifier>, ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:52:51 - [INFO] Oracle environment set:
2025-12-30 06:52:51 - [INFO] ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:52:51 - [INFO] ORACLE_SID=<oracle_system_identifier>
2025-12-30 06:52:51 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/21.3.0/db_1/lib
2025-12-30 06:52:51 - [INFO] PATH=/u01/app/21.3.0./grid/bin:/sbin:/bin:/usr/sbin:/usr/bin:/u01/app/oracle/product/21.3.0/db_1/bin
2025-12-30 06:52:51 - [INFO] Environment configured successfully...
2025-12-30 06:52:51 - [INFO] **************************************************************************
2025-12-30 06:52:51 - [INFO] Installation will be done with following configuration:
2025-12-30 06:52:51 - [INFO] Oracle Instance ID: <oracle_instance_ID>
2025-12-30 06:52:51 - [INFO] Mode: install
2025-12-30 06:52:51 - [INFO] Using configuration from install.ini:
2025-12-30 06:52:51 - [INFO] Logforwarder Installation Directory: /opt/protegrity1
2025-12-30 06:52:51 - [INFO] Audit Store Endpoints: <IP_Address>:9200 <IP_Address>:9200 <IP_Address>:9200
2025-12-30 06:52:51 - [INFO] RPAgent Installation Directory: /opt/protegrity1
2025-12-30 06:52:51 - [INFO] Upstream (ESA) IP Address for RPAgent: <IP_Address>
2025-12-30 06:52:51 - [INFO] Upstream (ESA) Port for RPAgent: 25400
2025-12-30 06:52:51 - [INFO] DatabaseProtector Installation Directory: /opt/protegrity1
2025-12-30 06:52:51 - [INFO] This is a fresh install.
2025-12-30 06:52:51 - [INFO] RAC setup detected with nodes: <node_name>
<node_name>
<node_name>
2025-12-30 06:52:51 - [INFO] **************************************************************************
2025-12-30 06:52:51 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the configuration, type
yes. - Press ENTER.
The script installs the Log Forwarder. The script starts in the RPAgent installation. The prompt to enter the JWT token appears.
2025-12-30 06:52:54 - [INFO] Continuing with installation...
2025-12-30 06:52:54 - [INFO] Installing/Upgrading LOGFORWARDER...
2025-12-30 06:52:54 - [INFO] Executing ./LogforwarderSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity1/logforwarder.
2025-12-30 06:52:54 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:52:54 - [INFO] Installing/Upgrading RPAGENT...
Enter ESA token (leave blank to use username/password):
- Enter the JWT token.
Note: To use the username and password, press ENTER.
- Press ENTER.
The script downloads the certificates and completes the installation for the RPAgent and the Database Protector. The prompt to enter the username to access the node appears.
2025-12-30 06:53:06 - [INFO] Executing ./RPAgentSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Downloading certificates from <IP_Address>:25400...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11264 100 11264 0 0 55949 0 --:--:-- --:--:-- --:--:-- 56039
Extracting certificates...
Certificates successfully downloaded and stored in /opt/protegrity1/rpagent/data
Protegrity RPAgent installed in /opt/protegrity1/rpagent.
2025-12-30 06:53:06 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:53:06 - [INFO] Installing/Upgrading DBP...
2025-12-30 06:53:06 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity1/databaseprotector/oracle.
2025-12-30 06:53:06 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:53:06 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-30 06:53:08 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-30 06:53:08 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-30 06:53:08 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-30 06:53:08 - [INFO] Configuring extproc.ora
2025-12-30 06:53:08 - [INFO] Backed up existing /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:53:08 - [INFO] Updated EXTPROC_DLLS in /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora to only include /opt/protegrity1/databaseprotector/oracle/lib/peporacle.plm
2025-12-30 06:53:08 - [INFO] Updated extproc.ora at /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:53:08 - [INFO] Detected separate runtime home: /u01/app/oracle/homes/OraDB21Home1
2025-12-30 06:53:08 - [INFO] Runtime extproc.ora symlink already points to canonical: /u01/app/oracle/homes/OraDB21Home1/hs/admin/extproc.ora -> /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:53:08 - [INFO] Synchronized extproc.ora in runtime home /u01/app/oracle/homes/OraDB21Home1/hs/admin
2025-12-30 06:53:08 - [INFO] Configuring RAC nodes...
2025-12-30 06:53:08 - [INFO] Performing pre-check on all RAC nodes before making changes...
Do you want to enter one remote username to be used for all nodes? (yes/no) [no]:
- To proceed with the different usernames for the nodes, type
no. - Press ENTER.
The prompt to enter the username appears.
Enter remote username for node <node_name> (must be in sudoers):
- Enter the username to connect to the node.
- Press ENTER.
The script validates the username. The prompt to enter the password appears.
2025-12-30 06:53:15 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 06:53:15 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<IP_Address>' (ECDSA) to the list of known hosts.
<user_name>@<node_name>'s password:
- Enter the password to access the node.
- Press ENTER.
The script validates the credentials. The prompt to enter the username for the next node appears.
2025-12-30 06:53:19 - [INFO] SSH master connection to <node_name> ready
2025-12-30 06:53:19 - [INFO] Checking sudo access for <node_name>...
2025-12-30 06:53:19 - [INFO] Precheck OK for <node_name>
Enter remote username for node <node_name> (must be in sudoers):
- Enter the username to connect to the node.
- Press ENTER.
The script validates the username. The prompt to enter the password appears.
2025-12-30 06:53:23 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 06:53:23 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<IP_Address>' (ECDSA) to the list of known hosts.
<user_name>@<node_name>'s password:
- Enter the password to access the node.
- Press ENTER.
The script validates the credentials, configures the nodes, and the prompt to create the UDF appears.
2025-12-30 06:53:27 - [INFO] SSH master connection to <node_name> ready
2025-12-30 06:53:27 - [INFO] Checking sudo access for <node_name>...
2025-12-30 06:53:27 - [INFO] Precheck OK for <node_name>
2025-12-30 06:53:27 - [INFO] Precheck complete. Starting RAC node configuration...
2025-12-30 06:53:27 - [INFO] Syncing /opt/protegrity1/logforwarder to <node_name>...
2025-12-30 06:53:30 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 06:53:33 - [INFO] Syncing /opt/protegrity1/rpagent to <node_name>...
2025-12-30 06:53:34 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 06:53:34 - [INFO] Syncing /opt/protegrity1/databaseprotector to <node_name>...
2025-12-30 06:53:35 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 06:53:35 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 06:53:35 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 06:53:36 - [INFO] Node <node_name> configured successfully.
2025-12-30 06:53:36 - [INFO] Syncing /opt/protegrity1/logforwarder to <node_name>...
2025-12-30 06:53:39 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 06:53:41 - [INFO] Syncing /opt/protegrity1/rpagent to <node_name>...
2025-12-30 06:53:42 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 06:53:43 - [INFO] Syncing /opt/protegrity1/databaseprotector to <node_name>...
2025-12-30 06:53:43 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 06:53:44 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 06:53:44 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 06:53:44 - [INFO] Node <node_name> configured successfully.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDFs, type
yes.Note: If you select No to create the UDFs, the script skips creating the UDFs. The installation will complete successfully. However, the database will not contain the required UDFs. To manually create the UDFs, refer to the section Creating the User Defined Functions (UDFs).
- Press ENTER.
The prompt to enter the database username appears.
Enter Oracle database username:
- Enter the username to connect to the database.
- Press ENTER.
The prompt to enter the password appears.
Enter Oracle database user's password:
- Enter the password to connect to the database.
- Press ENTER.
The script creates the UDFs and completes the installation.
2025-12-30 06:53:52 - [INFO] Going to create new types and UDFs.
2025-12-30 06:53:52 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-30 06:53:52 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity1/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-30 06:53:53 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-30 06:53:53 - [INFO] Create new types and UDFs executed successfully.
2025-12-30 06:53:53 - [INFO] New types and UDFs created successfully.
2025-12-30 06:53:53 - [INFO] Testing UDFs installation...
2025-12-30 06:53:53 - [INFO] Test UDFs output: <DBP_version>
2025-12-30 06:53:53 - [INFO] UDFs installation tested successfully.
2025-12-30 06:53:53 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora.bak_2025-12-30_06:53:08
2025-12-30 06:53:53 - [INFO] Closing SSH master connections...
2025-12-30 06:53:53 - [INFO] Connection to <node_name> closed.
2025-12-30 06:53:53 - [INFO] Connection to <node_name> closed.
2025-12-30 06:53:53 - [INFO] Installation successful.
2025-12-30 06:53:53 - [INFO] All components installed successfully.
4.4 - Creating the User Defined Functions (UDFs)
The Oracle Database Protector provides the createobjects.sql script to create or install the UDFs. Before executing the createobjects.sql script, configure the listener.ora, tnsnames.ora, and the extproc.ora configuration files, depending on the version of the Oracle database.
Note:
To automate the installation process, use the quick installation script provided in the build:
Install_OracleProtector_Linux_x64_<DBP_version>.sh
For more information, refer the following sections:
Note: This section outline the manual installation process for UDFs in an Oracle database environment.
To install UDFs for the Oracle Database Protector:
Connect to the database as the oracle user with the database owner credentials.
Navigate to the /opt/protegrity/databaseprotector/oracle/sqlscripts/ directory.
To install the UDFs, run the following command:
sqlplus User1/Password1 @createobjects.sql
where,
User1 and Password1 are the credentials of the database owner. The symbol \ is used for Windows and / for UNIX environments.
To view the list of all the installed UDFs, run the following command:
select PROCEDURE_NAME from user_procedures order by 1;
To verify the successful installation of the UDFs, execute any one of the following queries:
select pty.whoami() from dual;
The function returns the name of the user that is logged in to the database.
select pty.getversion() from dual;
The function returns the protector version.
5 - Configuring the Oracle Database Protector
The Oracle 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/oracle/data directory.
To open the config.ini file, run the following command:
Press ENTER.
The command opens the config.ini file.
###############################################################################
# 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 = localhost
Update the parameters, as per the description in the table.
| Parameter | Description |
|---|
cadence | Specifies 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. |
mode | Specifies the approach of handling logs when the connection to the Log Forwarder is lost. |
Save the changes to the config.ini file.
Updating the parameters in the rpagent.cfg file:
Log in to the required node.
Navigate to the /opt/protegrity/rpagent/data directory.
To open the rpagent.cfg file, run the following command:
Press ENTER.
The command opens the rpagent.cfg file.
###############################################################################
# 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 = localhost
Update the parameters, as per the description in the 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.cfg file. |
| 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.cfg file.
5.1 - User Impersonation
This page describes how to impersonate a user in the Oracle database protector. The user impersonation feature enables you to perform operations and access resources on behalf of another user. Service users leverage this feature to impersonate individual users. However, to supply user context to execute a query, upper applications provide the CLIENT_IDENTIFIER. Set the impersonation parameter to YES in the config.ini file, to use the CLIENT_IDENTIFIER parameter of the inbuilt USERENV application context SYS_CONTEXT provided by the Oracle database.
To impersonate a user:
Log in to the node where the Oracle database is installed.
Navigate to the /opt/protegrity/databaseprotector/oracle/data/ directory.
To open the config.ini file, run the following command:
Press ENTER.
The command opens the config.ini file.
###############################################################################
# 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 = localhost
To include the impersonation parameter and set the value to YES, add the following code:
[userimpersonation]
impersonation = yes/no or YES/NO
Note: The default value of the impersonation parameter is set to NO or no.
Assign 644 permissions to the config.ini file.
This is required only tf the ownership of the config.ini file is not set to the oracle user and the oinstall group.
Connect to the database session using the service account. For example, USER1.
To set the CLIENT_IDENTIFIER, execute the following query:
EXEC DBMS_SESSION.SET_IDENTIFIER ('USER2');
Press ENTER.
The query returns the name of the user for whom you set the CLIENT_IDENTIFIER parameter.
To verify the value that is set for the CLIENT_IDENTIFIER parameter, execute the following query:
SQL> select sys_context('USERENV','CLIENT_IDENTIFIER') from dual; SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER')
Press ENTER.
The query returns the name of the user for whom you set the CLIENT_IDENTIFIER parameter.
Warning: When you set the value of the impersonation parameter to yes/YES, then set a value for the the CLIENT_IDENTIFIER parameter. The protect/unprotect UDFs will run only after the value for the CLIENT_IDENTIFIER parameter is set. If you set the value of the impersonation parameter to yes/YES, and fail to set the value for the CLIENT_IDENTIFIER parameter, then the PTY.WHOAMI() UDF will return the username as <no_user>. This will cause the protect/unprotect operations to fail with the Failed to retrieve user error message.
To verify the user who is logged into the database session, execute the following query:
select pty.whoami() from dual;
Press ENTER.
The query returns the name of the user that is logged into the current database session.
To clear the value set for the CLIENT_IDENTIFIER parameter, execute the following query:
EXEC DBMS_SESSION.CLEAR_IDENTIFIER;
5.2 - Enterprise User Security (EUS) in the Oracle Database
Enterprise User Security (EUS) is an important component of the Oracle database that allows you to centrally manage the database users across the enterprise. Enterprise users are the users that are defined and managed in a directory. Every enterprise user has a unique identity across the enterprise. The Enterprise User Security relies on the Oracle Identity Management infrastructure, which uses an LDAP-compliant directory service to centrally store and manage the users.
Protegrity supports the following authentication methods:
- Password-based authentication
- SSL-based authentication
- Kerberos-based authentication
In the following list, the type of user is followed by the value returned:
- Password-authenticated enterprise user: nickname (same as the login name)
- Password-authenticated database user: the database username (same as the schema name)
- SSL-authenticated enterprise user: the DN in the user’s PKI certificate
- SSL-authenticated external user: the DN in the user’s PKI certificate
- Kerberos-authenticated enterprise user: Kerberos principal name
- Kerberos-authenticated external user: Kerberos principal name, which is the same as the schema name
The Oracle database protector supports the retrieval of the user information using the AUTHENTICATED_IDENTITY parameter that returns the identity used for the authentication.
Using the EUS Feature
The instructions and examples provided in the section use Kerberos-based authentication.
Note:
- Ensure that the username in the ESA policy contains only the username and does not include the domain name. For example, USER1.
- Currently, only one domain name is supported.
To use the EUS feature:
- To create a Kerberos ticket for the enterprise user, run the following command:
- Press ENTER.
The command prompts for the password of the enterprise user.
[oracle@db ~]$ okinit USER1
Kerberos Utilities for Linux: Version 18.0.0.0.0 - Production on 15-DEC-2021 06:07:06
Copyright (c) 1996, 2017 Oracle. All rights reserved.
Configuration file : /u01/app/oracle/product/18.0.0/dbhome_1/network/admin/kerberos/krb5.conf.
Password for USER1@TESTLAB.COM:
- Enter the password.
- Press ENTER.
- To verify whether the authentication ticket is generated successfully, run the following command:
- Press ENTER.
The command displays the authentication ticket details.
[oracle@db ~]$ oklist
Kerberos Utilities for Linux: Version 18.0.0.0.0 - Production on 15-DEC-2021 06:07:37
Copyright (c) 1996, 2017 Oracle. All rights reserved.
Configuration file : /u01/app/oracle/product/18.0.0/dbhome_1/network/admin/kerberos/
krb5.conf.
Ticket cache: FILE:/tmp/krb5cc_54321
Default principal: USER1@TESTLAB.COM
Valid starting Expires Service principal
12/15/21 06:07:06 12/15/21 16:07:06 krbtgt/TESTLAB.COM@TESTLAB.COM
renew until 12/16/21 06:07:06
[oracle@db ~]$
- To login to the Oracle database, run the following command:
sqlplus /@<database_name>
- Press ENTER.
The SQL prompt appears.
- To verify the authentication method, run the following command:
select sys_context('USERENV','AUTHENTICATION_METHOD') from dual;
- Press ENTER.
The command displays the authentication method.
select sys_context('USERENV','AUTHENTICATION_METHOD') from dual;
SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD')
--------------------------------------------------------------------------------
KERBEROS
- To view the user, run the following command:
- Execute a sample protect operation.
SQL> select pty.ins_encrypt('AES128', 'Original data', 0) from dual;
PTY.INS_ENCRYPT('AES128','ORIGINALDATA',0)
--------------------------------------------------------------------------------
3713D5C1E058701568115B28885707CA
SQL>
- Execute a sample unprotect operation.
SQL> select pty.sel_decrypt('AES128', pty.ins_encrypt('AES128', 'Protegrity', 0) , 0) from dual;
PTY.SEL_DECRYPT('AES128',PTY.INS_ENCRYPT('AES128','PROTEGRITY',0),0)
--------------------------------------------------------------------------------
Protegrity
SQL>
This section describes how to use the AUTHENTICATED_IDENTITY parameter to retrieve the information of an enterprise user.
To fetch the information of an enterprise user, run the following query:
select sys_context( 'userenv', 'AUTHENTICATED_IDENTITY' ) from dual;
Note: The AUTHENTICATED_IDENTITY parameter contains the information of the enterprise user and returns the identity that is used in the authentication.
5.3 - Troubleshooting
This section lists the general configuration steps and the common errors that occur during installation or upgrade.
Resolving the ORA-06520 Error
The following error indicate a missing symlink or an external library:
ORA-06520: PL/SQL: Error loading external library
ORA-06512: at "<user_name>.PTY", line 1022
ORA-06512: at "<user_name>.PTY", line 2633
[ERROR] Failed to test UDFs installation
[ERROR] sqlplus exit code: 1
[ERROR] Installation failed. Rolling back changes...
Note: This error typically occurs in Oracle versions 21 and earlier.
To address runtime/configuration issues, perform the following steps:
- Ensure
libclntsh.so.<version> symlinks to libclntsh.so in the Oracle library directory. - Run
ln -s libclntsh.so libclntsh.so.23.1.
Configuring the Environment Variables
The Oracle DB Protector can be installed by the sudoer user and Oracle admin user. This section discusses the installation using the sudoer user. Wherever possible, the Oracle commands for the Oracle admin user would be provided as well. To use the Oracle DB Protector, configure environment variables as per the Oracle version being used.
Resolving the ORA-20113 Error
In case of the ORA-20113: Failed to Load configuration error message, ensure to grant 755 permissions to the following directories:
/etc/protegrity/<installaiton_directory>
Resolving the ORA-28575 Error
In the Oracle Database Protector on the AIX platform, if the external procedure fails with the ORA-28575: unable to open RPC connection to external procedure agent error message, then create a soft link for the extproc binary.
To create the soft link for the extproc binary:
- Log in to the Oracle Database server.
- To navigate to the directory that contains the binaries, run the following command:
cd $ORACLE_HOME/rdbms/lib
- To create the soft link, run the following command:
make -f ins_rdbms.mk iextproc
Configuring the extproc.ora Environment Variable
The extproc.ora file is available in the $ORACLE_HOME directory.
- To identify the location of the
extproc.ora file, run the following command:find . -name extproc.ora 2>/dev/null
- To use the Protegrity UDFs, add the following environment variable in the
extproc.ora file:
Recovering a Failed Upgrade
There can be scenarios where an automatic rollback of the Oracle Database Protector UDF solution may complete with errors. This results in the system being in a potentially inconsistent state. In such instances, the installer retains the backup directories of the previously working installation. The system can be manually restored to the previous working installation.
Important:
- Execute the steps using the appropriate system user.
- Ensure the availability of appropriate operating system level and Oracle database privileges.
- Execute the steps in the specified order.
- Commands assume a Linux/Unix environment.
- Use extreme caution when running rsync commands with the
--delete option.
When a rollback operation fails, the installer retains the following backup directories (example with timestamp):
<path_to_previous_installation_dir>/logforwarder_<timestamp>
<path_to_previous_installation_dir>/rpagent_<timestamp>
<path_to_previous_installation_dir>/databaseprotector_<timestamp>
/etc/protegrity_<timestamp>
When a component is installed, it is placed under a component-specific subdirectory under the user-provided installation directory:
- Logforwarder →
<installation_dir>/logforwarder - RPAgent →
<installation_dir>/rpagent - Database Protector →
<installation_dir>/databaseprotector
The backup directories contain the contents of these component directories and must be restored into their corresponding target directories.
Verifying the Log Forwarder Status
- To verify the status of the Log Forwarder, run the following command:
<installation_dir>/logforwarder/bin/logforwarderctrl status
- Press ENTER.
The script returns the status of the Log Forwarder.
- To stop the Log Forwarder, run the following command:
<installation_dir>/logforwarder/bin/logforwarderctrl stop
- Press ENTER.
The command stops the Log Forwarder.
- To check for any running instances of the Log Forwarder, run the following command:
ps -ef | grep logforwarder
Note: This command is useful in scenarios where installation is corrupt and the control command fails to return a valid status.
- Press ENTER.
The command lists all the running instances of the Log Forwarder along with the respective process ID.
- To stop the specific instance of the Log Forwarder, run the following command:
kill -9 <logforwarder_process_id>
- Press ENTER.
The command will stop the specific instance of the Log Forwarder.
Verifying the RPAgent Status
- To verify the status of the RPAgent, run the following command:
<installation_dir>/rpagent/bin/rpagentctrl status
- Press ENTER.
The script returns the status of the RPAgent.
- To stop the RPAgent, run the following command:
<installation_dir>/rpagent/bin/rpagentctrl stop
- Press ENTER.
The command stops the RPAgent.
- To check for any running instances of the RPAgent, run the following command:
Note: This command is useful in scenarios where installation is corrupt and the control command fails to return a valid status.
- Press ENTER.
The command lists all the running instances of the RPAgent along with the respective process ID.
- To stop the specific instance of the RPAgent, run the following command:
kill -9 <rpagent_process_id>
- Press ENTER.
The command will stop the specific instance of the RPAgent.
Restoring the Component Directories and User Configuration
Restore the contents of all the Protegrity components and configuration directories using the retained backups.
For each component:
- Identify the installation directory.
- Replace its contents with the corresponding backup directory using a suitable tool such as
rsync, cp, or mv.
Note: The Logforwarder, RPAgent, and Database Protector components may be installed in the same directory or in separate directories, depending on the environment.
Important:
- Ensure all services are stopped before performing this step.
- Do not merge directories manually.
- Always fully replace the target directory contents with the backup contents.
Restoring the Log Forwarder
- To navigate to the backup directory, run the following command:
<path_to_previous_installation_dir>/logforwarder_<timestamp>
- To navigate to the installation directory, run the following command:
<installation_dir>/logforwarder
- To restore the Log Forwarder, run the following command:
rsync -a --delete <path_to_previous_installation_dir>/logforwarder_<timestamp>/ <installation_dir>/logforwarder/
Warning
rsync --delete option permanently removes files from the target directory that are not present in the backup.
Always verify that the target directory is the correct component directory before executing the command.
Restoring the RPAgent
- To navigate to the backup directory, run the following command:
<path_to_previous_installation_dir>/rpagent_<timestamp>
- To navigate to the installation directory, run the following command:
<installation_dir>/rpagent
- To restore the RPAgent, run the following command:
rsync -a --delete <path_to_previous_installation_dir>/rpagent_<timestamp>/ <installation_dir>/rpagent/
Warning
rsync --delete option permanently removes files from the target directory that are not present in the backup.
Always verify that the target directory is the correct component directory before executing the command.
Restoring the Database Protector
- To navigate to the backup directory, run the following command:
<path_to_previous_installation_dir>/databaseprotector_<timestamp>
- To navigate to the installation directory, run the following command:
<installation_dir>/databaseprotector
- To restore the Database Protector, run the following command:
rsync -a --delete <path_to_previous_installation_dir>/databaseprotector_<timestamp>/ <installation_dir>/databaseprotector/
Warning
rsync --delete option permanently removes files from the target directory that are not present in the backup.
Always verify that the target directory is the correct component directory before executing the command.
Restoring the User Configuration
- To navigate to the backup directory, run the following command:
- To restore the user configuration, run the following command:
rsync -a --delete /etc/protegrity_<timestamp>/ /etc/protegrity/
Note:
The /etc/protegrity/ directory location does not change across installations or upgrades.
This step ensures that all previous configuration settings are fully restored.
Starting the Services
- To start the Log Forwarder, run the following command:
<installation_dir>/logforwarder/bin/logforwarderctrl start
- To start the RPAgent, run the following command:
<installation_dir>/rpagent/bin/rpagentctrl start
Restoring the Oracle Database Protector
Due to the failed rollback, the Oracle Database Protector types and UDFs may be in an invalid or inconsistent state. If database functionality is not correct, re-create the database objects.
- To navigate to the directory containing the scripts, run the following command:
cd <installation_dir>/databaseprotector/oracle/sqlscripts
- To drop the existing objects, run the following command, with an Oracle database user that owns the existing types and UDFs, or has sufficient privileges to drop them:
sqlplus <user_name>/<password> @dropobjects.sql
Important:
- During upgrades, different database users may have been used to create the UDFs.
- If rollback failed part-way, ownership of existing database objects may be unclear.
- Use the database user that owns the existing objects or has sufficient privileges.
- Errors such as “object does not exist” may occur and can be safely ignored depending on the database state.
- To re-create the objects, run the following command, with a database user with the required permissions to create Oracle Database Protector types and UDFs:
sqlplus <user_name>/<password>@dcreateobjects.sql
Note: If issues persist after manual recovery, contact Protegrity Support and provide the installer log and details of the recovery steps performed.
Recovering a Partially Failed Installation
The Oracle Database Protector installation and upgrade processes involves creating and dropping a large number of Oracle database types and UDFs. In some scenarios, the SQL scripts may partially fail, resulting in an inconsistent database state.
The common scenarios include:
- Fresh installation scenario where creation of some types or UDF fails.
- Upgrade process where some new objects are created before a failure occurs.
- Rollback process where the
dropobjects.sql script encounters objects that were never created or were already dropped.
In such scenarios, the rollback process may log warnings similar to:
[WARN] IMPORTANT: One or more errors occurred while dropping new or restoring existing types and UDFs during rollback.
[WARN] This may indicate that some SQL script partially failed before and/or during the rollback.
[WARN] For example, you may see errors such as 'already exists' or 'not found'.
[WARN] Please review the current state of the database objects to ensure they match the expected configuration.
[WARN] Manual intervention may be required to fully restore the previous state.
These warnings are informational and do not automatically require action. However, a manual intervention is only required if the following instances are true:
- The installer or rollback logs report SQL-related warnings or errors and
- The current state of Oracle Database Protector types and UDFs is incorrect or inconsistent.
These errors occur because:
- SQL scripts may fail partially because of permission issues, transient database errors, or environmental errors.
- During rollback, the
dropobjects.sql script attempts to drop all known objects. - Objects that were never created or were already removed, will generate errors such as:
- object does not exist
- already exists
Such errors are expected in partial-failure scenarios and do not necessarily indicate a fatal problem.
Execute the following steps ONLY when verification indicates that database objects are missing, invalid, or corrupted.
Re-create Database Objects (Only If Required)
To navigate to the directory where the scripts are located, run the following command:
cd <installation_dir>/databaseprotector/oracle/sqlscripts
Press ENTER.
The command navigates to the directory containing the scripts.
To drop the UDFs, run the following command as a database user that owns the existing types and UDFs or has sufficient privileges:
sqlplus <user_name>/<password>@dropobjects.sql
Where:
<user_name> is the database user that owns the existing types and UDFs.- The user must have all required permissions listed in the product documentation.
Note: Errors such as object does not exist are expected in partial-failure scenarios and can be safely ignored.
To create the new UDFs, run the following command as a database user having all the required permissions to create Oracle Database Protector types and UDFs:
sqlplus <user_name>/<password> @createobjects.sql
Where:
<user_name> is the database user that owns the existing types and UDFs.- The user must have all required permissions listed in the product documentation.
Press ENTER.
The script recreates the Oracle Database Protector types and UDFs. The database objects are restored to a clean and consistent state. The installation or rollback process is fully recovered from the SQL partial-failure scenario.
Note: If errors persist after re-creating the objects, review the SQL output and contact Protegrity Support with the installer and rollback logs.
6 - Upgrading the Oracle Database Protector
This section explains procedure to upgrade the Oracle Database Protector. The upgrade process leverages the master installation script Install_OracleProtector_Linux_x64_<DBP_version>.sh from the installation package.
6.1 - Upgrading the Oracle Database Protector on Standalone system
The Oracle Database Protector build provides an automated script to manage the upgrade process. The master script internally calls the scripts to install and upgrade the components. The master script installs and upgrades the components in the following order:
- Log Forwarder
- RPAgent
- Policy Enforcement Point (Database Protector)
The master script is available in the directory where the installation files are extracted. It provides the following arguments:
install - installs the components in an interactive mode.upgrade - installs a newer version of the protector with minimal downtime.silent - installs the components in a non-interactive mode.install.ini - installs the components as per the parameters provided in the file.help - lists the arguments available for the script.
During the upgrade process, the master script:
- Verifies the existing configuration.
- Creates a backup of the existing configuration.
- Stops the required services.
- Drops the existing UDFs.
- Installs the new version.
- Starts the required services.
- Creates the new UDFs and retains the existing configuration.
In addition, the master script will rollback the upgrade process if any errors are encountered. The script will revert the changes and restore the previous working version of the Oracle Database Protector.
Viewing the Arguments for the Script
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To view the arguments, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --help
- Press ENTER.
The script lists the available arguments.
Options:
--install Use this option when installing the solution for the first time on a machine/host.
(i.e., there is no previous installation present)
--upgrade Use this option when upgrading an existing installation on the machine/host.
--install-ini <file> (Optional) Provide a path to an install.ini file for silent or pre-configured installations.
This option works with --install only.
It must not be used with --upgrade or --silent.
You can pass this either as:
--install-ini /path/to/install.ini
or
--install-ini=/path/to/install.ini
Refer to the product documentation for details about the configuration options available in install.ini.
The documentation describes all supported keys, required fields, and example configurations.
--silent (Optional) Runs the installation/upgrade in silent mode with minimum interactive prompts.
--help, -h Display this help message and exit.
Upgrading the Protector using the Interactive Mode
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the upgrade script, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --upgrade
- Press ENTER.
The prompt to select the silent mode of installation appears.
2025-12-23 12:21:23 - [INFO] If silent mode is selected, the default base directory (/opt/protegrity) will be used as the location of the existing installation for each component (Logforwarder, RPAgent and DatabaseProtector).
Do you want silent installation? (yes/no) [no]:
- To install the components using the interactive mode, type
no. - Press ENTER.
The prompt to enter the location of the existing installation appears.
Enter existing installation directories:
Existing LogForwarder installation directory [/opt/protegrity]:
- Enter the directory path where the existing version of the Log Forwarder is installed.
- Press ENTER.
The prompt to enter RPAgent installation directory appears.
Existing RPAgent installation directory [/opt/protegrity]:
- Enter the directory path where the existing version of the RPAgent is installed.
- Press ENTER.
The prompt to enter the Database Protector installation directory appears.
Existing DatabaseProtector installation directory [/opt/protegrity]:
- Enter the directory path where the existing version of the Database Protector is installed.
- Press ENTER.
The prompt to select a single installation directory for the components appears.
Do you want to install the new LogForwarder, RPAgent, and DatabaseProtector together in a single directory? (yes/no) [no]:
- To install the new components in a single directory, type
yes. - Press ENTER.
The prompt to enter the installation directory for the new version appears.
Enter new installation directory [/opt/protegrity]:
- Enter the location where the components must be installed.
- Press ENTER.
The script lists the configuration and a prompt to confirm appears.
2025-12-23 12:21:43 - [INFO] Verifying previous installation directories for all components...
2025-12-23 12:21:43 - [INFO] Existing LogForwarder directory: /opt/protegrity1/logforwarder
2025-12-23 12:21:43 - [INFO] Existing RPAgent directory: /opt/protegrity1/rpagent
2025-12-23 12:21:43 - [INFO] Existing DatabaseProtector directory: /opt/protegrity1/databaseprotector
2025-12-23 12:21:43 - [INFO] All existing component directories verified successfully.
2025-12-23 12:21:44 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-23 12:21:44 - [INFO] No ASM instance found. This is a standalone system.
2025-12-23 12:21:44 - [INFO] No Grid home found. Treating it as a standalone Oracle.
2025-12-23 12:21:44 - [INFO] Going to configure environment for upgrade
2025-12-23 12:21:44 - [INFO] Discovered ORACLE_SID=orcl, ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 12:21:44 - [INFO] Oracle environment set:
2025-12-23 12:21:44 - [INFO] ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 12:21:44 - [INFO] ORACLE_SID=orcl
2025-12-23 12:21:44 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0/dbhome_1/lib
2025-12-23 12:21:44 - [INFO] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin
2025-12-23 12:21:44 - [INFO] Environment configured successfully...
2025-12-23 12:21:44 - [INFO] **************************************************************************
2025-12-23 12:21:44 - [INFO] Upgrade will be done with following configuration:
2025-12-23 12:21:44 - [INFO] Oracle Instance ID: orcl
2025-12-23 12:21:44 - [INFO] Mode: upgrade
2025-12-23 12:21:44 - [INFO] Existing Logforwarder Installation Directory: /opt/protegrity1
2025-12-23 12:21:44 - [INFO] Existing RPAgent Installation Directory: /opt/protegrity1
2025-12-23 12:21:44 - [INFO] Existing DatabaseProtector Installation Directory: /opt/protegrity1
2025-12-23 12:21:44 - [INFO] New Logforwarder Installation Directory: /opt/protegrity
2025-12-23 12:21:44 - [INFO] New RPAgent Installation Directory: /opt/protegrity
2025-12-23 12:21:44 - [INFO] New DatabaseProtector Installation Directory: /opt/protegrity
2025-12-23 12:21:44 - [INFO] Audit Store Endpoints: <IP_Address>:9200 <IP_Address>:9200 <IP_Address>:9200
2025-12-23 12:21:44 - [INFO] Upstream (ESA) Hostname or IP Address for RPAgent: <IP_Address>
2025-12-23 12:21:44 - [INFO] Upstream (ESA) Port for RPAgent: 25400 (Default)
2025-12-23 12:21:44 - [INFO] This is an upgrade.
2025-12-23 12:21:44 - [INFO] Previous installations will be backed up before upgrade.
2025-12-23 12:21:44 - [INFO] Existing Logforwarder and RPAgent configurations will be retained
2025-12-23 12:21:44 - [INFO] Standalone setup detected
2025-12-23 12:21:44 - [INFO] **************************************************************************
2025-12-23 12:21:44 - [WARN] **************************************************************************
2025-12-23 12:21:44 - [WARN] IMPORTANT: Any queries currently running may be impacted during upgrade.
2025-12-23 12:21:44 - [WARN] It is recommended to perform the upgrade during a maintenance window.
2025-12-23 12:21:44 - [WARN] **************************************************************************
2025-12-23 12:21:44 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the upgrade, type
yes. - Press ENTER.
The script creates a backup of the existing configuration, installs the Log Forwarder, RPAgent, and the Oracle objects. The prompt to create the UDF appears.
2025-12-23 12:21:48 - [INFO] Continuing with upgrade...
2025-12-23 12:21:48 - [INFO] Backing up /opt/protegrity1/logforwarder to /opt/protegrity1/logforwarder_backup_20251223122148...
2025-12-23 12:21:48 - [INFO] Backup of /opt/protegrity1/logforwarder completed Successfully...
2025-12-23 12:21:48 - [INFO] Backing up /opt/protegrity1/rpagent to /opt/protegrity1/rpagent_backup_20251223122148...
2025-12-23 12:21:48 - [INFO] Backup of /opt/protegrity1/rpagent completed Successfully...
2025-12-23 12:21:48 - [INFO] Backing up /opt/protegrity1/databaseprotector to /opt/protegrity1/databaseprotector_backup_20251223122148...
2025-12-23 12:21:49 - [INFO] Backup of /opt/protegrity1/databaseprotector completed Successfully...
2025-12-23 12:21:49 - [INFO] Backing up /etc/protegrity to /etc/protegrity_backup_20251223122148...
2025-12-23 12:21:49 - [INFO] Backup of /etc/protegrity completed Successfully...
2025-12-23 12:21:49 - [INFO] Existing Logforwarder is currently running.
2025-12-23 12:21:49 - [INFO] Existing RPAgent is currently running.
2025-12-23 12:21:49 - [INFO] Installing/Upgrading LOGFORWARDER...
2025-12-23 12:21:49 - [INFO] Executing ./LogforwarderSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity/logforwarder.
2025-12-23 12:21:49 - [INFO] Retaining existing Logforwarder configuration...
2025-12-23 12:21:49 - [INFO] Logforwarder configuration retained successfully.
2025-12-23 12:21:49 - [INFO] Updating configuration files in /opt/protegrity/logforwarder/data to use new installation directory.
2025-12-23 12:21:49 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:21:49 - [INFO] Installing/Upgrading RPAGENT...
2025-12-23 12:21:49 - [INFO] Executing ./RPAgentSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Since --nocert was provided certificates are not downloaded automatically.
Protegrity RPAgent installed in /opt/protegrity/rpagent.
2025-12-23 12:21:49 - [INFO] Retaining existing RPAgent configuration...
2025-12-23 12:21:49 - [INFO] RPAgent configuration retained successfully.
2025-12-23 12:21:49 - [INFO] Updating configuration files in /opt/protegrity/rpagent/data to use new installation directory.
2025-12-23 12:21:49 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:21:49 - [INFO] Installing/Upgrading DBP...
2025-12-23 12:21:49 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity/databaseprotector/oracle.
2025-12-23 12:21:49 - [INFO] Retaining existing Database Protector configuration...
2025-12-23 12:21:49 - [INFO] Database Protector configuration retained successfully.
2025-12-23 12:21:49 - [INFO] Updating configuration files in /opt/protegrity/databaseprotector/oracle/data to use new installation directory.
2025-12-23 12:21:49 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:21:49 - [INFO] Going to stop existing Logforwarder instance
2025-12-23 12:21:54 - [INFO] Existing Logforwarder successfully stopped
2025-12-23 12:21:54 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-23 12:21:56 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-23 12:21:56 - [INFO] Going to stop existing RPAgent instance
Stopping rpagent
2025-12-23 12:21:57 - [INFO] Existing RPAgent successfully stopped
2025-12-23 12:21:57 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-23 12:21:57 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-23 12:21:57 - [INFO] Configuring extproc.ora
2025-12-23 12:21:57 - [INFO] Backed up existing /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:21:57 - [INFO] /opt/protegrity/databaseprotector/oracle/lib/peporacle.plm already present in /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:21:57 - [INFO] Updated extproc.ora at /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:21:57 - [INFO] No separate runtime home detected or runtime home same as ORACLE_HOME; skipping sync.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDFs, type
yes. - Press ENTER.
The prompt to enter the database username appears.
Enter Oracle database username:
- Enter the database username.
- Press ENTER.
The prompt to enter the database password appears.
Enter Oracle database user's password:
- Enter the database password.
- Press ENTER.
The prompt to confirm the database user appears.
Was a different Oracle database user used for the previous installation's types and UDFs? (yes/no) [no]:
- To continue with the existing database username, type
no. - Press ENTER.
The script drops the UDFs from the existing version and installs the UDFs from the new version. The script also performs a cleanup and completes the upgrade.
2025-12-23 12:24:20 - [INFO] Dropping existing types and UDFs
2025-12-23 12:24:20 - [INFO] Using username '' for database connection and dropping existing types and UDFs.
2025-12-23 12:24:20 - [INFO] Running SQL script: Drop existing types and UDFs (/opt/protegrity1/databaseprotector_backup_20251223122148/oracle/sqlscripts/dropobjects.sql)
2025-12-23 12:24:21 - [INFO] sqlplus output:
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Package body dropped.
Package dropped.
Library dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
2025-12-23 12:24:21 - [INFO] Drop existing types and UDFs executed successfully.
2025-12-23 12:24:21 - [INFO] Existing types and UDFs dropped successfully.
2025-12-23 12:24:21 - [INFO] Going to create new types and UDFs.
2025-12-23 12:24:21 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-23 12:24:21 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-23 12:24:23 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-23 12:24:23 - [INFO] Create new types and UDFs executed successfully.
2025-12-23 12:24:23 - [INFO] New types and UDFs created successfully.
2025-12-23 12:24:23 - [INFO] Testing UDFs installation...
2025-12-23 12:24:24 - [INFO] Test UDFs output: <DBP_version>
2025-12-23 12:24:24 - [INFO] UDFs installation tested successfully.
2025-12-23 12:24:24 - [INFO] Removing previous installation directories.
2025-12-23 12:24:24 - [INFO] Removing previous Logforwarder directory /opt/protegrity1/logforwarder
2025-12-23 12:24:24 - [INFO] Removing previous RPAgent directory /opt/protegrity1/rpagent
2025-12-23 12:24:24 - [INFO] Removing previous DatabaseProtector directory /opt/protegrity1/databaseprotector
2025-12-23 12:24:24 - [INFO] Removing backups...
2025-12-23 12:24:24 - [INFO] Removing Logforwarder backup directory /opt/protegrity1/logforwarder_backup_20251223122148
2025-12-23 12:24:24 - [INFO] Removing RPAgent backup directory /opt/protegrity1/rpagent_backup_20251223122148
2025-12-23 12:24:24 - [INFO] Removing Database Protector backup directory /opt/protegrity1/databaseprotector_backup_20251223122148
2025-12-23 12:24:24 - [INFO] Removing User configuration backup directory /etc/protegrity_backup_20251223122148
2025-12-23 12:24:24 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora.bak_2025-12-23_12:21:57
2025-12-23 12:24:24 - [INFO] Closing SSH master connections...
2025-12-23 12:24:24 - [INFO] Upgrade successful.
2025-12-23 12:24:24 - [INFO] All components upgraded successfully.
Upgrading the Protector using the Silent Mode
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the upgrade script, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --upgrade
- Press ENTER.
The prompt to select the silent mode of installation appears.
2025-12-23 12:21:23 - [INFO] If silent mode is selected, the default base directory (/opt/protegrity) will be used as the location of the existing installation for each component (Logforwarder, RPAgent and DatabaseProtector).
Do you want silent installation? (yes/no) [no]:
- To install the components using the silent mode, type
yes. - Press ENTER.
The script retrieves the current configuration and a prompt to confirm the configuration appears.
2025-12-23 12:51:34 - [INFO] You have chosen silent mode. Therefore, /opt/protegrity is considered as base directory for new installation.
2025-12-23 12:51:34 - [INFO] This is an upgrade and you have chosen silent mode. Therefore, /opt/protegrity is considered as base directory for existing installation.
2025-12-23 12:51:34 - [INFO] Verifying previous installation directories for all components...
2025-12-23 12:51:34 - [INFO] Existing LogForwarder directory: /opt/protegrity/logforwarder
2025-12-23 12:51:34 - [INFO] Existing RPAgent directory: /opt/protegrity/rpagent
2025-12-23 12:51:34 - [INFO] Existing DatabaseProtector directory: /opt/protegrity/databaseprotector
2025-12-23 12:51:34 - [INFO] All existing component directories verified successfully.
2025-12-23 12:51:34 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-23 12:51:34 - [INFO] No ASM instance found. This is a standalone system.
2025-12-23 12:51:34 - [INFO] No Grid home found. Treating it as a standalone Oracle.
2025-12-23 12:51:34 - [INFO] Going to configure environment for upgrade
2025-12-23 12:51:34 - [INFO] Discovered ORACLE_SID=orcl, ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 12:51:34 - [INFO] Oracle environment set:
2025-12-23 12:51:34 - [INFO] ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
2025-12-23 12:51:34 - [INFO] ORACLE_SID=orcl
2025-12-23 12:51:34 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0/dbhome_1/lib
2025-12-23 12:51:34 - [INFO] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin
2025-12-23 12:51:34 - [INFO] Environment configured successfully...
2025-12-23 12:51:34 - [INFO] **************************************************************************
2025-12-23 12:51:34 - [INFO] Upgrade will be done with following configuration:
2025-12-23 12:51:34 - [INFO] Oracle Instance ID: orcl
2025-12-23 12:51:34 - [INFO] Mode: upgrade
2025-12-23 12:51:34 - [INFO] Existing Logforwarder Installation Directory: /opt/protegrity
2025-12-23 12:51:34 - [INFO] Existing RPAgent Installation Directory: /opt/protegrity
2025-12-23 12:51:34 - [INFO] Existing DatabaseProtector Installation Directory: /opt/protegrity
2025-12-23 12:51:34 - [INFO] New Logforwarder Installation Directory: /opt/protegrity
2025-12-23 12:51:34 - [INFO] New RPAgent Installation Directory: /opt/protegrity
2025-12-23 12:51:34 - [INFO] New DatabaseProtector Installation Directory: /opt/protegrity
2025-12-23 12:51:34 - [INFO] Audit Store Endpoints: <IP_Address>:9200 <IP_Address>:9200 <IP_Address>:9200
2025-12-23 12:51:34 - [INFO] Upstream (ESA) Hostname or IP Address for RPAgent: <IP_Address>
2025-12-23 12:51:34 - [INFO] Upstream (ESA) Port for RPAgent: 25400 (Default)
2025-12-23 12:51:34 - [INFO] This is an upgrade.
2025-12-23 12:51:34 - [INFO] Previous installations will be backed up before upgrade.
2025-12-23 12:51:34 - [INFO] Existing Logforwarder and RPAgent configurations will be retained
2025-12-23 12:51:34 - [INFO] Standalone setup detected
2025-12-23 12:51:34 - [INFO] **************************************************************************
2025-12-23 12:51:34 - [WARN] **************************************************************************
2025-12-23 12:51:34 - [WARN] IMPORTANT: Any queries currently running may be impacted during upgrade.
2025-12-23 12:51:34 - [WARN] It is recommended to perform the upgrade during a maintenance window.
2025-12-23 12:51:34 - [WARN] **************************************************************************
2025-12-23 12:51:34 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the configuration, type
yes. - Press ENTER.
The script upgrades the Log Forwarder, RPAgent, and the Oracle objects. The prompt to create the UDF appears.
2025-12-23 12:51:42 - [INFO] Continuing with upgrade...
2025-12-23 12:51:42 - [INFO] Backing up /opt/protegrity/logforwarder to /opt/protegrity/logforwarder_backup_20251223125142...
2025-12-23 12:51:42 - [INFO] Backup of /opt/protegrity/logforwarder completed Successfully...
2025-12-23 12:51:42 - [INFO] Backing up /opt/protegrity/rpagent to /opt/protegrity/rpagent_backup_20251223125142...
2025-12-23 12:51:42 - [INFO] Backup of /opt/protegrity/rpagent completed Successfully...
2025-12-23 12:51:42 - [INFO] Backing up /opt/protegrity/databaseprotector to /opt/protegrity/databaseprotector_backup_20251223125142...
2025-12-23 12:51:42 - [INFO] Backup of /opt/protegrity/databaseprotector completed Successfully...
2025-12-23 12:51:42 - [INFO] Backing up /etc/protegrity to /etc/protegrity_backup_20251223125142...
2025-12-23 12:51:42 - [INFO] Backup of /etc/protegrity completed Successfully...
2025-12-23 12:51:42 - [INFO] Existing Logforwarder is currently running.
2025-12-23 12:51:42 - [INFO] Existing RPAgent is currently running.
2025-12-23 12:51:42 - [INFO] Installing/Upgrading LOGFORWARDER...
2025-12-23 12:51:42 - [INFO] Executing ./LogforwarderSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity/logforwarder.
2025-12-23 12:51:42 - [INFO] Retaining existing Logforwarder configuration...
2025-12-23 12:51:42 - [INFO] Logforwarder configuration retained successfully.
2025-12-23 12:51:42 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:51:42 - [INFO] Installing/Upgrading RPAGENT...
2025-12-23 12:51:42 - [INFO] Executing ./RPAgentSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Since --nocert was provided certificates are not downloaded automatically.
Protegrity RPAgent installed in /opt/protegrity/rpagent.
2025-12-23 12:51:42 - [INFO] Retaining existing RPAgent configuration...
2025-12-23 12:51:42 - [INFO] RPAgent configuration retained successfully.
2025-12-23 12:51:42 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:51:42 - [INFO] Installing/Upgrading DBP...
2025-12-23 12:51:42 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity/databaseprotector/oracle.
2025-12-23 12:51:42 - [INFO] Retaining existing Database Protector configuration...
2025-12-23 12:51:42 - [INFO] Database Protector configuration retained successfully.
2025-12-23 12:51:42 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-23 12:51:42 - [INFO] Going to stop existing Logforwarder instance
2025-12-23 12:51:47 - [INFO] Existing Logforwarder successfully stopped
2025-12-23 12:51:47 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-23 12:51:49 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-23 12:51:49 - [INFO] Going to stop existing RPAgent instance
Stopping rpagent
2025-12-23 12:51:50 - [INFO] Existing RPAgent successfully stopped
2025-12-23 12:51:50 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-23 12:51:50 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-23 12:51:50 - [INFO] Configuring extproc.ora
2025-12-23 12:51:50 - [INFO] Backed up existing /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:51:50 - [INFO] /opt/protegrity/databaseprotector/oracle/lib/peporacle.plm already present in /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:51:50 - [INFO] Updated extproc.ora at /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora
2025-12-23 12:51:50 - [INFO] No separate runtime home detected or runtime home same as ORACLE_HOME; skipping sync.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDFs, type
yes. - Press ENTER.
The prompt to enter the database username appears.
Enter Oracle database username:
- Enter the database username.
- Press ENTER.
The prompt to enter the database password appears.
Enter Oracle database user's password:
- Enter the database user’s password.
- Press ENTER.
The prompt to confirm the database user appears.
Was a different Oracle database user used for the previous installation's types and UDFs? (yes/no) [no]:
- To provide the Oracle user for the previous installation, type
yes. - Press ENTER.
The prompt to enter the database username appears.
Enter previous Oracle database username (for dropping existing types and UDFs):
- Enter the database username.
- Press ENTER.
The prompt to enter the database password appears.
Enter previous Oracle database user's password:
- Enter the database user’s password.
- Press ENTER.
The script drops the older versions of the UDFs, creates a backup, installs the newer version of the UDFs, and performs a cleanup operation to complete the upgrade.
2025-12-23 12:52:18 - [INFO] Dropping existing types and UDFs
2025-12-23 12:52:18 - [INFO] Using username '<user_name>' for database connection and dropping existing types and UDFs.
2025-12-23 12:52:18 - [INFO] Running SQL script: Drop existing types and UDFs (/opt/protegrity/databaseprotector_backup_20251223125142/oracle/sqlscripts/dropobjects.sql)
2025-12-23 12:52:19 - [INFO] sqlplus output:
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Package body dropped.
Package dropped.
Library dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
2025-12-23 12:52:19 - [INFO] Drop existing types and UDFs executed successfully.
2025-12-23 12:52:19 - [INFO] Existing types and UDFs dropped successfully.
2025-12-23 12:52:19 - [INFO] Going to create new types and UDFs.
2025-12-23 12:52:19 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-23 12:52:19 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-23 12:52:20 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-23 12:52:20 - [INFO] Create new types and UDFs executed successfully.
2025-12-23 12:52:20 - [INFO] New types and UDFs created successfully.
2025-12-23 12:52:20 - [INFO] Testing UDFs installation...
2025-12-23 12:52:21 - [INFO] Test UDFs output: <DBP_version>
2025-12-23 12:52:21 - [INFO] UDFs installation tested successfully.
2025-12-23 12:52:21 - [INFO] Removing previous installation directories.
2025-12-23 12:52:21 - [INFO] Removing backups...
2025-12-23 12:52:21 - [INFO] Removing Logforwarder backup directory /opt/protegrity/logforwarder_backup_20251223125142
2025-12-23 12:52:21 - [INFO] Removing RPAgent backup directory /opt/protegrity/rpagent_backup_20251223125142
2025-12-23 12:52:21 - [INFO] Removing Database Protector backup directory /opt/protegrity/databaseprotector_backup_20251223125142
2025-12-23 12:52:21 - [INFO] Removing User configuration backup directory /etc/protegrity_backup_20251223125142
2025-12-23 12:52:21 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/19.0.0/dbhome_1/hs/admin/extproc.ora.bak_2025-12-23_12:51:50
2025-12-23 12:52:21 - [INFO] Closing SSH master connections...
2025-12-23 12:52:21 - [INFO] Upgrade successful.
2025-12-23 12:52:21 - [INFO] All components upgraded successfully.
6.2 - Creating the UDFs after Upgrade
During the upgrade process, the installer prompts whether to create the UDF or otherwise. If the no option is selected, the installer skips the UDF creation and proceeds to complete the upgrade. In such scenarios:
- The existing types and UDFs remain unchanged in the database.
- The new types and UDFs are not created.
- The previous Database Protector installation directory is retained as a backup.
- Manually intervention is required to drop the old types and UDFs and create the new UDFs.
The version of the SQL scripts to drop the Oracle Database Protector types and UDFs must be the same as the version that was used to create them. This is important because:
- The installer retains the previous Database Protector installation directory.
- The
dropobjects.sql script from this retained backup must be used to drop the existing database objects. - The
createobjects.sql script from the new installation must be used to create the new objects.
Prerequisites
- Administrator access to the Oracle database is available.
- Database credentials for:
- The user that owns the existing types and UDFs.
- The user that will create the new types and UDFs.
- Access to the retained backup directory (
<path_to_prev_installation_dir>/databaseprotector_<timestamp> –> example with timestamp) - Access to the new Database Protector installation directory is available.
Dropping the Existing UDFs
- To navigate to the directory containing the backup scripts, run the following command:
cd <path_to_prev_installation_dir>/oracle/sqlscripts/
- Press ENTER.
- To drop the existing UDFs, run the following command with the database user that owns the existing types and UDFs with the required permissions:
sqlplus <user_name>/<password> @dropobjects.sql
where:<user_name> is the database user that owns the existing types and UDFs. The user must have all required privileges to drop the Oracle Database Protector objects.
Important:
During upgrades, the existing types and UDFs may have been created by a different database user than the one you plan to use going forward.
Ensure that the user used here owns the existing objects or has sufficient privileges.
Creating the New UDFs
- To navigate to the directory containing the scripts for the new installation, run the following command:
cd <installation_dir>/databaseprotector/oracle/sqlscripts
- To create the new UDFs, run the following command with the database user that has all required permissions to create Oracle Database Protector types and UDFs:
sqlplus <user_name>/<password> @createobjects.sql
where:<user_name> is the database user that owns the existing types and UDFs. The user account must comply with the requirements listed in the product documentation.
Conclusion
- The old Oracle Database Protector types and UDFs are removed.
- The new types and UDFs are created using the upgraded version.
- The upgrade process is considered complete from a database perspective.
Note: If any issues occur while dropping or creating database objects, review the SQL output and consult the product documentation. Alternatively, contact Protegrity Support.
6.3 - Upgrading the Oracle Database Protector on RAC system
The Oracle Database Protector build provides an automated script to manage the upgrade process in a multi-node environment. The master script internally calls the scripts to install and upgrade the components. The master script installs and upgrades the components in the following order:
- Log Forwarder
- RPAgent
- Policy Enforcement Point (Database Protector)
The master script is available in the directory where the installation files are extracted. It provides the following arguments:
install - installs the components in an interactive mode.upgrade - installs a newer version of the protector with minimal downtime.silent - installs the components in a non-interactive mode.install.ini - installs the components as per the parameters provided in the file.help - lists the arguments available for the script.
During the upgrade process, the master script:
- Verifies the existing configuration.
- Creates a backup of the existing configuration.
- Stops the required services.
- Drops the existing UDFs.
- Installs the new version.
- Starts the required services.
- Creates the new UDFs and retains the existing configuration.
In addition, the master script will rollback the upgrade process if any errors are encountered. The script will revert the changes and restore the previous working version of the Oracle Database Protector.
Viewing the Arguments for the Script
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To view the arguments, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --help
- Press ENTER.
The script lists the available arguments.
Options:
--install Use this option when installing the solution for the first time on a machine/host.
(i.e., there is no previous installation present)
--upgrade Use this option when upgrading an existing installation on the machine/host.
--install-ini <file> (Optional) Provide a path to an install.ini file for silent or pre-configured installations.
This option works with --install only.
It must not be used with --upgrade or --silent.
You can pass this either as:
--install-ini /path/to/install.ini
or
--install-ini=/path/to/install.ini
Refer to the product documentation for details about the configuration options available in install.ini.
The documentation describes all supported keys, required fields, and example configurations.
--silent (Optional) Runs the installation/upgrade in silent mode with minimum interactive prompts.
--help, -h Display this help message and exit.
Upgrading the Protector using the Interactive Mode
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the upgrade script, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --upgrade
- Press ENTER.
The prompt to select the silent mode of installation appears.
2025-12-30 06:55:19 - [INFO] If silent mode is selected, the default base directory (/opt/protegrity) will be used as the location of the existing installation for each component (Logforwarder, RPAgent and DatabaseProtector).
Do you want silent installation? (yes/no) [no]:
- To use the interactive mode, type
no. - Press ENTER.
The prompt to enter the location of the existing installation appears.
Enter existing installation directories:
Existing LogForwarder installation directory [/opt/protegrity]:
- Enter the directory path where the existing version of the Log Forwarder is installed.
- Press ENTER.
The prompt to enter RPAgent installation directory appears.
Existing RPAgent installation directory [/opt/protegrity]:
- Enter the directory path where the existing version of the RPAgent is installed.
- Press ENTER.
The prompt to enter the Database Protector installation directory appears.
Existing DatabaseProtector installation directory [/opt/protegrity]:
- Enter the directory path where the existing version of the Database Protector is installed.
- Press ENTER.
The prompt to select a single installation directory for the components appears.
Do you want to install the new LogForwarder, RPAgent, and DatabaseProtector together in a single directory? (yes/no) [no]:
- To install the new components in a single directory, type
yes. - Press ENTER.
The prompt to enter the installation directory for the new version appears.
Enter new installation directory [/opt/protegrity]:
- Enter the location where the components must be installed.
- Press ENTER.
The script detects and lists the configuration and a prompt to confirm appears.
2025-12-30 06:55:48 - [INFO] Verifying previous installation directories for all components...
2025-12-30 06:55:48 - [INFO] Existing LogForwarder directory: /opt/protegrity1/logforwarder
2025-12-30 06:55:48 - [INFO] Existing RPAgent directory: /opt/protegrity1/rpagent
2025-12-30 06:55:48 - [INFO] Existing DatabaseProtector directory: /opt/protegrity1/databaseprotector
2025-12-30 06:55:48 - [INFO] All existing component directories verified successfully.
2025-12-30 06:55:48 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-30 06:55:48 - [INFO] Discovered GRID_HOME: /u01/app/21.3.0./grid
2025-12-30 06:55:48 - [INFO] Grid home found: /u01/app/21.3.0./grid
2025-12-30 06:55:48 - [INFO] RAC setup detected
2025-12-30 06:55:48 - [INFO] Current node: <node_name> (<node_name>.localdomain.com)
2025-12-30 06:55:48 - [INFO] Other nodes: <node_name> <node_name>
2025-12-30 06:55:48 - [INFO] Checking for required tools...
2025-12-30 06:55:48 - [INFO] All required tools are available
2025-12-30 06:55:48 - [INFO] Going to configure environment for upgrade
2025-12-30 06:55:48 - [INFO] Discovered ORACLE_SID=orcl1, ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:55:48 - [INFO] Oracle environment set:
2025-12-30 06:55:48 - [INFO] ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:55:48 - [INFO] ORACLE_SID=orcl1
2025-12-30 06:55:48 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/21.3.0/db_1/lib
2025-12-30 06:55:48 - [INFO] PATH=/u01/app/21.3.0./grid/bin:/sbin:/bin:/usr/sbin:/usr/bin:/u01/app/oracle/product/21.3.0/db_1/bin
2025-12-30 06:55:48 - [INFO] Environment configured successfully...
2025-12-30 06:55:48 - [INFO] **************************************************************************
2025-12-30 06:55:48 - [INFO] Upgrade will be done with following configuration:
2025-12-30 06:55:48 - [INFO] Oracle Instance ID: orcl1
2025-12-30 06:55:48 - [INFO] Mode: upgrade
2025-12-30 06:55:48 - [INFO] Existing Logforwarder Installation Directory: /opt/protegrity1
2025-12-30 06:55:48 - [INFO] Existing RPAgent Installation Directory: /opt/protegrity1
2025-12-30 06:55:48 - [INFO] Existing DatabaseProtector Installation Directory: /opt/protegrity1
2025-12-30 06:55:48 - [INFO] New Logforwarder Installation Directory: /opt/protegrity
2025-12-30 06:55:48 - [INFO] New RPAgent Installation Directory: /opt/protegrity
2025-12-30 06:55:48 - [INFO] New DatabaseProtector Installation Directory: /opt/protegrity
2025-12-30 06:55:48 - [INFO] Audit Store Endpoints: <IP_Address>:9200 <IP_Address>:9200 <IP_Address>:9200
2025-12-30 06:55:48 - [INFO] Upstream (ESA) Hostname or IP Address for RPAgent: <IP_Address>
2025-12-30 06:55:48 - [INFO] Upstream (ESA) Port for RPAgent: 25400 (Default)
2025-12-30 06:55:48 - [INFO] This is an upgrade.
2025-12-30 06:55:48 - [INFO] Previous installations will be backed up before upgrade.
2025-12-30 06:55:48 - [INFO] Existing Logforwarder and RPAgent configurations will be retained
2025-12-30 06:55:48 - [INFO] RAC setup detected with nodes: <node_name>
<node_name>
<node_name>
2025-12-30 06:55:48 - [INFO] **************************************************************************
2025-12-30 06:55:48 - [WARN] **************************************************************************
2025-12-30 06:55:48 - [WARN] IMPORTANT: Any queries currently running may be impacted during upgrade.
2025-12-30 06:55:48 - [WARN] It is recommended to perform the upgrade during a maintenance window.
2025-12-30 06:55:48 - [WARN] **************************************************************************
2025-12-30 06:55:48 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the upgrade, type
yes. - Press ENTER.
The script creates a backup of the existing configuration, installs the Log Forwarder, RPAgent, and the Oracle objects. The prompt to select a common username for the node appears.
2025-12-30 06:55:50 - [INFO] Continuing with upgrade...
2025-12-30 06:55:50 - [INFO] Backing up /opt/protegrity1/logforwarder to /opt/protegrity1/logforwarder_backup_20251230065550...
2025-12-30 06:55:50 - [INFO] Backup of /opt/protegrity1/logforwarder completed Successfully...
2025-12-30 06:55:50 - [INFO] Backing up /opt/protegrity1/rpagent to /opt/protegrity1/rpagent_backup_20251230065550...
2025-12-30 06:55:50 - [INFO] Backup of /opt/protegrity1/rpagent completed Successfully...
2025-12-30 06:55:50 - [INFO] Backing up /opt/protegrity1/databaseprotector to /opt/protegrity1/databaseprotector_backup_20251230065550...
2025-12-30 06:55:50 - [INFO] Backup of /opt/protegrity1/databaseprotector completed Successfully...
2025-12-30 06:55:50 - [INFO] Backing up /etc/protegrity to /etc/protegrity_backup_20251230065550...
2025-12-30 06:55:50 - [INFO] Backup of /etc/protegrity completed Successfully...
2025-12-30 06:55:50 - [INFO] Existing Logforwarder is currently running.
2025-12-30 06:55:50 - [INFO] Existing RPAgent is currently running.
2025-12-30 06:55:50 - [INFO] Installing/Upgrading LOGFORWARDER...
2025-12-30 06:55:50 - [INFO] Executing ./LogforwarderSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity/logforwarder.
2025-12-30 06:55:51 - [INFO] Retaining existing Logforwarder configuration...
2025-12-30 06:55:51 - [INFO] Logforwarder configuration retained successfully.
2025-12-30 06:55:51 - [INFO] Updating configuration files in /opt/protegrity/logforwarder/data to use new installation directory.
2025-12-30 06:55:51 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:55:51 - [INFO] Installing/Upgrading RPAGENT...
2025-12-30 06:55:51 - [INFO] Executing ./RPAgentSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Since --nocert was provided certificates are not downloaded automatically.
Protegrity RPAgent installed in /opt/protegrity/rpagent.
2025-12-30 06:55:51 - [INFO] Retaining existing RPAgent configuration...
2025-12-30 06:55:51 - [INFO] RPAgent configuration retained successfully.
2025-12-30 06:55:51 - [INFO] Updating configuration files in /opt/protegrity/rpagent/data to use new installation directory.
2025-12-30 06:55:51 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:55:51 - [INFO] Installing/Upgrading DBP...
2025-12-30 06:55:51 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity/databaseprotector/oracle.
2025-12-30 06:55:51 - [INFO] Retaining existing Database Protector configuration...
2025-12-30 06:55:51 - [INFO] Database Protector configuration retained successfully.
2025-12-30 06:55:51 - [INFO] Updating configuration files in /opt/protegrity/databaseprotector/oracle/data to use new installation directory.
2025-12-30 06:55:51 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:55:51 - [INFO] Going to stop existing Logforwarder instance
2025-12-30 06:56:01 - [INFO] Existing Logforwarder successfully stopped
2025-12-30 06:56:01 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-30 06:56:03 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-30 06:56:03 - [INFO] Going to stop existing RPAgent instance
2025-12-30 06:56:04 - [INFO] Existing RPAgent successfully stopped
2025-12-30 06:56:04 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-30 06:56:04 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-30 06:56:04 - [INFO] Configuring extproc.ora
2025-12-30 06:56:04 - [INFO] Backed up existing /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:56:04 - [INFO] Updated EXTPROC_DLLS in /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora to only include /opt/protegrity/databaseprotector/oracle/lib/peporacle.plm
2025-12-30 06:56:04 - [INFO] Updated extproc.ora at /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:56:04 - [INFO] Detected separate runtime home: /u01/app/oracle/homes/OraDB21Home1
2025-12-30 06:56:04 - [INFO] Runtime extproc.ora symlink already points to canonical: /u01/app/oracle/homes/OraDB21Home1/hs/admin/extproc.ora -> /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:56:04 - [INFO] Synchronized extproc.ora in runtime home /u01/app/oracle/homes/OraDB21Home1/hs/admin
2025-12-30 06:56:04 - [INFO] Configuring RAC nodes...
2025-12-30 06:56:04 - [INFO] Performing pre-check on all RAC nodes before making changes...
Do you want to enter one remote username to be used for all nodes? (yes/no) [no]:
- To use the same username for all the nodes, type
yes. - Press ENTER.
The prompt to enter the username appears.
Enter remote username for all nodes (must be in sudoers):
- Enter the username.
- Press ENTER.
The script establishes a connection to every node. The prompt to enter the password appears.
2025-12-30 06:56:09 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 06:56:09 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<IP_address>' (ECDSA) to the list of known hosts.
<user_name>@<node_name>'s password:
- Enter the password.
- Press ENTER.
The script validates the credentials. The prompt to enter the password for the next node appears.
2025-12-30 06:56:14 - [INFO] SSH master connection to <node_name> ready
2025-12-30 06:56:14 - [INFO] Checking sudo access for <node_name>...
2025-12-30 06:56:14 - [INFO] Precheck OK for <node_name>
2025-12-30 06:56:14 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 06:56:14 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<IP_address>' (ECDSA) to the list of known hosts.
<user_name>@<node_name>'s password:
- Enter the password.
- Press ENTER.
The script completes the configuration. The prompt to create the UDF appears.
2025-12-30 06:56:18 - [INFO] SSH master connection to <node_name> ready
2025-12-30 06:56:18 - [INFO] Checking sudo access for <node_name>...
2025-12-30 06:56:18 - [INFO] Precheck OK for <node_name>
2025-12-30 06:56:18 - [INFO] Precheck complete. Starting RAC node configuration...
2025-12-30 06:56:18 - [INFO] Stopping existing Logforwarder on <node_name>
2025-12-30 06:56:34 - [INFO] Syncing /opt/protegrity/logforwarder to <node_name>...
2025-12-30 06:56:37 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 06:56:39 - [INFO] Stopping existing RPAgent on <node_name>
2025-12-30 06:56:40 - [INFO] Syncing /opt/protegrity/rpagent to <node_name>...
2025-12-30 06:56:42 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 06:56:42 - [INFO] Syncing /opt/protegrity/databaseprotector to <node_name>...
2025-12-30 06:56:43 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 06:56:43 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 06:56:43 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 06:56:43 - [INFO] Node <node_name> configured successfully.
2025-12-30 06:56:43 - [INFO] Stopping existing Logforwarder on <node_name>
2025-12-30 06:56:59 - [INFO] Syncing /opt/protegrity/logforwarder to <node_name>...
2025-12-30 06:57:02 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 06:57:04 - [INFO] Stopping existing RPAgent on <node_name>
2025-12-30 06:57:06 - [INFO] Syncing /opt/protegrity/rpagent to <node_name>...
2025-12-30 06:57:07 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 06:57:07 - [INFO] Syncing /opt/protegrity/databaseprotector to <node_name>...
2025-12-30 06:57:08 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 06:57:08 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 06:57:08 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 06:57:08 - [INFO] Node <node_name> configured successfully.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDFs, type
yes. - Press ENTER.
The prompt to enter the database username appears.
Enter Oracle database username:
- Enter the username to connect to the database.
- Press ENTER.
The prompt to enter the database password appears.
Enter Oracle database user's password:
- Enter the password.
- Press ENTER.
The prompt to confirm the username appears.
Was a different Oracle database user used for creation of existing UDFs? (yes/no) [no]:
- To confirm whether a different user was used to create the existing UDFs, type
yes. - Press ENTER.
The prompt to enter the previous username appears.
Enter previous Oracle database username (for dropping existing UDFs):
- Enter the database username that was used to create the existing UDFs.
- Press ENTER.
The prompt to enter the password for the previous username appears.
Enter previous Oracle database user's password:
- Enter the password.
- Press ENTER.
The script drops the existing UDFs, creates the new UDFs, and completes the upgrade process.
2025-12-30 06:57:32 - [INFO] Dropping existing types and UDFs
2025-12-30 06:57:32 - [INFO] Using username '<user_name>' for database connection and dropping existing types and UDFs.
2025-12-30 06:57:32 - [INFO] Running SQL script: Drop existing types and UDFs (/opt/protegrity1/databaseprotector_backup_20251230065550/oracle/sqlscripts/dropobjects.sql)
2025-12-30 06:57:33 - [INFO] sqlplus output:
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Package body dropped.
Package dropped.
Library dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
2025-12-30 06:57:33 - [INFO] Drop existing types and UDFs executed successfully.
2025-12-30 06:57:33 - [INFO] Existing types and UDFs dropped successfully.
2025-12-30 06:57:33 - [INFO] Going to create new types and UDFs.
2025-12-30 06:57:33 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-30 06:57:33 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-30 06:57:33 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-30 06:57:33 - [INFO] Create new types and UDFs executed successfully.
2025-12-30 06:57:33 - [INFO] New types and UDFs created successfully.
2025-12-30 06:57:33 - [INFO] Testing UDFs installation...
2025-12-30 06:57:34 - [INFO] Test UDFs output: <DBP_version>
2025-12-30 06:57:34 - [INFO] UDFs installation tested successfully.
2025-12-30 06:57:34 - [INFO] Removing previous installation directories.
2025-12-30 06:57:34 - [INFO] Removing previous Logforwarder directory /opt/protegrity1/logforwarder
2025-12-30 06:57:34 - [INFO] Removing previous RPAgent directory /opt/protegrity1/rpagent
2025-12-30 06:57:34 - [INFO] Removing previous DatabaseProtector directory /opt/protegrity1/databaseprotector
2025-12-30 06:57:34 - [INFO] Removing previous installation directories on <node_name>.
2025-12-30 06:57:34 - [INFO] Removing previous Logforwarder directory /opt/protegrity1/logforwarder on <node_name>
2025-12-30 06:57:34 - [INFO] Removing previous RPAgent directory /opt/protegrity1/rpagent on <node_name>
2025-12-30 06:57:34 - [INFO] Removing previous DatabaseProtector directory /opt/protegrity1/databaseprotector on <node_name>
2025-12-30 06:57:34 - [INFO] Removing previous installation directories on <node_name>.
2025-12-30 06:57:34 - [INFO] Removing previous Logforwarder directory /opt/protegrity1/logforwarder on <node_name>
2025-12-30 06:57:34 - [INFO] Removing previous RPAgent directory /opt/protegrity1/rpagent on <node_name>
2025-12-30 06:57:34 - [INFO] Removing previous DatabaseProtector directory /opt/protegrity1/databaseprotector on <node_name>
2025-12-30 06:57:34 - [INFO] Removing backups...
2025-12-30 06:57:34 - [INFO] Removing Logforwarder backup directory /opt/protegrity1/logforwarder_backup_20251230065550
2025-12-30 06:57:34 - [INFO] Removing RPAgent backup directory /opt/protegrity1/rpagent_backup_20251230065550
2025-12-30 06:57:34 - [INFO] Removing Database Protector backup directory /opt/protegrity1/databaseprotector_backup_20251230065550
2025-12-30 06:57:34 - [INFO] Removing User configuration backup directory /etc/protegrity_backup_20251230065550
2025-12-30 06:57:34 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora.bak_2025-12-30_06:56:04
2025-12-30 06:57:34 - [INFO] Closing SSH master connections...
2025-12-30 06:57:34 - [INFO] Connection to <node_name> closed.
2025-12-30 06:57:34 - [INFO] Connection to <node_name> closed.
2025-12-30 06:57:34 - [INFO] Upgrade successful.
2025-12-30 06:57:34 - [INFO] All components upgraded successfully.
Upgrading the Protector using the Silent Mode
- Log in to the instance where the installation package is extracted.
- Navigate to the directory containing the installation scripts.
- To execute the upgrade script, run the following command:
./Install_OracleProtector_Linux_x64_<DBP_version>.sh --upgrade
- Press ENTER.
The prompt to select the silent mode of installation appears.
2025-12-30 06:55:19 - [INFO] If silent mode is selected, the default base directory (/opt/protegrity) will be used as the location of the existing installation for each component (Logforwarder, RPAgent and DatabaseProtector).
Do you want silent installation? (yes/no) [no]:
- To use the silent mode, type
yes. - Press ENTER.
The script detects and lists the configuration and a prompt to confirm appears.
2025-12-30 06:59:12 - [INFO] You have chosen silent mode. Therefore, /opt/protegrity is considered as base directory for new installation.
2025-12-30 06:59:12 - [INFO] This is an upgrade and you have chosen silent mode. Therefore, /opt/protegrity is considered as base directory for existing installation.
2025-12-30 06:59:12 - [INFO] Verifying previous installation directories for all components...
2025-12-30 06:59:12 - [INFO] Existing LogForwarder directory: /opt/protegrity/logforwarder
2025-12-30 06:59:12 - [INFO] Existing RPAgent directory: /opt/protegrity/rpagent
2025-12-30 06:59:12 - [INFO] Existing DatabaseProtector directory: /opt/protegrity/databaseprotector
2025-12-30 06:59:12 - [INFO] All existing component directories verified successfully.
2025-12-30 06:59:12 - [INFO] Discovering Grid Infrastructure home dynamically...
2025-12-30 06:59:12 - [INFO] Discovered GRID_HOME: /u01/app/21.3.0./grid
2025-12-30 06:59:12 - [INFO] Grid home found: /u01/app/21.3.0./grid
2025-12-30 06:59:12 - [INFO] RAC setup detected
2025-12-30 06:59:12 - [INFO] Current node: <node_name> (<node_name>.localdomain.com)
2025-12-30 06:59:12 - [INFO] Other nodes: <node_name> <node_name>
2025-12-30 06:59:12 - [INFO] Checking for required tools...
2025-12-30 06:59:12 - [INFO] All required tools are available
2025-12-30 06:59:12 - [INFO] Going to configure environment for upgrade
2025-12-30 06:59:12 - [INFO] Discovered ORACLE_SID=orcl1, ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:59:12 - [INFO] Oracle environment set:
2025-12-30 06:59:12 - [INFO] ORACLE_HOME=/u01/app/oracle/product/21.3.0/db_1
2025-12-30 06:59:12 - [INFO] ORACLE_SID=orcl1
2025-12-30 06:59:12 - [INFO] LD_LIBRARY_PATH=/u01/app/oracle/product/21.3.0/db_1/lib
2025-12-30 06:59:12 - [INFO] PATH=/u01/app/21.3.0./grid/bin:/sbin:/bin:/usr/sbin:/usr/bin:/u01/app/oracle/product/21.3.0/db_1/bin
2025-12-30 06:59:12 - [INFO] Environment configured successfully...
2025-12-30 06:59:12 - [INFO] **************************************************************************
2025-12-30 06:59:12 - [INFO] Upgrade will be done with following configuration:
2025-12-30 06:59:12 - [INFO] Oracle Instance ID: orcl1
2025-12-30 06:59:12 - [INFO] Mode: upgrade
2025-12-30 06:59:12 - [INFO] Existing Logforwarder Installation Directory: /opt/protegrity
2025-12-30 06:59:12 - [INFO] Existing RPAgent Installation Directory: /opt/protegrity
2025-12-30 06:59:12 - [INFO] Existing DatabaseProtector Installation Directory: /opt/protegrity
2025-12-30 06:59:12 - [INFO] New Logforwarder Installation Directory: /opt/protegrity
2025-12-30 06:59:12 - [INFO] New RPAgent Installation Directory: /opt/protegrity
2025-12-30 06:59:12 - [INFO] New DatabaseProtector Installation Directory: /opt/protegrity
2025-12-30 06:59:12 - [INFO] Audit Store Endpoints: <IP_Address>:9200 <IP_Address>:9200 <IP_Address>:9200
2025-12-30 06:59:12 - [INFO] Upstream (ESA) Hostname or IP Address for RPAgent: <IP_Address>
2025-12-30 06:59:12 - [INFO] Upstream (ESA) Port for RPAgent: 25400 (Default)
2025-12-30 06:59:12 - [INFO] This is an upgrade.
2025-12-30 06:59:12 - [INFO] Previous installations will be backed up before upgrade.
2025-12-30 06:59:12 - [INFO] Existing Logforwarder and RPAgent configurations will be retained
2025-12-30 06:59:12 - [INFO] RAC setup detected with nodes: <node_name>
<node_name>
<node_name>
2025-12-30 06:59:12 - [INFO] **************************************************************************
2025-12-30 06:59:12 - [WARN] **************************************************************************
2025-12-30 06:59:12 - [WARN] IMPORTANT: Any queries currently running may be impacted during upgrade.
2025-12-30 06:59:12 - [WARN] It is recommended to perform the upgrade during a maintenance window.
2025-12-30 06:59:12 - [WARN] **************************************************************************
2025-12-30 06:59:12 - [INFO] Please verify the above configuration before proceeding.
Do you want to continue? (yes/no) [no]:
- To proceed with the configuration, type
yes. - Press ENTER.
The script installs the components. The prompt to enter the username to access the node appears.
2025-12-30 06:59:14 - [INFO] Continuing with upgrade...
2025-12-30 06:59:14 - [INFO] Backing up /opt/protegrity/logforwarder to /opt/protegrity/logforwarder_backup_20251230065914...
2025-12-30 06:59:14 - [INFO] Backup of /opt/protegrity/logforwarder completed Successfully...
2025-12-30 06:59:14 - [INFO] Backing up /opt/protegrity/rpagent to /opt/protegrity/rpagent_backup_20251230065914...
2025-12-30 06:59:14 - [INFO] Backup of /opt/protegrity/rpagent completed Successfully...
2025-12-30 06:59:14 - [INFO] Backing up /opt/protegrity/databaseprotector to /opt/protegrity/databaseprotector_backup_20251230065914...
2025-12-30 06:59:14 - [INFO] Backup of /opt/protegrity/databaseprotector completed Successfully...
2025-12-30 06:59:14 - [INFO] Backing up /etc/protegrity to /etc/protegrity_backup_20251230065914...
2025-12-30 06:59:14 - [INFO] Backup of /etc/protegrity completed Successfully...
2025-12-30 06:59:14 - [INFO] Existing Logforwarder is currently running.
2025-12-30 06:59:14 - [INFO] Existing RPAgent is currently running.
2025-12-30 06:59:14 - [INFO] Installing/Upgrading LOGFORWARDER...
2025-12-30 06:59:14 - [INFO] Executing ./LogforwarderSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Protegrity Log Forwarder installed in /opt/protegrity/logforwarder.
2025-12-30 06:59:14 - [INFO] Retaining existing Logforwarder configuration...
2025-12-30 06:59:14 - [INFO] Logforwarder configuration retained successfully.
2025-12-30 06:59:14 - [INFO] ./LogforwarderSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:59:14 - [INFO] Installing/Upgrading RPAGENT...
2025-12-30 06:59:14 - [INFO] Executing ./RPAgentSetup_Linux_x64_<DBP_version>.sh...
Unpacking...
Extracting files...
Since --nocert was provided certificates are not downloaded automatically.
Protegrity RPAgent installed in /opt/protegrity/rpagent.
2025-12-30 06:59:14 - [INFO] Retaining existing RPAgent configuration...
2025-12-30 06:59:14 - [INFO] RPAgent configuration retained successfully.
2025-12-30 06:59:14 - [INFO] ./RPAgentSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:59:14 - [INFO] Installing/Upgrading DBP...
2025-12-30 06:59:14 - [INFO] Executing ./PepOracleSetup_Linux_x64_<DBP_version>.sh...
*****************************************************
Welcome to the Database Protector Setup Wizard
*****************************************************
This will install the oracle objects on your computer
Do you want to continue? [yes or no]
Enter installation directory.
A new directory will be created in the installation directory.
[/opt/protegrity]:
Unpacking...
Extracting files...
oracle objects installed in /opt/protegrity/databaseprotector/oracle.
2025-12-30 06:59:14 - [INFO] Retaining existing Database Protector configuration...
2025-12-30 06:59:14 - [INFO] Database Protector configuration retained successfully.
2025-12-30 06:59:14 - [INFO] ./PepOracleSetup_Linux_x64_<DBP_version>.sh completed successfully.
2025-12-30 06:59:14 - [INFO] Going to stop existing Logforwarder instance
2025-12-30 06:59:30 - [INFO] Existing Logforwarder successfully stopped
2025-12-30 06:59:30 - [INFO] Going to launch <DBP_version> version Logforwarder
2025-12-30 06:59:32 - [INFO] Successfully launched <DBP_version> version Logforwarder
2025-12-30 06:59:32 - [INFO] Going to stop existing RPAgent instance
2025-12-30 06:59:33 - [INFO] Existing RPAgent successfully stopped
2025-12-30 06:59:33 - [INFO] Going to launch <DBP_version> version RPAgent
2025-12-30 06:59:33 - [INFO] Successfully launched <DBP_version> version RPAgent
2025-12-30 06:59:33 - [INFO] Configuring extproc.ora
2025-12-30 06:59:33 - [INFO] Backed up existing /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:59:33 - [INFO] Updated EXTPROC_DLLS in /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora to only include /opt/protegrity/databaseprotector/oracle/lib/peporacle.plm
2025-12-30 06:59:33 - [INFO] Updated extproc.ora at /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:59:33 - [INFO] Detected separate runtime home: /u01/app/oracle/homes/OraDB21Home1
2025-12-30 06:59:33 - [INFO] Runtime extproc.ora symlink already points to canonical: /u01/app/oracle/homes/OraDB21Home1/hs/admin/extproc.ora -> /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora
2025-12-30 06:59:33 - [INFO] Synchronized extproc.ora in runtime home /u01/app/oracle/homes/OraDB21Home1/hs/admin
2025-12-30 06:59:33 - [INFO] Configuring RAC nodes...
2025-12-30 06:59:33 - [INFO] Performing pre-check on all RAC nodes before making changes...
Do you want to enter one remote username to be used for all nodes? (yes/no) [no]:
- To use different usernames for each of the nodes, type
no. - Press ENTER.
The prompt to enter the username for the node appears.
Enter remote username for node <node_name> (must be in sudoers):
- Enter the username.
- Press ENTER.
The script validates the username and the prompt to enter the password appears.
2025-12-30 06:59:55 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 06:59:55 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<IP_Address>' (ECDSA) to the list of known hosts.
root@<node_name>'s password:
- Enter the password.
- Press ENTER.
The script validates the credentials and the prompt to enter the username for the next node appears.
2025-12-30 06:59:59 - [INFO] SSH master connection to <node_name> ready
2025-12-30 06:59:59 - [INFO] Checking sudo access for <node_name>...
2025-12-30 06:59:59 - [INFO] Precheck OK for <node_name>
Enter remote username for node <node_name> (must be in sudoers):
- Enter the username.
- Press ENTER.
The script validates the username and the prompt to enter the password appears.
2025-12-30 07:00:01 - [INFO] Opening SSH connection to <node_name> for precheck...
2025-12-30 07:00:01 - [INFO] Opening SSH master connection to <node_name>...
Warning: Permanently added '<node_name>,<IP_Address>' (ECDSA) to the list of known hosts.
root@<node_name>'s password:
- Enter the password.
- Press ENTER.
The script validates the credentials, performs the required actions, and the prompt to create the UDF appears.
2025-12-30 07:00:05 - [INFO] SSH master connection to <node_name> ready
2025-12-30 07:00:05 - [INFO] Checking sudo access for <node_name>...
2025-12-30 07:00:05 - [INFO] Precheck OK for <node_name>
2025-12-30 07:00:05 - [INFO] Precheck complete. Starting RAC node configuration...
2025-12-30 07:00:05 - [INFO] Stopping existing Logforwarder on <node_name>
2025-12-30 07:00:15 - [INFO] Syncing /opt/protegrity/logforwarder to <node_name>...
2025-12-30 07:00:16 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 07:00:18 - [INFO] Stopping existing RPAgent on <node_name>
2025-12-30 07:00:19 - [INFO] Syncing /opt/protegrity/rpagent to <node_name>...
2025-12-30 07:00:19 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 07:00:19 - [INFO] Syncing /opt/protegrity/databaseprotector to <node_name>...
2025-12-30 07:00:20 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 07:00:20 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 07:00:20 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 07:00:20 - [INFO] Node <node_name> configured successfully.
2025-12-30 07:00:20 - [INFO] Stopping existing Logforwarder on <node_name>
2025-12-30 07:00:36 - [INFO] Syncing /opt/protegrity/logforwarder to <node_name>...
2025-12-30 07:00:36 - [INFO] Starting new Logforwarder on <node_name>
2025-12-30 07:00:38 - [INFO] Stopping existing RPAgent on <node_name>
2025-12-30 07:00:39 - [INFO] Syncing /opt/protegrity/rpagent to <node_name>...
2025-12-30 07:00:39 - [INFO] Starting new RPAgent on <node_name>
2025-12-30 07:00:40 - [INFO] Syncing /opt/protegrity/databaseprotector to <node_name>...
2025-12-30 07:00:40 - [INFO] Syncing /etc/protegrity to <node_name>...
2025-12-30 07:00:40 - [INFO] Updating extproc.ora on <node_name>
2025-12-30 07:00:40 - [INFO] Updating runtime extproc.ora symlink on <node_name>
2025-12-30 07:00:40 - [INFO] Node <node_name> configured successfully.
Do you want to continue and create UDFs?
To create the UDFs, provide the database credentials (yes/no) [no]:
- To create the UDFs, type
yes. - Press ENTER.
The prompt to enter the database username appears.
Enter Oracle database username:
- Enter the username.
- Press ENTER.
The prompt to enter the database password appears.
Enter Oracle database user's password:
- Enter the password.
- Press ENTER.
The prompt to confirm the username appears.
Was a different Oracle database user used for creation of existing UDFs? (yes/no) [no]:
- To confirm the usage of a different user, type
yes. - Press ENTER.
The prompt to enter the previous username appears.
Enter previous Oracle database username (for dropping existing UDFs):
- Enter the username.
- Press ENTER.
The prompt to enter the password for the previous username appears.
Enter previous Oracle database user's password:
- Enter the password.
- Press ENTER.
The script drops the existing UDFs, upgrades the protector, and completes the upgrade process.
2025-12-30 07:00:59 - [INFO] Dropping existing types and UDFs
2025-12-30 07:00:59 - [INFO] Using username '<user_name>' for database connection and dropping existing types and UDFs.
2025-12-30 07:00:59 - [INFO] Running SQL script: Drop existing types and UDFs (/opt/protegrity/databaseprotector_backup_20251230065914/oracle/sqlscripts/dropobjects.sql)
2025-12-30 07:01:00 - [INFO] sqlplus output:
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Type dropped.
Package body dropped.
Package dropped.
Library dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
Synonym dropped.
2025-12-30 07:01:00 - [INFO] Drop existing types and UDFs executed successfully.
2025-12-30 07:01:00 - [INFO] Existing types and UDFs dropped successfully.
2025-12-30 07:01:00 - [INFO] Going to create new types and UDFs.
2025-12-30 07:01:00 - [INFO] Using username '<user_name>' for database connection and creating new types and UDFs.
2025-12-30 07:01:00 - [INFO] Running SQL script: Create new types and UDFs (/opt/protegrity/databaseprotector/oracle/sqlscripts/createobjects.sql)
2025-12-30 07:01:01 - [INFO] sqlplus output:
Library created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Type created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
Synonym created.
2025-12-30 07:01:01 - [INFO] Create new types and UDFs executed successfully.
2025-12-30 07:01:01 - [INFO] New types and UDFs created successfully.
2025-12-30 07:01:01 - [INFO] Testing UDFs installation...
2025-12-30 07:01:01 - [INFO] Test UDFs output: <DBP_version>
2025-12-30 07:01:01 - [INFO] UDFs installation tested successfully.
2025-12-30 07:01:01 - [INFO] Removing previous installation directories.
2025-12-30 07:01:01 - [INFO] Removing previous installation directories on <node_name>.
2025-12-30 07:01:01 - [INFO] Removing previous installation directories on <node_name>.
2025-12-30 07:01:01 - [INFO] Removing backups...
2025-12-30 07:01:01 - [INFO] Removing Logforwarder backup directory /opt/protegrity/logforwarder_backup_20251230065914
2025-12-30 07:01:01 - [INFO] Removing RPAgent backup directory /opt/protegrity/rpagent_backup_20251230065914
2025-12-30 07:01:01 - [INFO] Removing Database Protector backup directory /opt/protegrity/databaseprotector_backup_20251230065914
2025-12-30 07:01:01 - [INFO] Removing User configuration backup directory /etc/protegrity_backup_20251230065914
2025-12-30 07:01:01 - [INFO] Removing extproc.ora backup file /u01/app/oracle/product/21.3.0/db_1/hs/admin/extproc.ora.bak_2025-12-30_06:59:33
2025-12-30 07:01:01 - [INFO] Closing SSH master connections...
2025-12-30 07:01:01 - [INFO] Connection to <node_name> closed.
2025-12-30 07:01:01 - [INFO] Connection to <node_name> closed.
2025-12-30 07:01:01 - [INFO] Upgrade successful.
2025-12-30 07:01:01 - [INFO] All components upgraded successfully.
7 - Uninstalling the Oracle Database Protector
The process to uninstall the Oracle Database Protector involves the following steps:
7.1 - Dropping User Defined Functions
Dropping the User Defined Functions
- Log in to the Oracle Database server using the same account used to create the UDFs.
- Navigate to the
/opt/protegrity/databaseprotector/oracle/sqlscripts/ directory. - Run the following command using the database user with requirerd permission:
sqlplus <user_name>/<password> @dropobjects.sql
7.2 - Uninstalling the RPAgent
Uninstalling the RPAgent
Before uninstalling the RPAgent, Protegrity recommends creating a backup.
- Log in to the Oracle Database server.
- Navigate to the
/opt/protegrity/rpagent/bin directory. - To stop the RPAgent, run the following command:
- Delete the
rpagent directory.
7.3 - Uninstalling the Log Forwarder
Uninstalling the Log Forwarder
Before uninstalling the Log Forwarder, Protegrity recommends creating a backup.
- Log in to the Oracle Database server.
- Navigate to the
/opt/protegrity/logforwarder/bin directory. - To stop the RPAgent, run the following command:
- Delete the
logforwarder directory.