The goal of the Sybase ASE Dataserver Database Detail pattern is to obtain the list of databases being managed by the Sybase Database server and furthermore to obtain (optionally, disabled by default) the list of schemas and tables within these databases.
The patterns will not by default return the list of all schemas and tables within the discovered databases as this can have a marked impact on discovery of hosts with large database installations
The information is then stored within the Atrium Discovery model as DatabaseDetail nodes. In Atrium Discovery 8.3 and later, the DatabaseDetail node representing each Sybase database has additional attributes added which permit easy mapping by the CMDB sync mechanism to the BMC_Database CIs in Atrium CMDB.
The pattern connects to the SQL Server using a JDBC connection.
If the pattern is unable to connect to a Sybase Database Server instance using a JDBC connection, it will attempt to obtain the list of managed databases by executing a command to interrogate the server instance's .log file.
There are several configuration options available for this product:
The core TKU Sybase ASE Dataserver Pattern will attempt to obtain the listening port for the database server dynamically. In case where it fails the Database Detail pattern will use the default port which is set in its configuration parameters. If the default port is likely to be different in your environment, the pattern configuration should be altered. Changing Pattern Configuration is detailed in Atrium Discovery Documentation .
The option to set the default port no longer exists in the Sybase ASE Database Detail pattern.
The Sybase ASE Database Detail pattern behavior is now as follows:
In order for Atrium Discovery to retrieve the database details, it will need to be able to access the database as a legitimate user with privileges to execute the SQL queries below.
The database user Atrium Discovery uses to access the database needs to have enough privileges to execute the SQL queries listed below.
The pattern executes the following SQL queries.
If the DatabasesAndTables pattern cannot obtain database information via a database query, and the "Use log files for deep discovery if direct query of the database fails" option is set, the pattern attempts to obtain the information from parsing a log file. This is only attempted when the pattern can identify the Sybase Database Server instances and installation root
The pattern performs the following searches on file <install root>/install/<instance>.log :
A DatabaseDetail node is then created for each database that was reported in the log after the last database boot time
We believe log file discovery of databases will give a good indication of which databases are running, but it is not guaranteed to be accurate. For this reason the pattern does not attempt to obtain a database list from log files by default. It only parses the log files for database information if the "Use log files for deep discovery if direct query of the database fails" option is enabled.