SourceForge.net Logo Support This Project


XDBAudit: Introduction and Opening Comment

Argaut XDBAudit 1.8.3 scans corporate networks for Oracle and Microsoft SQL Server databases, collecting useful usage statistics and license related inventory audit information, including infrastructural metadata relating to capacity and performance metrics.

Databases currently supported include:

  • Oracle versions 8i, 9i and 10g
  • Microsoft SQL Server 7 and 2000

Earlier versions are limited by the degree to which they supported emerging metadata standards, and the range of functions available to retrieve information about the underlying operating system and hardware.

Databases to be supported in the near future include:

  • DB2 UDB
  • MySQL
  • Cloudscape
  • Postgress

For each database audited by XDBAudit, the following statistics are captured:

  • Vendor
  • Product
  • Major Verion
  • Minor Version
  • Patch Level
  • DB Service Name
  • DB Size / Bytes
  • DB Table Count
  • IP Domain Name
  • OS Host Name
  • IP Address
  • OS Vendor
  • OS Name
  • CPU Count Total
  • CPU Count Used
  • Full Version Text

Audit output can be displayed directly to screen, redirected through a pipe to a file, or pushed to a database repository. Combinations of the above can also be configured.

XDBAudit is written in Java Standard Developers Kit 1.4.2 and is backwards compatible to JDK 1.2. It relies heavily on JDBC 2.0 Core but makes no use of Standard Extension APIs. Future versions will support popular directory products such as Active Directory, JNDI and Oracle Advance Network Services. This current version utilizes a flat model of direct connections only, relying on the fundamental DriverManager call to make connections to all supported databases.

Limitations of this version include:

  • No support for clustered instances.
  • An old style ini file format carried over from early days, to be replaced with XML in a near future release.
  • Relatively closed architecture, with no API exposed. A web service API should be added to the application to allow loosely coupled integration into other monitoring processes, and to support queries of particular audit results.
  • No internal scheduler for periodic scans. The application must be called either manually from a command line or through an external scheduler.

All in all, XDBAudit is a simple utility application, but should be really useful for medium to large corporations during license negotiations and compliance related inventory activities. Actually, that's why I created it in the first place, and it has continued to be useful three companies later.

But one final word - I am not a hardcore Java developer so I am sure that there is lots of room for improvement in the application. That is one of my motivations for bringing it to the Open Source community, to drive polish and robustness into the implementation and to provide a cost effective alternative to other products which have huge price tags. So here goes alpha.