DBCollect/Considerations: Difference between revisions

From Dirty Cache Wiki
Jump to navigation Jump to search
Line 23: Line 23:
* 100% open source (Python distribution package can be inspected)
* 100% open source (Python distribution package can be inspected)
* Does NOT run as root (even if it is executed as root)
* Does NOT run as root (even if it is executed as root)
* Does NOT make network connections (exception is --update’)
* Does NOT make network connections (exception is <code>--update</code> to update {{dbcollect}} itself)
* Runs as the Oracle user (usually ‘oracle’) or ‘nobody’
* Runs as the Oracle user (usually ‘oracle’) or ‘nobody’
* Does not modify any database or OS data
* Does not modify any database or OS data
* Only performs SELECT statements
* Only performs '''SELECT''' statements
* Only picks up DB and system metadata (no application data, passwords, etc)
* Only picks up DB and system metadata (no application data, passwords, etc)
* Data can be inspected with regular UNZIP
* Data can be inspected with regular UNZIP

Revision as of 13:39, 10 October 2024


Things to consider

Running time

  • Anywhere from few minutes (small system) to many hours (system with lots of databases)
  • Overhead: by default, restricted to 8 parallel tasks (CPUs) – can be increased or lowered (--tasks option)
  • Oracle RAC is known to sometimes run very long to generate AWRs
  • dbcollect retrieves historical performance data already available on the system (AWR/Statspack, SYSSTAT)
It does not collect performance data real-time

If the runtime is too long for a CLI session, check Usage for details on how to run unattended.

File size

  • The generated ZIP file can be several 100 MB up to several GB if there are lots of databases
  • Make sure there is enough space in /tmp or change tmpdir with --tempdir
  • Save the resulted ZIP file elsewhere using --filename <path>

Safety and security

  • 100% open source (Python distribution package can be inspected)
  • Does NOT run as root (even if it is executed as root)
  • Does NOT make network connections (exception is --update to update dbcollect itself)
  • Runs as the Oracle user (usually ‘oracle’) or ‘nobody’
  • Does not modify any database or OS data
  • Only performs SELECT statements
  • Only picks up DB and system metadata (no application data, passwords, etc)
  • Data can be inspected with regular UNZIP

Oracle License

Generating Oracle AWR requires Diagnostics Pack license (only available on Enterprise Edition)

  • DBCollect cannot know about contracts but checks DBA_FEATURE_USAGE_STATISTICS to see if AWR has been used before
  • If detected → proceed, if not → Try Statspack, if that does not work → give up with error
  • Can be forced with ‘—force-awr’ option (only use if you are sure you are licensed)