Inhaltsverzeichnis

Oracle Health Checks Collection Manager

Details zu AHF siehe Eine Oracle RAC Umgebung mit dem AUTONOMOUS HEALTH FRAMEWORK(AHF) überprüfen

Installation DB Umgebung

Ablauf:

Siehe auch ⇒ https://docs.oracle.com/en/engineered-systems/health-diagnostics/autonomous-health-framework/ahfug/apex20-2-managing-oracle-health-check-collection-manager.html


Upload Manuell konfigurieren

Hier wird für die Konfiguration „ahfctl“ verwendet, „tfactl“ ist veraltet und sollte nicht mehr verwendet werden!

Eine evlt. alten Konfiguration entfernen:

/opt/oracle.ahf/bin/ahfctl  unsetupload  -all  -name orachkcm

Als Root konfigurieren:

cd /opt/oracle.ahf/bin
 
./ahfctl setupload -type sqlnet -name orachkcm -user orachkcm  -password  -connectstring "(DESCRIPTION =(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.10.1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=gpidb)))" -uploadtable RCA13_DOC
 
 
Enter orachkcm.sqlnet.password :
Successfully synced AHF configuration
Upload configuration set for: orachkcm
type: sqlnet
 
orachkcm.sqlnet.user: orachkcm
 
orachkcm.sqlnet.password: ******
 
orachkcm.sqlnet.connectstring: (DESCRIPTION =(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=gpidb)))
 
orachkcm.sqlnet.uploadtable: RCA13_DOC
 
 
Database upload parameters successfully stored.
AHF will continue to upload the collections to the database until unset using ahfctl unsetupload [-all]

Überprüfen mit:

 /opt/oracle.ahf/bin/ahfctl getupload -all -name orachkcm

Daten hochladen:

[root bin]# ./ahfctl orachk  -a -dball

Upload per Script konfigurieren

Ärgerlicherweise muss das Password interaktiv eingegeben werden.

Um nun das zu automatisieren bietet sich expect an siehe dazu auch ⇒ https://likegeeks.com/expect-command/

Ablauf als Ansible Tasks:

Im ersten Schritt alles konfigurieren das sich so übergeben läßt:

 

Problem: MEMORYCRUNCH: Does not have enough space in data base to process collection...exiting.

Ursache:

Ein internes SQL fragt die freien Platz des Tablespaces ab, ist der relativ voll und auf auto Exented wird die Collection nicht verarbeitet, da eine zu niedriger Wert ermittelt wird.

Aus dem Code:

..
'  minRequiredFreeSpace number := 100; -- Size in MB',
..
'  -- Check whether there is enough space to process collection or not  ',
'  begin',
'   select tablespace_name into tsName from user_tables where table_name = ''RCA13_DOCS'';',
'   SELECT sum(bytes)/1048576 into freeSpace FROM user_free_space  where tablespace_name = tsName;',
'   exception when others then null;',
'  end;',
'  if freeSpace < minRequiredFreeSpace then     ',
'    log_text(''MEMORYCRUNCH: Does not have enough space in data base to process collection...exiting.'',collectionId,docId);',
'    update_collection_status(collectionId,''Failed'',''NO_ENOUGH_SPACE'');',
'    return;    ',
'  end if;',

Lösung:

Datendatei des Tablespaces mit entsprechender Größe gleich anlegen!


User Definied Checks

https://docs.oracle.com/en/engineered-systems/health-diagnostics/exachk/oexug/oracle-orachk-and-exachk-users-guide.pdf

Quellen

MOS:

Netz: