We are using OML 9.10 and have also deployed DBSPI 12.x.
Since, the default Deployed DBSPI policies were not providing expected results, we are currently re-configuring them.
So, we had copied all the required shipped DBSPI polices to a New group with New Names. Say, renamed DBSPI-0001 to xxx_DBSPI-0001, DBSPI-0206 to xxx_DBSPI-0206 etc ...
Also, few Polices have also been modified to alert for multiple thresholds.
For ex, we have added couple of rules under "xxx_DBSPI-0206 " , alerting for thresholds like 5% and 20%. (Not sure if we can add the rules manually to the monitor policies).
Similarly, the collector polices has been renamed from "DBSPI-Ora-15min-Favorites" to "DBSPI-Ora-20min-Favorites". Also, the command is updated with -t option (dbspicao -m 203,206,58,62,64-65,136,334 -x suffix=_en -t xxx_).
But the issue is that, we are not receving any alerts from DBSPI after these modifications.
We did try to run, opcmon LFG_DBSPI-0206=2, but no Alert got trigerred.
Also tried LFG_DBSPI-0001=2, no luck.
Actually, we have few Measurement threshold policies to monitor CPU/Mem, even they did not trigger alerts for opcmon commands.But i have never tried opcmon before, not sure, if the syntax is correct ?
But yes, we are getting test alerts trigerred by opcmsg.
One more thing that i would like to high-light is that, when we renamed the DBSPI Measurement thresold policies, and tried to save, it asked us to fill the ObjectName (as it said that its mandatory, while the shipped policy has no values mentioned for object-name. This was weird).so we put some static values like, Tablespace, DBStatus and saved the polices. Not sure, if this is having some impact.
Do we have any specific docs for customizing DBSPI polciies for OML 9.10.
Hi Dhina, I think the issue is in the object name, as this means that it will only display alerts that matches this object name Object name here matches the database name for example.
See this example below from the trace file 2012-02-21T17:30:01.246 Met_0058(2548): itoiface CLI: buffer=opcmon LFG_DBSPI-0058=78.137636 -object "DBSPTW03:db_recovery_file_dest" -option "dbname=DBSPTW03" -option "cli_threshold=-1" -option "local_threshold=-1.00" -option "adest=D:\oracle\product\10.2.0/flash_recovery_area"
Look in this part: opcmon LFG_DBSPI-0058=78.137636 -object "DBSPTW03:db_recovery_file_dest" the object is a database index When opcmon send this message it will not match because you entered somthing diffrent in object field in your policy
You have to use wild card in the name to match all the possible objects You may use <*> which represent asterisk in OM understanable pattern matching format.
Now, when we tried to send a Alert manually using opcmon, it was sucessful (we used "opcmon LFG_DBSPI-0206=15 -object "Test" -option "dbname=DBSPTW03" -option "cli_threshold=-1" -option "local_threshold=-1.00" -option "tablespace_name=SYSAUX").
But the Alert is not getting generated automatically now.
Few of theTablespaces are above 95%, but we did not receive any alerts. (LFG_DBSPI-0206 has been customized for 3 conditions - 5%,10% and 20%).
TABLESPACE_NAME size MB free MB % used
USERS 5 5 8
UNDOTBS1 25 20 23
SYSAUX 280 10 96
SYSTEM 480 5 99
TEMP **TEMP** 20 0 100
The trace logs says that it collecting the Data for this metrics -
But not sure, if these are breaching the configured thresholds (<5%,<10% and < 20 %).
Do we need to do something with the collector policy like changing "dbspicao -c LFG_DBSPI-Ora-14min-Favorites -m 203,206,58,62,64-65,136,334 -x suffix=_en -t LFG_" to somthing like "dbspicao -c LFG_DBSPI-Ora-14min-Favorites -m 203,206:5,206:10,206:20,58,62,64-65,136,334 -x suffix=_en -t LFG_"
Hi Dhina, I think you are comparing to the value of 5, 10 and 20 while is seams from the log file it is a maximum value so you may configure them as 80, 90, and 95. Please do not include percentage in your values as it is not accepted in comparison.
Hello, You are right about minimum value and my answer is based on the trace analysis.
Based on DBSPI Guides, It should check for mimimum value and this what you have configured and you said it is not working.
Based on the trace log it send just the value of the % used not the free space.
There is a note on the online help.
The space metrics (3/203, 6/206 and 16/216) are very complicated and should be well understood before using or making changes to them. Please refer to the section titled 'Customizing Tablespace Metrics' in the 'Configuration Guide' for details.
For metric 6, if the ratio is less than the command line threshold - count the tablespace in the alarm count. If no command line threshold is specified for 6, an internal threshold of 80 percent is used. For 206, the percentage is always sent to the agent to compare against the threshold.
E0206_TblSpaceFreePctCnt: Fetching data Metric #0206: SQL = [select tablespace_name from dba_tablespaces ] ovam_get_ts_auto_extend: ts_name 'SYSAUX', autoextend '1' Starting get_fs_free_space for [SYSAUX] get_fs_free_space: SQL [SELECT a.file_name, (b.maxextend - a.blocks),b.inc FROM DBA_DATA_FILES a, SYS.FILEXT$ b WHERE a.tablespace_name=:buff AND a.file_id = b.file#; ] get_fs_free_space: Start fetching... get_fs_free_space: Start dbspi_arch_fsfree... dbspi_arch_fsfree: file='D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSPTW03\SYSAUX01.DBF' block_size='8192.000000' _fsCacheFindByPath: searching file system data cache for info about 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSPTW03\SYSAUX01.DBF' Looking for path: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSPTW03\SYSAUX01.DBF'; found 'D:' getDiskUsageInfo: using cached data for path 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSPTW03\SYSAUX01.DBF' mount point name='D:' free bytes='38641127424' returning mount point='D:' free blocks='4716934'
file_system->mount_point_name= D: Number of free filesystem blocks=4716934.000000 data_file.max_blocks=4158462.000000 data_file.increment=1280.000000 max_ora_blocks=4157440.000000 max_fs_blocks=4716800.000000 blocks_to_allocate=4157440.000000 Data File D:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSPTW03\SYSAUX01.DBF fs_space_block=4157440.000000 mp_index=1 Tablespace_name=SYSAUX sum_dba_freespace(blocks)=1272.000000 sum_dba_datafiles(blocks)=35840.000000 sum_fs_space(blocks)=4157440 db_block_size=8192.000000
So based on the above because Autoextend is enabled it calculate the total free space of the drive hosting this table space.
That's why the value is 99.175633 as the database file may be fully written but the disk still has free space for this system to extend when needed so the free space is 99 percent so no alerts will be received when you configure threshold as 10 or 20 because the calculated value is not breaching those values.