GetStatusDetail('SERVER_NAME'), $app['server']->GetStatusDetail('PLATFORM'), $app['server']->GetStatusDetail('VERSION'), $app['server']->GetStatusDetail('RELEASE'), $app['server']->GetStatusDetail('LEVEL'), $app['server']->GetStatusDetail('SUBLEVEL')); $blockBody['db'] = ''; $blockBody['db'] .= sprintf('',_('Database Summary')); $blockBody['db'] .= ''; # Show our dbbackup graph $blockBody['db'] .= sprintf('', $app['server']->getIndex()); $blockBody['db'] .= '
%s
'; $blockBody['db'] .= sprintf('', $app['server']->GetDBDetail('PHYSICAL_VOLUMES'),$app['server']->GetDBDetail('AVAIL_SPACE_MB'), $app['server']->GetDBDetail('PCT_UTILIZED')); foreach ($app['server']->GetDBDetail('dbvols') as $key) { $blockBody['db'] .= sprintf('', $key['COPY1_NAME'],$key['AVAIL_SPACE_MB'],$key['FREE_SPACE_MB'],$key['COPY1_STATUS']); if ($key['COPY2_NAME']) $blockBody['db'] .= sprintf('', $key['COPY2_NAME'],$key['COPY2_STATUS']); if ($key['COPY3_NAME']) $blockBody['db'] .= sprintf('', $key['COPY3_NAME'],$key['COPY3_STATUS']); } $blockBody['db'] .= ''; $blockBody['db'] .= sprintf('', $app['server']->GetLogDetail('PHYSICAL_VOLUMES'),$app['server']->GetLogDetail('AVAIL_SPACE_MB'), $app['server']->GetLogDetail('PCT_UTILIZED')); foreach ($app['server']->GetLogDetail('logvols') as $key) { $blockBody['db'] .= sprintf('', $key['COPY1_NAME'],$key['AVAIL_SPACE_MB'],$key['FREE_SPACE_MB'],$key['COPY1_STATUS']); if ($key['COPY2_NAME']) $blockBody['db'] .= sprintf('', $key['COPY2_NAME'],$key['COPY2_STATUS']); if ($key['COPY3_NAME']) $blockBody['db'] .= sprintf('', $key['COPY3_NAME'],$key['COPY3_STATUS']); } $blockBody['db'] .= ''; $blockBody['db'] .= sprintf('', $app['server']->GetStatusDetail('LOGMODE')); $blockBody['db'] .= ''; $blockBody['db'] .= sprintf('', $app['server']->GetDBDetail('CACHE_HIT_PCT'),$app['server']->GetDBDetail('CACHE_WAIT_PCT')); if ($trigger = $app['server']->GetDBBackupDetail('trigger')) { $blockBody['db'] .= ''; $blockBody['db'] .= sprintf('', sprintf('%s',$app['server']->getIndex(),$trigger['INCRDEVCLASS'],$trigger['INCRDEVCLASS']), $trigger['LOGFULLPCT']); $blockBody['db'] .= sprintf('', $trigger['NUMICREMENTAL'], sprintf('%s',$app['server']->getIndex(),$trigger['DEVCLASS'],$trigger['DEVCLASS'])); } $blockBody['db'] .= '
'.classValue(_('%s DB volumes totaling %sMB (%s%% utilsed).'),'value').'
 '.classValue(_('%s (%sMB) (%sMB Free) (%s).'),'value').'
 '.classValue(_('%s (%s).'),'value').'
 '.classValue(_('%s (%s).'),'value').'
 
'.classValue(_('%s LOG volumes totaling %sMB (%s%% utilsed).'),'value').'
 '.classValue(_('%s (%sMB) (%sMB Free) (%s).'),'value').'
 '.classValue(_('%s (%s).'),'value').'
 '.classValue(_('%s (%s).'),'value').'
 
'.classValue(_('Database REDO log mode %s.'),'value').'
 
'.classValue(_('%s%% database cache hit rate (%s%% cache wait).'),'value').'
 
'.classValue(_('TSM will automatically backup the database to %s when the logs reach %s%% full.'),'value').'
'.classValue(_('After %s INCREMENTAL backups, a full backup will be performed to %s.'),'value').'
'; # Database Backup Information $blockTitle['backup'] = sprintf(_('Database backup information for %s'),$app['server']->getValue('server','name')); $blockBody['backup'] = ''; if ($app['server']->GetDBDetail('LAST_BACKUP_DATE')) { $blockBody['backup'] .= sprintf('', $app['server']->GetDBDetail('BACKUP_CHG_MB'),$app['server']->GetDBDetail('BACKUP_CHG_PCT'), tsmDate($app['server']->GetDBDetail('LAST_BACKUP_DATE'))); $blockBody['backup'] .= ''; ## Show DB Vols $blockBody['backup'] .= sprintf('', tsmDate($app['server']->GetDBBackupDetail('count'),'nosec'), tsmDate($app['server']->GetDBBackupDetail('first'),'nosec'), tsmDate($app['server']->GetDBBackupDetail('last'),'nosec')); $blockBody['backup'] .= sprintf('', 'SEQ #','DATE','TYPE','DEVICE','VOLUME','LOCATION','STATUS'); $counter = 0; $lastseries = 0; foreach ($app['server']->GetDBBackupDetail('vols') as $volname => $voldetails) { if (! is_array($voldetails)) continue; if ($lastseries != $voldetails['BACKUP_SERIES']) { $lastseries = $voldetails['BACKUP_SERIES']; $counter ++; } $blockBody['backup'] .= sprintf('', ($voldetails['STATUS'] == 'InValid' ? 'class="shadow"' : ($counter%2==0?'class="even"':'class="odd"')), sprintf('%s-%s-%s',$voldetails['BACKUP_SERIES'],$voldetails['BACKUP_OPERATION'],$voldetails['VOLUME_SEQ']), tsmDate($voldetails['DATE_TIME'],'nosec'), tsmBackupType($voldetails['TYPE']), $voldetails['DEVCLASS'], $volname, $app['server']->GetVolLocation($volname), $voldetails['STATUS']); } $blockBody['backup'] .= ''; } else { $blockBody['backup'] .= sprintf('',_('It looks like you have NOT yet run a TSM backup.')); } if ($app['server']->GetDBDetail('BACKUP_RUNNING') == 'YES') $blockBody['backup'] .= sprintf('',_('Database backup IS currently running.')); else $blockBody['backup'] .= sprintf('',_('Database backup is NOT currently running.')); $blockBody['backup'] .= ''; $blockBody['backup'] .= '
'.classValue(_('%sMB (%s%%) has changed since the last backup on %s'),'value').'
 
'.classValue(_('%s backups between %s and %s available for TSM DB restore.'),'value').'
 %s%s%s%s%s%s%s
 %s%s%s%s%s%s%s
 
%s
%s
%s
 
'; # End render_page($blockTitle,$blockBody); ?>