DBCollect/Considerations: Difference between revisions

From Dirty Cache Wiki
Jump to navigation Jump to search
No edit summary
Tag: Manual revert
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:DBCollect]]
[[Category:DBCollect]]
 
{{PrevNext|DBCollect/Overview|DBCollect/Install}}
= Things to consider =
= Things to consider =


Line 8: Line 8:
* Overhead: by default, restricted to 8 parallel tasks (CPUs) – can be increased or lowered (<code>--tasks</code> option)
* Overhead: by default, restricted to 8 parallel tasks (CPUs) – can be increased or lowered (<code>--tasks</code> option)
* Oracle RAC is known to sometimes run very long to generate AWRs
* Oracle RAC is known to sometimes run very long to generate AWRs
* {{dbcollect}} retrieves performance data already available on the system (AWR/Statspack, SYSSTAT)
* {{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 [[DBCollect/Usage|Usage]] for details on how to run unattended.


== File size ==
== File size ==
Line 14: Line 17:
* The generated ZIP file can be several 100 MB up to several GB if there are lots of databases
* 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 <code>--tempdir</code>
* Make sure there is enough space in /tmp or change tmpdir with <code>--tempdir</code>
* Save the resulted ZIP file elsewhere using <code>--filename <path></code>


== Safety and security ==
== Safety and security ==
Line 19: 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
Line 29: Line 33:


Generating Oracle AWR requires Diagnostics Pack license (only available on Enterprise Edition)
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
* DBCollect cannot know about contracts but checks <code>DBA_FEATURE_USAGE_STATISTICS</code> to see if AWR has been used before
* If detected → proceed, if not → Try Statspack, if that does not work → give up with error
* If AWR usage is detected: Proceed and generate AWR reports
* Can be forced with ‘—force-awr’ option (only use if you are sure you are licensed)
* 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)

Latest revision as of 15:37, 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 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)