rdbms-stat - Oracle RDBMS statistics gathering for sstore
The oracle-database-stats service uses the rdbms-stat utility to capture performance-related statistics from Oracle RDBMS instances for reporting by the sstore(1) command and graphically in the Oracle Solaris System Web Interface.
The utility does not attempt to enumerate all installed databases on the host. A separate service instance must be created for each database instance to be monitored.
The database user must have the SYSDBA connect privilege for each database instance to be monitored.
Use of Oracle Wallet is required in order to securely store access credentials for each monitored database instance.
The Oracle Solaris user for each service must have the following authorizations:
See CONFIGURATION below for the command to run to assign these authorizations to a user.
The oracle-database-stats service is configured by setting service properties.
To set properties on the service, use of the /usr/bin/statcfg utility is very strongly recommended. Using statcfg enables you to just set the values you need and avoid steps such as creating a new service instance, creating property groups, and specifying property types. Also, using statcfg automatically creates a separate Oracle Solaris System Web Interface sheet for each database instance that is monitored.
The following is an example of using statcfg to configure an instance of the oracle-database-stats service. For more information, see the statcfg(1) man page.
# /usr/bin/statcfg oracle-rdbms -u user -g group -s sid \ -c connectstring
Specifies to configure an instance of the oracle-database-stats service. The statcfg utility creates an oracle-database-stats instance with the same name as the Oracle Database instance to be monitored, as specified by sid.
The Oracle Solaris user and group that this oracle-database-stats service instance will run as.
See below for information about user configuration.
The name of the Oracle Database instance that this oracle-database-stats service instance will monitor.
The alias for access credentials for the database instance specified by sid. See below for information about configuring the user's Oracle Wallet.
Ensure the following configuration is complete for the specified user:
Assign the appropriate sstored authorizations to Oracle Solaris users that will be specified as user in an svc:/application/oracle-database-stats service configuration. In the following example, admin is the user:
# usermod -A +solaris.sstore.update.res,solaris.sstore.write admin
The shell startup script for user must specify ORACLE_HOME, or specify ORACLE_HOME in the service as shown in the following example:
# svccfg -s application/stats/oracle-database-stats:orcldnfs \ setenv ORACLE_HOME /u0/app/oracle/product/12.2.0/dbhome_2
The $HOME/.sqlnet.ora file for user must specify:
The Oracle Wallet location for that user.
The Oracle Wallet db_connect_string alias for this database instance.
Follow the instructions in "Managing the Secure External Password Store for Password Credentials" in the Database Security Guide to configure the user's Oracle Wallet. See the SEE ALSO section for database security guide links.
For reference, the same configuration that is set above by using the statcfg command is set below using the svccfg command. See the svccfg(8) man page for more information.
First, add a new instance of the service. Use the name that you specify as sid below for the instance name.
The following example creates a new service oracle-database-stats:orcldnfs, where orcldnfs is the name of the Oracle Database instance to be monitored:
# svccfg -s oracle-database-stats add orcldnfs
These examples specify only the service instance name (orcldnfs instead of oracle-database-stats:orcldnfs), which assumes that no other service or service instance has that name.
The following example sets admin as the user that the orcldnfs service will run as and sets staff as the group. Be sure the user configuration described above is completed.
# svccfg -s orcldnfs addpropvalue -G start -P user -T astring admin # svccfg -s orcldnfs addpropvalue -G start -P group -T astring staff
The following example sets the Oracle Database instance identifier that this service instance will monitor, and sets the connect string so that this service instance can access the specified database instance. Do not include a plain-text password as the value of the connect string. Authentication of the user to the database is done by using Oracle Wallet, as described above.
# svccfg -s orcldnfs addpg db rdbms-instance # svccfg -s orcldnfs addpropvalue -G db -P db_connect_string \ -T astring pdb # svccfg -s orcldnfs addpropvalue -G db -P sid -T astring orcldnfs # svccfg -s orcldnfs addpropvalue -G general -P complete -T astring ""
The above example first creates a new service instance, then creates a new property group for the instance, and ends by setting a housekeeping value, none of which is necessary if you use the statcfg command to configure the service instance.
When configuration is complete, enable the service instance:
# svcadm enable oracle-database-stats:orcldnfs
If the service instance was already running when configuration was changed, refresh and restart the instance:
# svcadm refresh oracle-database-stats:orcldnfs # svcadm restart oracle-database-stats:orcldnfs
Check whether the service is online. If the service is in maintenance or is otherwise not online, check the service log.
It is recommended that you duplicate and edit the Oracle Database sheet in the Oracle Solaris System Web Interface for each database instance that you are monitoring with the oracle-database-stats service, replacing each occurrence of //:res.db/* with the SID of the instance being monitored (for example, //:res.db/orcldnfs). This task is done for you if you use the statcfg utility to perform the service configuration.
See attributes(7) for descriptions of the following attributes:
For information about Oracle Wallet, go to Oracle Database Documentation (https://docs.oracle.com/en/database/oracle/oracle-database/index.html), select your Oracle Database version, select Security under the Topics heading, and then select the Database Security Guide under the Access Management heading.