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 SESSION
  • READ or SELECT on SYS.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)
  • READ or SELECT on SYS.DBA_USERS_WITH_DEFPWD
  • READ on SYS.DBA_AUDIT_MGMT_CONFIG_PARAMS
  • READ on SYS.DBA_CREDENTIALS
  • EXECUTE on SYS.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 collect remotely 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.