Collector Prerequisites
To gather all necessary data, run the DBSAT Collector on the server that hosts the database. The collector uses operating system commands to gather process and file system information that the database scan alone cannot provide. Besides, the Oracle DBSAT Collector must be run as an OS user with read permissions on files and directories under ORACLE_HOME using SQL*Plus (through Oracle Database or Oracle Instant Client) to collect and process file system data using OS commands.
If Oracle Database Transparent Data Encryption (TDE) is being used, then ensure that the TDE wallet is open. If secure external password store (SEPS) authentication is used, then set the WALLET_LOCATION parameter to specify your SEPS wallet directory in the sqlnet.ora file.
The Oracle DBSAT Collector collects most of its data by querying database views. It must connect to the database as a user with sufficient privileges to select from these views. You must grant these privileges to the DBSAT user:
CREATE SESSIONREADorSELECTonSYS.REGISTRY$HISTORY- Role
SELECT_CATALOG_ROLE - Role
DV_SECANALYST(if Database Vault is enabled or if Database Vault Operations Control is enabled) - Role
AUDIT_VIEWER(12c and later) - Role
CAPTURE_ADMIN(12c and later) READorSELECTonSYS.DBA_USERS_WITH_DEFPWDREADonSYS.DBA_AUDIT_MGMT_CONFIG_PARAMSREADonSYS.DBA_CREDENTIALSEXECUTEonSYS.DBMS_SQL
Note:
For Oracle Solaris and HP-UX Itanium, use dbsat collect -n to disable encryption when running on those platforms.
If the Oracle Database under assessment is running on one of these platforms, you have two options:
- Collect the data with
-n, transfer the file to a system with Oracle JDK 17, and run the Reporter there. - Run
dbsat collectremotely from a system that has Oracle JDK 17 installed and can connect to the database.
Ensure to handle unencrypted files with care and delete the files securely after use.