DBCollect/Overview: Difference between revisions

From Dirty Cache Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Tools]]
[[Category:DBCollect]]
[[Category:DBCollect]]
__NOTOC__
{{PrevNext|DBCollect|DBCollect/Considerations}}__NOTOC__
= Overview =
= Overview =
== What is DBCollect ==
[[File:Dbcollect-logo.png|right]]


DBCollect is a performance and metadata collection tool for servers running Oracle databases, providing workload and config data from database hosts  
DBCollect is a performance and metadata collection tool for servers running Oracle databases, providing workload and config data from database hosts  
It is NOT (yet?) an official DELL tool - but written by Bart Sjerps as an independent Open-Source project


'''''It is NOT (yet?) an official DELL tool''''' - but written by [https://dirty-cache.com/ Bart Sjerps] as an independent Open-Source project


DBcollect is a tool that collects database and host information from Oracle database servers in a standardized way, so it can easily be processed by workload analysis tools. It supports Enterprise Linux (RHEL, OEL, CentOS) as well as AIX and Solaris (SPARC).
It collects database and host information from Oracle database servers in a standardized way, so it can easily be processed by workload analysis tools. It supports Enterprise Linux (RHEL, OEL, CentOS) as well as AIX and Solaris (SPARC).


[https://github.com/outrunnl/dbcollect DBcollect on Github]
[https://github.com/outrunnl/dbcollect DBcollect on Github]
<div style="clear: both"></div>
== How does it work ==
# System or Database Administrator runs DBCollect on a database host
#* Can be a VM or bare metal host
#* Should be run on all database nodes in scope of the project
#* Supported are Linux (EL6 or higher, runs out of the box), AIX, HP-UX or Solaris (may require some steps to make it work)
# DBCollect detects running Oracle databases (instances)
#* Generates capacity and performance reports
#* Also picks up OS config and performance data (SAR/Sysstat)
# Output is created as a ZIP file in TEMP dir
#* /tmp/dbcollect-<hostname>.zip
# Customer sends ZIP files for further processing
#* Secure FTP, or direct upload to LoadMaster website (via provided secure UUID url)
# Additional info to be provided, such as
#* Licensing details
#* Grouping (which systems are prod, test/dev, DR etc), VM-to-Hypervisor mapping
#* Any current issues (performance, other)
#* Physical locations
#* SLA requirements (RPO/RTO, yearly growth, platform requirements/preferences i.e. hypervisors, storage/servers, etc)


= Why DBcollect =
= Why DBcollect =
Line 19: Line 42:


In most cases it automatically detects all running Oracle instances on the host.
In most cases it automatically detects all running Oracle instances on the host.
== Problem ==
* Customers find all kinds of creative ways to provide system data
** Excel sheets, Word docs, strange RAR or TAR files, AWR reports with insanely long or short intervals (6 weeks ) or weird language settings, etc.
** Not easily processed by automated tools (Try to load Excel into a database table)
** Still missing capacity and system data (how big is the database? What processor is being used? Compression? Encryption? Backups?)
** Usually only for one or few databases (customer may have hundreds)
** Often unreliable (outdated, non-deterministic metrics, and so on)
== Solution ==
* Provide a standard way of getting OS and Database performance/config data
** Oracle AWR, Linux/UNIX SAR, Database configuration, OS configuration
** Retrieves historic data (which is already stored on the OS and in the databases)
** All (running) Oracle instances, at least 10 days (Oracle) or 1 month (OS) performance
* Be as secure and safe as possible
** Cannot change anything on the databases
** Only reads/writes files in the /tmp directory
** Does not pick up security sensitive data (passwords, etc)
** Honor customer licenses (in particular, Diagnostics Pack is required to generate AWRs)
* Make it as easy as possible for the administrator to run it
** Tool consists of one file, requires running one command only, simple installation
** Generates only one output (ZIP) file in the /tmp directory
* Open-Source (GitHub, GPLv3 licensed)
** Users can review the code (Python, SQL*Plus scripts and commands)
** Users are encouraged to help testing, writing improvements (via Git pull requests or just by email)


= DBcollect architecture =
= DBcollect architecture =
Line 65: Line 114:
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
# Install dbcollect via the quick install metohd
# Install dbcollect via the quick install metohd
[root@db01 ~](-) # curl https://raw.githubusercontent.com/outrunnl/dbcollect/master/scripts/download | python
curl https://raw.githubusercontent.com/outrunnl/dbcollect/master/scripts/download | python
   % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
   % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
                                 Dload  Upload  Total  Spent    Left  Speed
                                 Dload  Upload  Total  Spent    Left  Speed
100  1925 100  1925   0    0  4372     0 --:--:-- --:--:-- --:--:--  4375
100  2154 100  2154   0    0  4018     0 --:--:-- --:--:-- --:--:--  4011
Github dbcollect downloader - download the latest dbcollect release
Github dbcollect downloader - download the latest dbcollect release
-> Retrieving GitHub metadata from https://api.github.com/repos/outrunnl/dbcollect/releases/latest
-> Retrieving GitHub metadata from https://api.github.com/repos/outrunnl/dbcollect/releases/latest
-> Downloading binary version 1.6.0 from https://github.com/outrunnl/dbcollect/releases/download/v1.6.0/dbcollect
-> Downloading binary version 1.16.3 from https://github.com/outrunnl/dbcollect/releases/download/v1.16.3/dbcollect
-> md5 hash: c943738c2f589758add20f1ef495423f
-> md5 hash: 6d080140269bf9fe14039cfbfbd6806e
-> Saving binary as dbcollect
-> Saving binary as /usr/local/bin/dbcollect
-> Setting permissions to mode 775
-> Setting permissions to mode 755
# Move dbcollect in /usr/local/bin ($PATH)
 
[root@db01 ~](-) # sudo mv dbcollect /usr/local/bin
# Test version
# Test version
[root@db01 ~](-) # dbcollect -V
[root@db08 ~](-) # dbcollect --version
dbcollect 1.6.0 - collect Oracle AWR/Statspack, database and system info
dbcollect 1.16.3 - collect Oracle AWR/Statspack, database and system info
Author:    Bart Sjerps <bart@outrun.nl>
Author:    Bart Sjerps <info@dirty-cache.com>
Copyright: Copyright 2020, Bart Sjerps
Copyright: Copyright 2023, Bart Sjerps
License:  GPLv3+, https://www.gnu.org/licenses/gpl-3.0.html
License:  GPLv3+, https://www.gnu.org/licenses/gpl-3.0.html
Version:  1.6.0
Version:  1.16.3
Builddate: 2021-54-24 09:54
Builddate: 2024-07-01 15:04
 
Buildhash: 1e08f98a7ca3b546d166c964300be221f952c7a0
</syntaxhighlight>
</syntaxhighlight>


Line 92: Line 140:
# Verify dbcollect contents
# Verify dbcollect contents
# As dbcollect is actually a ZIP file, you could unzip it and verify the code
# As dbcollect is actually a ZIP file, you could unzip it and verify the code
[root@db01 ~](-) # unzip -v /usr/local/bin/dbcollect
unzip -v /usr/local/bin/dbcollect  
Archive:  /usr/local/bin/dbcollect
Archive:  /usr/local/bin/dbcollect
  Length  Method    Size  Cmpr    Date    Time  CRC-32  Name
  Length  Method    Size  Cmpr    Date    Time  CRC-32  Name
--------  ------  ------- ---- ---------- ----- --------  ----
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0  0% 06-24-2021 09:53 00000000  modules/
       0  Stored        0  0% 07-01-2024 15:01 00000000  lib/
       0  Stored        0  0% 06-24-2021 09:53 00000000  sql/
       0  Stored        0  0% 07-01-2024 15:01 00000000  modules/
       0  Stored        0  0% 06-04-2021 14:38 00000000  lib/
       0  Stored        0  0% 07-01-2024 15:01 00000000  sql/
     7890 Stored    7890   0% 06-24-2021 09:53 69c764c0 dbcollect.py
     7816 Stored    7816   0% 06-10-2024 13:06 267803f6 dbcollect.py
    2060  Stored    2060  0% 03-02-2021 08:38 808202b2  modules/updater.py
       0  Stored        0  0% 10-31-2023 19:14 00000000  lib/__init__.py
       0  Stored        0  0% 06-04-2021 14:38 00000000  modules/__init__.py
    257 Stored     257   0% 07-01-2024 15:04 34d07d31 lib/buildinfo.py
    4211 Stored     4211   0% 06-04-2021 14:38 94eb789d modules/awrstrip.py
     2767 Stored    2767   0% 05-30-2024 15:33 d95147e0 lib/user.py
     7470 Stored    7470   0% 06-08-2021 11:19 ca6e6bd2 modules/syscollect.py
     1984 Stored    1984   0% 05-30-2024 15:34 5272c204 lib/archive.py
  18030  Stored    18030  0% 06-24-2021 09:53 c2123dc2  modules/oracle.py
     2322 Stored    2322   0% 05-30-2024 15:34 fdd6efa2 lib/functions.py
      0  Stored        0  0% 09-29-2020 16:23 00000000  sql/__init__.py
--- snip ---
     2883 Stored    2883   0% 12-09-2020 20:57 ff3541aa sql/instance.sql
     209 Stored      209   0% 02-05-2024 08:38 446743e2 sql/splunk/readme.txt
     5765 Stored    5765   0% 12-09-2020 20:57 11ea706c sql/database.sql
       79 Stored      79   0% 02-05-2024 08:38 3b1af7bd sql/splunk/splunk_header.sql
    5726  Stored    5726  0% 12-09-2020 20:57 e7cb4bcb  sql/pdbinfo.sql
       58  Stored      58  0% 07-01-2024 15:04 8fed2ee0  __main__.py
    580  Stored      580  0% 06-04-2021 14:38 d31abc0d  sql/awr_report.sql
    562  Stored      562  0% 06-04-2021 14:38 8b34f5af  sql/awrusage.sql
    1966  Stored    1966  0% 06-04-2021 14:38 ad771e51  sql/getawrs.sql
    1974  Stored    1974  0% 06-04-2021 14:38 434e6838  sql/getsps.sql
     580 Stored      580   0% 06-04-2021 14:38 95a440f6 sql/sp_report.sql
  22899  Stored    22899  0% 06-24-2021 09:53 0cce1b41  sql/dbinfo.sql
       87 Stored      87   0% 10-30-2020 20:54 967cb29d  lib/__init__.py
    1800  Stored    1800  0% 10-16-2020 16:33 086a8907  lib/user.py
    3228  Stored    3228  0% 06-04-2021 14:38 e1d507b6 lib/archive.py
    3101  Stored    3101  0% 06-04-2021 14:38 5487c955  lib/functions.py
    2471  Stored    2471  0% 06-04-2021 14:38 d351f5b2  lib/log.py
       58  Stored      58  0% 06-24-2021 09:54 8fed2ee0  __main__.py
--------          -------  ---                            -------
--------          -------  ---                            -------
  93341            93341   0%                            25 files
  166163          166163   0%                            81 files
</syntaxhighlight>
</syntaxhighlight>



Latest revision as of 15:39, 10 October 2024



Overview

What is DBCollect

DBCollect is a performance and metadata collection tool for servers running Oracle databases, providing workload and config data from database hosts

It is NOT (yet?) an official DELL tool - but written by Bart Sjerps as an independent Open-Source project

It collects database and host information from Oracle database servers in a standardized way, so it can easily be processed by workload analysis tools. It supports Enterprise Linux (RHEL, OEL, CentOS) as well as AIX and Solaris (SPARC).

DBcollect on Github

How does it work

  1. System or Database Administrator runs DBCollect on a database host
    • Can be a VM or bare metal host
    • Should be run on all database nodes in scope of the project
    • Supported are Linux (EL6 or higher, runs out of the box), AIX, HP-UX or Solaris (may require some steps to make it work)
  2. DBCollect detects running Oracle databases (instances)
    • Generates capacity and performance reports
    • Also picks up OS config and performance data (SAR/Sysstat)
  3. Output is created as a ZIP file in TEMP dir
    • /tmp/dbcollect-<hostname>.zip
  4. Customer sends ZIP files for further processing
    • Secure FTP, or direct upload to LoadMaster website (via provided secure UUID url)
  5. Additional info to be provided, such as
    • Licensing details
    • Grouping (which systems are prod, test/dev, DR etc), VM-to-Hypervisor mapping
    • Any current issues (performance, other)
    • Physical locations
    • SLA requirements (RPO/RTO, yearly growth, platform requirements/preferences i.e. hypervisors, storage/servers, etc)

Why DBcollect

In the past, I frequently got workload data from customers in all kinds of strange formats (unusable AWR formats, reports in text format, with far too large AWR intervals, etc). Unix info was usually either not available at all or a random dump of output of some commands. By standardizing the reporting in a single tool, we get consistent, reliable database and host information.

This is needed for creating workload assessments where the data must be machine readable in a standardized format.

In most cases it automatically detects all running Oracle instances on the host.

Problem

  • Customers find all kinds of creative ways to provide system data
    • Excel sheets, Word docs, strange RAR or TAR files, AWR reports with insanely long or short intervals (6 weeks ) or weird language settings, etc.
    • Not easily processed by automated tools (Try to load Excel into a database table)
    • Still missing capacity and system data (how big is the database? What processor is being used? Compression? Encryption? Backups?)
    • Usually only for one or few databases (customer may have hundreds)
    • Often unreliable (outdated, non-deterministic metrics, and so on)

Solution

  • Provide a standard way of getting OS and Database performance/config data
    • Oracle AWR, Linux/UNIX SAR, Database configuration, OS configuration
    • Retrieves historic data (which is already stored on the OS and in the databases)
    • All (running) Oracle instances, at least 10 days (Oracle) or 1 month (OS) performance
  • Be as secure and safe as possible
    • Cannot change anything on the databases
    • Only reads/writes files in the /tmp directory
    • Does not pick up security sensitive data (passwords, etc)
    • Honor customer licenses (in particular, Diagnostics Pack is required to generate AWRs)
  • Make it as easy as possible for the administrator to run it
    • Tool consists of one file, requires running one command only, simple installation
    • Generates only one output (ZIP) file in the /tmp directory
  • Open-Source (GitHub, GPLv3 licensed)
    • Users can review the code (Python, SQL*Plus scripts and commands)
    • Users are encouraged to help testing, writing improvements (via Git pull requests or just by email)

DBcollect architecture

DBcollect is written in Python. It supports Python 2 and 3 (mainly because a lot of legacy systems only have Python 2 installed). It also contains a few SQL scripts that are executed by Oracle SQL*Plus. It is distributed as a ZipApp package. This means it is not binary compiled, but all Python and SQL files are bundled in a ZIP file in such a way that it can be executed as a single command but users can inspect the contents by simply running unzip:

unzip -v /usr/local/bin/dbcollect

Collected data

  • Host CPU, memory, network interface and disk info
  • Running processes, file systems, installed packages, os version and release etc.
  • Hardware vendor, product etc where possible
  • SAR reports
  • AWR or Statspack reports for the given period (default 10 days)
  • Additional database information (such as capacity of tablespaces and disks, settings, compression analysis, backup, ...)

For detailed info on what data is collected, most commands and files are in the config section: DBcollect config

Removing SQL code

DBcollect generates HTML formatted Oracle AWR reports. These reports usually contain snippets of SQL queries. These snippets may sometimes help us in finding the root cause of slow queries, but if it is prohibited to send SQL queries outside of the organization, the SQL sections can be completely removed from the DBcollect ZIP files:

dbcollect --strip

Note that this only works for HTML-formatted AWR reports, it does NOT work for Statspack.

Safety

DBcollect is designed to run on production systems and great effort has been spent on making it robust. The SECURITY section on the github page explains in great detail how this works. Note that dbcollect has an option to remove SQL code from AWR reports, in case this is condidered a security or confidentiality issue.

root user

DBcollect does NOT run as root (ever). If you execute it as root, it will re-launch itself as another user, usually 'oracle' or 'nobody' on systems without Oracle. You can force another user:

dbcollect --user oraprod

Example

# Install dbcollect via the quick install metohd
curl https://raw.githubusercontent.com/outrunnl/dbcollect/master/scripts/download | python
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2154  100  2154    0     0   4018      0 --:--:-- --:--:-- --:--:--  4011
Github dbcollect downloader - download the latest dbcollect release
-> Retrieving GitHub metadata from https://api.github.com/repos/outrunnl/dbcollect/releases/latest
-> Downloading binary version 1.16.3 from https://github.com/outrunnl/dbcollect/releases/download/v1.16.3/dbcollect
-> md5 hash: 6d080140269bf9fe14039cfbfbd6806e
-> Saving binary as /usr/local/bin/dbcollect
-> Setting permissions to mode 755

# Test version
[root@db08 ~](-) # dbcollect --version
dbcollect 1.16.3 - collect Oracle AWR/Statspack, database and system info
Author:    Bart Sjerps <info@dirty-cache.com>
Copyright: Copyright 2023, Bart Sjerps
License:   GPLv3+, https://www.gnu.org/licenses/gpl-3.0.html
Version:   1.16.3
Builddate: 2024-07-01 15:04
Buildhash: 1e08f98a7ca3b546d166c964300be221f952c7a0

Verify dbcollect source code

# Verify dbcollect contents
# As dbcollect is actually a ZIP file, you could unzip it and verify the code
unzip -v /usr/local/bin/dbcollect 
Archive:  /usr/local/bin/dbcollect
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0   0% 07-01-2024 15:01 00000000  lib/
       0  Stored        0   0% 07-01-2024 15:01 00000000  modules/
       0  Stored        0   0% 07-01-2024 15:01 00000000  sql/
    7816  Stored     7816   0% 06-10-2024 13:06 267803f6  dbcollect.py
       0  Stored        0   0% 10-31-2023 19:14 00000000  lib/__init__.py
     257  Stored      257   0% 07-01-2024 15:04 34d07d31  lib/buildinfo.py
    2767  Stored     2767   0% 05-30-2024 15:33 d95147e0  lib/user.py
    1984  Stored     1984   0% 05-30-2024 15:34 5272c204  lib/archive.py
    2322  Stored     2322   0% 05-30-2024 15:34 fdd6efa2  lib/functions.py
--- snip ---
     209  Stored      209   0% 02-05-2024 08:38 446743e2  sql/splunk/readme.txt
      79  Stored       79   0% 02-05-2024 08:38 3b1af7bd  sql/splunk/splunk_header.sql
      58  Stored       58   0% 07-01-2024 15:04 8fed2ee0  __main__.py
--------          -------  ---                            -------
  166163           166163   0%                            81 files

Run dbcollect

# Run dbcollect (default 10 days of AWR, user 'oracle'
dbcollect 1.6.0 - collect Oracle AWR/Statspack, database and system info
INFO     : dbcollect 1.6.0 - database and system info collector
INFO     : Current user is oracle
INFO     : Zip file is /tmp/dbcollect-db01.lan.zip
INFO     : Collecting OS info (Linux)
INFO     : Collecting Linux SAR files
INFO     : Collecting Oracle info
INFO     : Found instance DEMO on /u01/app/oracle/product/12.1.0/dbhome_1
WARNING  : Skipped DEMO (DOWN)
INFO     : Found instance DEMO2 on /u01/app/oracle/product/12.1.0/dbhome_1
WARNING  : Skipped DEMO2 (DOWN)
INFO     : Found instance demo on /u01/app/oracle/product/12.1.0/dbhome_1
WARNING  : Skipped demo (DOWN)
INFO     : Found instance DB01 on /u01/app/oracle/product/12.1.0/dbhome_1
INFO     : DB01: AWR usage detected, generating reports 
INFO     : Generating Oracle AWR/Statspack reports, with 1 workers
INFO     : processing instance DB01
report 15 of 230 (6.5% done), elapsed: 0:00:34, remaining: 0:08:18
INFO     : Zip file /tmp/dbcollect-db01.lan.zip is created succesfully.
INFO     : Finished

Review collected data

# Inspect ZIP file contents
[root@db01 ~](-) # unzip -v /tmp/dbcollect-db01.lan.zip 
Archive:  /tmp/dbcollect-db01.lan.zip
dbcollect version=1.6.0 hostname=db01.lan
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
     541  Defl:N      272  50% 07-06-2021 13:07 0fea7e9c  db01.lan/meta.json
    1247  Defl:N      663  47% 07-06-2021 13:07 176503d7  db01.lan/cmd/lscpu
    1133  Defl:N      145  87% 07-06-2021 13:07 a248c133  db01.lan/cmd/lsscsi
      40  Defl:N       27  33% 07-06-2021 13:07 4cbb2c4b  db01.lan/cmd/sestatus
    2476  Defl:N      865  65% 07-06-2021 13:07 94874f95  db01.lan/cmd/lsmod
  139387  Defl:N    25763  82% 07-06-2021 13:07 7d28e51b  db01.lan/cmd/dmesg
   20691  Defl:N     3664  82% 07-06-2021 13:07 912b04bc  db01.lan/cmd/psef
   26229  Defl:N     4734  82% 07-06-2021 13:07 0bac6129  db01.lan/cmd/psfaux
    5050  Defl:N      889  82% 07-06-2021 13:07 aafb6b4a  db01.lan/cmd/lsblk
    1076  Defl:N      406  62% 07-06-2021 13:07 a73ecda5  db01.lan/cmd/dfpt
     326  Defl:N      196  40% 07-06-2021 13:07 85199d6c  db01.lan/cmd/iplink
     433  Defl:N      181  58% 07-06-2021 13:07 5e9c5f56  db01.lan/cmd/ipaddr
   45599  Defl:N    17256  62% 07-06-2021 13:07 1e259717  db01.lan/cmd/rpmqf
   28046  Defl:N     6136  78% 07-06-2021 13:07 7d437fa2  db01.lan/cmd/sysctla
    2020  Defl:N      648  68% 07-06-2021 13:07 b7ca76b3  db01.lan/proc/cpuinfo
    1310  Defl:N      521  60% 07-06-2021 13:07 128cc245  db01.lan/proc/meminfo
     378  Defl:N      151  60% 07-06-2021 13:07 83f093db  db01.lan/proc/filesystems
     979  Defl:N      296  70% 07-06-2021 13:07 562875d5  db01.lan/proc/partitions
     536  Defl:N      299  44% 07-06-2021 13:07 696196ae  db01.lan/proc/devices
    3142  Defl:N      764  76% 07-06-2021 13:07 32da3154  db01.lan/proc/mounts
      40  Defl:N       42  -5% 07-06-2021 13:07 f842b1fd  db01.lan/proc/mdstat
     215  Defl:N      157  27% 07-06-2021 13:07 2091f2f6  db01.lan/proc/misc
      22  Defl:N       24  -9% 07-06-2021 13:07 c1ca737d  db01.lan/proc/uptime
     393  Defl:N      226  43% 11-23-2020 16:08 358d6782  db01.lan/etc/os-release
      37  Defl:N       39  -5% 11-23-2020 16:08 36030dbe  db01.lan/etc/system-release
     103  Defl:N      102   1% 01-03-2021 15:34 02058559  db01.lan/etc/issue
      87  Defl:N       86   1% 01-03-2021 15:34 ad1f98c9  db01.lan/etc/motd
    1019  Defl:N      520  49% 05-31-2021 21:05 547a8978  db01.lan/etc/oratab
      13  Defl:N       15 -15% 06-20-2021 00:16 875d0c1f  db01.lan/sys/class/dmi/id/sys_vendor
      24  Defl:N       26  -8% 06-21-2021 11:59 a4480e0b  db01.lan/sys/class/dmi/id/product_name
      33  Defl:N       35  -6% 06-21-2021 11:59 fbe92f48  db01.lan/sys/class/dmi/id/board_name
      18  Defl:N       20 -11% 06-20-2021 00:16 5deaba97  db01.lan/sys/class/dmi/id/board_vendor
...
  605964  Defl:N    75815  88% 06-27-2021 23:50 fbb4552b  db01.lan/var/log/sa/sa27
  605964  Defl:N    76052  87% 06-28-2021 23:50 5704a62d  db01.lan/var/log/sa/sa28
  605964  Defl:N    76113  87% 06-29-2021 23:50 8267a285  db01.lan/var/log/sa/sa29
  605964  Defl:N    75803  88% 06-30-2021 23:50 d7478b20  db01.lan/var/log/sa/sa30
  574442  Defl:N    54492  91% 07-06-2021 13:07 1f290b08  db01.lan/oracle/DB01/DB01_awrrpt_1_24717_24718_20210627_0000.html
  627738  Defl:N    64554  90% 07-06-2021 13:07 554dcc81  db01.lan/oracle/DB01/DB01_awrrpt_1_24718_24719_20210627_0100.html
  583958  Defl:N    57024  90% 07-06-2021 13:07 3c7b8d7e  db01.lan/oracle/DB01/DB01_awrrpt_1_24719_24720_20210627_0201.html
...
   24290  Defl:N     4504  82% 07-06-2021 13:07 49383845  db01.lan/oracle/DB01/dbinfo.txt
    4011  Defl:N      636  84% 07-06-2021 13:07 c0304c39  db01.lan/oracle/DB01/pdbinfo.txt
  127795  Defl:N     3911  97% 07-06-2021 13:07 551eaccc  db01.lan/oracle/DB01/reports.sql
   41510  Defl:N     3589  91% 07-06-2021 13:15 b742ecf9  db01.lan/dbcollect.log
--------          -------  ---                            -------
157350796         16088556  90%                            403 files