sql >> Database >  >> RDS >> Oracle

Checker Run

Ik heb gemerkt dat nadat ik enkele van mijn ontwikkelingsdatabases uit productie heb vernieuwd, ik een "Checker Run" -waarschuwing krijg voor de onlangs vernieuwde database. Er is niet veel informatie beschikbaar, dus ik dacht dat ik zou opschrijven hoe ik kan bepalen wat precies de oorzaak is.

In Grid Control zie ik waarschuwingen die vergelijkbaar zijn met het volgende:

Dus wat zijn deze "aanhoudende gegevensstoringen"? Helaas geeft het alarm geen verdere details. Het is aan jou om erachter te komen.

De nieuwe Health Monitor van Oracle voert een databasecontrole uit en heeft vastgesteld dat er storingen zijn. Het is HM die deze storingen opspoort en rapporteert aan Grid Control. U kunt de HM-runs zien door V$HM_RUN op te vragen. In mijn geval moet ik de ID weten van de run die deze fout gaf.

Ik weet dat de run-ID 45881 is. Ik kan nu het meegeleverde DBMS_HM-pakket gebruiken om een ​​rapport over deze run te krijgen dat me meer details geeft. De "run name" heeft de vorm "HM_RUN_xxxxx" waarbij "xxxxx" de run-ID is die we hierboven hebben bepaald.

SQL> SET LONG 999999999
SQL> SELECT dbms_hm.get_run_report('HM_RUN_45881') FROM dual;

DBMS_HM.GET_RUN_REPORT('HM_RUN_45881')
--------------------------------------------------------------------------------
Basic Run Information
Run Name                     : HM_RUN_45881
Run Id                       : 45881
Check Name                   : DB Structure Integrity Check
Mode                         : REACTIVE
Status                       : COMPLETED
Start Time                   : 2011-08-08 12:51:42.822626 -05:00
End Time                     : 2011-08-08 12:52:25.169770 -05:00
Error Encountered            : 0
Source Incident Id           : 0
Number of Incidents Created  : 0

DBMS_HM.GET_RUN_REPORT('HM_RUN_45881')
--------------------------------------------------------------------------------

Input Paramters for the Run
Run Findings And Recommendations
Finding
Finding Name  : Control File needs recovery
Finding ID    : 45882
Type          : FAILURE
Status        : CLOSED
Priority      : CRITICAL
Message       : Control file needs media recovery
Message       : Database cannot be opened

DBMS_HM.GET_RUN_REPORT('HM_RUN_45881')
--------------------------------------------------------------------------------
Finding
Finding Name  : System datafile is old
Finding ID    : 45885
Type          : FAILURE
Status        : CLOSED
Priority      : CRITICAL
Message       : System datafile 1:
'/u01/app/oracle/oradata/fgodba/data02/system01.dbf' needs
media recovery
Message       : Database cannot be opened
Finding

Er waren veel meer regels die allemaal aangaven dat het bestand mediaherstel nodig heeft, één bericht voor elk gegevensbestand in de database.

Het antwoord is nu duidelijk. Ik heb deze database vernieuwd vanaf een hot backup van mijn productiedatabase. De checker liep voordat ik het herstel had voltooid en de database had geopend. Ik heb nu een definitief idee van welk probleem de checker heeft gevonden.

De waarschuwing wordt niet vanzelf gewist, dus u moet teruggaan en de waarschuwing handmatig wissen in Grid Control.


  1. Tijdelijk databaseontwerp, met een twist (live vs conceptrijen)

  2. Looping over resultatensets in MySQL

  3. Oracle naar PostgreSQL:redenen om te migreren

  4. Verbindingstime-out instellen in SQLAlchemy