כלי לבדיקת מצב בריאות בסיס הנתונים: ORAchk.

לפני כמה שנים, אורקל הוציאו כלי בשם RACcheck. מכוון שקלסטרים באופן כללי הם דברים שמורכבים מהרבה מאוד חלקים, אורקל סיפקו כלי שעוזר לנו לבדוק את כל החלקים המהותיים. את הכלי הזה ניתן היה להריץ בשרתי ה-RAC והוא היה מייצר דוח שמכיל המון אינפורמציה לגבי הסביבה וההגדרות שבה. הדוח כלל בין היתר בדיקה של מערכת ההפעלה והפרמטרים שלה, הגדרות של השרתים ובדיקה של הרכיבים השונים של ה-RAC. לכל אחד מהקטגוריות קיבלנו השוואה בין מה שקיים בפועל לרשימה (ארוכה) של Best Practices.

הכלי הזה היה מאוד פופולארי ונתן נקודת פתיחה מעולה לבדיקה של שרתי RAC. החברים באורקל ראו כי טוב והחליטו להרחיב את הכלי לשימוש לכלל סוגי השרתים. השם של הכלי הוחלף ל-ORAchk ועל הכלי הזה נדבר היום.

לצערי לא הרבה אנשים מכירים את הכלי אז זו הזדמנות טובה לעשות היכרות עם הכלי בגרסה 12.1.0.2.3 – גרסה חדשה שיצאה לפני חודש וחצי בערך.

מה יש ב-ORAchk

הכלי ORAchk מגיע עם סט מאוד גדול של בדיקות.

בין הנושאים הנבדקים:

  • מערכת ההפעלה עצמה ופרמטרים של ה-Kernel
  • בסיסי הנתונים: Single Instance, קלסטרים – Grid Infrastructure ו-RAC או MMA – כלומר Data Guard וכו’).
  • בדיקה של הקונפיגורציה של ה-Golden Gate
  • בדיקה של Oracle Application (E-Business Suite)
  • בדיקה של ה-Enterprise Manager Cloud Control (רק לגרסה 12c) – הן ב-repository והן ב-agents.

זה אומר שעם הרצת הכלי אנחנו מקבלים תמונה דיי רחבה של המצב של המערכת שלנו ובמידה ויש לנו בעיות, זו נקודה מצוינת להתחיל בחקירה. עוד תכונה מעניינת של הכלי היא היכולת שלו לבדוק את המוכנות שלנו לקראת שדרוג ולתת לנו דוח מדוייק על מה שחסר לנו בסביבה.

באיזה גרסאות  ה-ORAchk תומך?

מכוון שהכלי נכתב ב-BASH, מערכות ההפעלה שהכלי תומך בהן באופן טבעי הן מערכות Linux/Unix שונות:

  • Linux x86-64 (Oracle Enterprise Linux/RedHat 5, 6, 7 and SuSE 9, 10, 11, 12)
  • Oracle Solaris SPARC (Solaris 10 and 11)
  • Oracle Solaris x86-64 (Solaris 10 and 11)
  • AIX
  • HPUX

כדי להשתמש בכלי בסביבת של Windows אז צריך לעשות מעקף. מכוון שהכלי בנוי על בסיס של סקריפטי BASH, אנחנו יכולים לעשות את זה, אם נשתמש ב-Cygwin (ממשק דמוי Unix שרץ על Windows – עליו אני אכתוב בהזדמנות אחרת).
מבחינת בסיס הנתונים, הכלי תומך בגרסאות 10gR2, 11gR1, 11gR2 ו-12cR1 שזה מכסה פחות או יותר את כל הגרסאות הנוכחיות.

איך מתקינים את הכלי

כלי לעבוד עם הכלי יש להוריד אותו מה-MOS: ORAchk – Health Checks for the Oracle Stack (Doc ID 1268927.2).

הכלי מגיע בתור קובץ Zip אותו יש לפתוח בשרת:

[[email protected] ~]$ mkdir orachk
[[email protected] ~]$ mv orachk.zip orachk
[[email protected] ~]$ cd orachk/
[[email protected] orachk]$ unzip orachk.zip

כדי להפעיל את הכלי, פשוט נריץ את הפקודה orachk. אם עברו יותר מ-120 ימים, נאשר שהגרסה שלנו קצת ישנה (מכוון שזו הגרסה האחרונה שיצאה בנתיים) ונבחר על איזה בסיס נתונים נרצה להריץ את הבדיקות.

[[email protected] orachk]$ ./orachk
This version of orachk was released on 09-Oct-2014 and its older than 120 days. It is highly recommended
that you download the latest version of orachk from my oracle support to ensure the highest level of accuracy
of the data contained within the report.


Do you want to continue running this version? [y/n][y]

List of running databases
1. orcldg
2. None of above

Select databases from list for checking best practices. For multiple databases, select 1 for All or comma
separated number like 1,2 etc [1-2][1].1
. .


Checking Status of Oracle Software Stack - Clusterware, ASM, RDBMS

. . . . . . . . . . . . . . .
-------------------------------------------------------------------------------------------------------
                                                 Oracle Stack Status
-------------------------------------------------------------------------------------------------------
Host Name  CRS Installed  ASM HOME       RDBMS Installed  CRS UP    ASM UP    RDBMS UP  DB Instance Name
-------------------------------------------------------------------------------------------------------
lnx-oracle66-db11g No              No              Yes             No         No       Yes      orcldg
-------------------------------------------------------------------------------------------------------
 

הכלי יבצע בדיקות שונות ויציג לנו הודעות ביניים לגבי מצב ההרצה ותוצאות הבדיקות. כאן לדוגמה אנחנו רואים את הפלט שהוא הוציא לגבי בסיס נתונים עם Data Guard שרץ במכונה וירטואלית בלפטופ שלי. זהו רק פלט חלקי – אני ממליץ להריץ את זה פעם אחת בעצמכם, הוא צבעוני והכל.. 🙂 :

=============================================================
                    Node name - lnx-oracle66-db11g
=============================================================

Collecting - Database Parameters for orcldg database
Collecting - Database Undocumented Parameters for orcldg database
Collecting - RDBMS Feature Usage for orcldg database
Collecting - CPU Information
Collecting - DiskMount Information
Collecting - Kernel parameters
Collecting - Maximum number of semaphore sets on system
Collecting - Maximum number of semaphores on system
Collecting - Maximum number of semaphores per semaphore set
Collecting - Memory Information
Collecting - OS Packages
Collecting - Operating system release information and kernel version
Collecting - Patches for RDBMS Home
Collecting - number of semaphore operations per semop system call


Data collections completed. Checking best practices on lnx-oracle66-db11g.
--------------------------------------------------------------------------------------


 INFO =>    Important Automatic Storage Management (ASM) Notes and Technical White Papers
 INFO =>    At some times checkpoints are not being completed for orcldg
 WARNING => OSWatcher is not running as is recommended.
 WARNING => Database parameter DB_BLOCK_CHECKING on PRIMARY is NOT set to the recommended value. for orcldg
 INFO =>    Operational Best Practices
 INFO =>    Database Consolidation Best Practices
 INFO =>    Computer failure prevention best practices
 INFO =>    Data corruption prevention best practices
 INFO =>    Logical corruption prevention best practices
 INFO =>    Database/Cluster/Site failure prevention best practices
 INFO =>    Client failover operational best practices
 WARNING => Redo log file size should be sized to switch every 20 minutes during peak redo generation for orcldg
 WARNING => Oracle clusterware is not being used
 WARNING => RAC Application Cluster is not being used for database high availability on orcldg instance
 WARNING => "DISK_ASYNCH_IO is NOT set to recommended value for orcldg
 FAIL =>    Flashback on PRIMARY is not configured for orcldg
 INFO =>    Database failure prevention best practices
 WARNING => fast_start_mttr_target has NOT been changed from default on orcldg instance
 FAIL =>    Primary database is NOT protected with Data Guard (standby database) for real-time data protection and availability for orcldg
 FAIL =>    Active Data Guard is not configured for orcldg
 WARNING => Redo log write time is more than 500 milliseconds for orcldg
 INFO =>    Parallel Execution Health-Checks and Diagnostics Reports for orcldg
 INFO =>    Oracle recovery manager(rman) best practices
 INFO =>    Consider increasing the COREDUMPSIZE size
 INFO =>    Consider investigating changes to the schema objects such as DDLs or new object creation for orcldg
 INFO =>    Consider investigating the frequency of SGA resize operations and take corrective action for orcldg

זמן ההרצה תלוי במורכבות הסביבה. בסביבות פשוטות אנחנו מדברים על תהליך שלוקח קצת פחות מ-5 דקות אבל בסביבה מאוד מורכבת ההרצה לקחה בערך רבע שעה.

ניתוח התוצאות

בסיום התהליך, הכלי מייצר לנו כמה כלי עבודה שנוכל לבחון את התוצאות:

Detailed report (html) - /home/oracle/orachk/orachk_lnx-oracle66-db11g_orcldg_021915_211736/orachk_lnx-oracle66-db11g_orcldg_021915_211736.html


UPLOAD(if required) - /home/oracle/orachk/orachk_lnx-oracle66-db11g_orcldg_021915_211736.zip

הכלי הראשון והמשמעותי יותר הוא דף html ובו סיכום של כל הבדיקות. הדף הזה מכיל בתוכו "ציון" כללי של מצב המערכת ואת הפירוט המלא של כל הבדיקות שביצענו והתוצאה שלהם. לכל בדיקה אנחנו מקבלים גם תיאור קצר של הבדיקה ולינק לאתר של אורקל (בין אם מדובר בתיעוד, ב-MOS או במשהו אחר) כדי להבין אין לטפל בבעיה וללמוד יותר על משמעות התוצאה.

result_orachk_1

דוגמה לתוצאה של בדיקה שנכשלה (כולל הסבר על המשמעות והפניה לתיעוד):
result_orachk_failure

הדבר השני שאנחנו מקבלים זה קובץ zip אותו נוכל להוריד לתחנה שלנו ובו סיכום של כל האינפורמציה, הבדיקות, הלוגים ואפילו קבצים שנוכל להעלות לתמיכה במידה ונצרך סיוע נוסף.

סיכום

כמו שכבר כתבתי בהתחלה, מדובר באחד הכלים המעניינים ביותר של אורקל ש-DBA-ים מפספסים. זה כלי משמעותי שמאפשר לנו קפיצה קדימה בכל מה שקשור לאבחון בעיות בבסיסי נתונים באופן כללי ובקלסטרים בפרט. אני ממליץ להוריד את הכלי מהאתר של אורקל ולשחק איתו קצת...

0 תגובות

השאירו תגובה

Want to join the discussion?
Feel free to contribute!

השאר תגובה

This site uses Akismet to reduce spam. Learn how your comment data is processed.