DBCollect/Considerations

From Dirty Cache Wiki
Jump to navigation Jump to search



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 AWR usage is detected: Proceed and generate AWR reports
  • If not, check if Statspack is available
  • If Statspack does not work: Give up with error
  • Force generation of AWR reports with ‘—force-awr’ option (only use if you are sure you are licensed)