שחזור של מסדי נתונים של Oracle במסוף הניהול של ה-appliance

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

מגבלות

  • אי אפשר לבצע פעולות טעינה בגיבויים של מסדי נתונים של Oracle שמאוחסנים במאגרי OnVault שמפנים לכספות גיבוי.

  • אי אפשר לשחזר מסד נתונים של Oracle למכונה וירטואלית משוכפלת.

  • כשמשחזרים מסד נתונים של Oracle, ‏Backup and DR משבית את האפשרויות של תוכנית הגיבוי (Run Schedule,‏ Expire Data).

שחזור מסד נתונים של Oracle באמצעות RMAN

כדי לשחזר מסד נתונים של Oracle ממסוף ניהול המכשירים:

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

  1. פותחים את מסוף ניהול המכשיר ב-App Manager ומזינים את שם האפליקציה של מסד הנתונים, או משתמשים במסננים כדי למצוא את הגיבוי של מסד הנתונים שצריך.

  2. לוחצים לחיצה ימנית על האפליקציה ובוחרים באפשרות גישה.

  3. בדף Access, בוחרים גיבוי ולוחצים על Restore בתפריט Mount.

  4. בדף שחזור, בוחרים באפשרות מסורתי.

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

  6. בשדה Username, מזינים את הבעלים של תוכנת Oracle בשרת היעד שנבחר.

  7. בשדה Number of Channels, מציינים את מספר ערוצי ה-RMAN כדי להגדיר את המקביליות לשחזור מסד הנתונים.

  8. לוחצים על שליחה.

    מופיעה תיבת דו-שיח עם אזהרה.

  9. מזינים DATA LOSS כדי לאשר שרוצים להחליף את מסד הנתונים המקורי של הייצור, ומאשרים שייתכן שחלק מהנתונים יאבדו.

    המשימה ממתינה בתור למשבצת הזמינה הבאה. אפשר לראות את התקדמות התור במעקב אחר משימות.

שחזור מסד נתונים לכל יעד באמצעות מסוף הניהול של המכשיר

שחזור מסד נתונים של Oracle ליעד חדש באמצעות RMAN ממסוף הניהול של המכשיר.

  1. ב-App Manager (מנהל האפליקציות), לוחצים על Applications (אפליקציות).

  2. לוחצים לחיצה ימנית על מסד הנתונים ובוחרים באפשרות Access.

  3. בוחרים את הגיבוי שרוצים לשחזר ולוחצים על שחזור.

  4. בדף שחזור, בוחרים באפשרות מסורתי.

    • יעד: בכל ההגדרות, אפשר לבחור בתפריט הנפתח את כל שרתי מסדי הנתונים של Oracle שעומדים בדרישות. בוחרים את שרת היעד לשחזור מהתפריט הנפתח.
    • החלפת הזהות של האפליקציה המקורית: האפשרות הזו זמינה רק כשמשחזרים לשרת חדש באותו מכשיר שבו הגיבוי נוצר במקור.
    • כן: האפליקציה המקורית תוחלף, ויהיו לה אותם מזהה אפליקציה, היסטוריית משימות, גיבויים ותוכנית גיבוי כמו לאפליקציה המקורית.
    • לא: הבקשה הזו לא מחליפה את הבקשה המקורית. מסד הנתונים החדש יזוהה כאפליקציה חדשה כחלק ממשימת השחזור.
    • זמן הרצה קדימה: בוחרים תאריך ושעה למסד נתונים שמוגן באמצעות יומנים, כדי לשחזר אותו לנקודת הזמן הנדרשת.
    • אפשרויות האפליקציה:

      • ‫DATABASESID: השדה הזה מאוכלס מראש בשם ה-SID של מסד הנתונים המוגן, ואי אפשר לשנות אותו.
      • ‫USERNAME: השדה הזה מאוכלס מראש בבעלים של תוכנת Oracle של מסד הנתונים במקור. אם הבעלים של תוכנת Oracle בשרת היעד שנבחר שונה, מעדכנים את USERNAME.
      • ‫ORAHOME: השדה הזה מאוכלס מראש בנתיב של מסד הנתונים של Oracle במקור. אם ספריית הבית של Oracle שונה בשרת היעד שנבחר, מעדכנים אותה.
      • Advanced Options: השדה הזה מאוכלס מראש ומוצגות בו כל הגדרות הפרמטרים של מסד הנתונים (מ-pfile) במקור בזמן הגיבוי. חשוב לוודא שערך הפרמטר נכון לשרת מסד הנתונים המיועד לשחזור (המקור או היעד החדש).
  5. אפשרויות מיפוי:

    • ‫Target Database Type: בוחרים את סוג היעד של מסד הנתונים (קבוצת דיסקים של ASM או מערכת קבצים) מהרשימה הנפתחת. אי אפשר להשתמש בסוג היעד "מערכת קבצים" לגיבויים בפורמט ASM.

      מסד נתונים של המקור פורמט הגיבוי יעד השחזור
      ASM ASM ASM
      ASM מערכת קבצים ASM
      מערכת קבצים מערכת קבצים מערכת קבצים
    • בוחרים את קבוצת הדיסקים של ASM ואת מיפויי מערכת הקבצים של היעד לשלושה סוגי קבצים: קובצי הנתונים, קובצי הבקרה וקובצי ה-redo של מסד הנתונים מהרשימה הנפתחת.

  6. לוחצים על בדיקות טרום-הרצה. אם בדיקות טרום-ההרצה נכשלות, מתקנים את הבעיה ומריצים אותן שוב.

  7. לוחצים על Submit כדי לשלוח את משימת השחזור.

שחזור ידני של מסד נתונים של Oracle באמצעות RMAN

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

מערכת קבצים, לא RAC, לא ASM

שחזור מסד נתונים של Oracle עם קובץ נתונים במערכת קבצים שמוגן בפורמט של דיסק זמני מבוסס-קבצים

  1. טוענים את הגיבוי ממסד הנתונים המוגן של המקור.

    בחלון Mount, בקטע Mapping Options, מציינים מיקום לטעינת הגיבוי, לדוגמה: /acttestdb. הוראות לטעינת גיבוי של מסד נתונים מופיעות במאמר טעינת גיבוי של מסד נתונים של Oracle שמוגן במערכת קבצים לגישה לנתונים.

    גיבוי מסד הנתונים מותקן בנתיב: /acttestdb

    יומן הארכיון המוגן מותקן בכתובת: /acttestdb_Log

  2. מגדירים את סביבת Oracle ומשתמשים ב-sqlplus כדי להשבית את מסד הנתונים:

    sqlplus / as sysdba
    sql> shutdown immediate;
    

    מוודאים שמסד הנתונים מושבת. מסיימים את כל התהליכים שנותרו במסד הנתונים.

    ps -ef | grep database sid
    
  3. מפעילים את מסד הנתונים במצב nomount באמצעות קובץ הפרמטרים של הגיבוי מהאחסון המחובר. קובץ הפרמטרים של הגיבוי נמצא בתיקייה הראשית, לדוגמה /acttestdb

  4. מגדירים את סביבת Oracle ומשתמשים ב-sqlplus כדי להפעיל את מסד הנתונים:

    sqlplus / as sysdba
    sql> startup nomount pfile='/acttestdb/database sid___backup.ora';
    
  5. יוצרים spfile חדש מה-pfile הקיים ומפעילים מחדש את מסד הנתונים.

    יוצרים spfile מה-pfile:

    create spfile='$ORACLE_HOME/dbs/spfile_database sid.ora' from pfile='/acttestdb/database sid___backup.ora';
    

    מפעילים מחדש את מסד הנתונים עם spfile במצב nomount:

    shutdown immediate;
    startup nomount;
    
  6. משחזרים את קובץ הבקרה באמצעות RMAN מגיבוי יומן הארכיון שנטען ב-Backup and DR. משתמשים בקובץ הבקרה האחרון מהגיבוי של היומן, לדוגמה:

    /acttestdb_Log/cf D_sid-id_Target SID.ctl
    

    או אם יש יותר מגיבוי אחד של יומן:

    /acttestdb_Log_1/cf-D_sid-id_Target SID.ctl

       rman target /
       restore controlfile from '/acttestdb_Log_1/cf-D_<var>sid</var>-id_<var>id</var>.ctl' ;
    
  7. טוענים את מסד הנתונים:

       alter database mount;
    
  8. מקשרים את קובץ הנתונים ואת תיקיית יומן הארכיון מגיבוי מסד הנתונים ומגיבוי יומן הארכיון שנטענו ב-Backup and DR ל-RMAN:

       run {
         catalog start with '+acttestdg/db_name/datafile' noprompt;
         catalog start with '+acttestdg/db_namearchivelog' noprompt;
         catalog start with 'mountpoint_log' noprompt;
         }
    
  9. משחזרים את מסד הנתונים:

      run { restore database ; recover database; }
    

    לשחזור מנקודה מסוימת בזמן, משתמשים בפורמט yyyymmddhh24mi:

       run
        {
        restore database;
        recover database until time "to_date('timestamp','yyyymmddhh24mi')";
        }
    
  10. פותחים את מסד הנתונים עם האפשרות לאיפוס היומן.

    • לשחזור מסד נתונים ראשי:

      alter database open resetlogs;
      
    • כדי לשחזר מסד נתונים במצב המתנה של Data Guard, צריך להפעיל את תהליך השחזור המנוהל של Data Guard:

      alter database recover managed standby database nodelay disconnect;
      

    מסד הנתונים זמין לקריאה ולכתיבה.

‫RAC או ASM עצמאי, מערכת קבצים

שחזור מסד נתונים של Oracle עם קובץ נתונים בקבוצת דיסקים של ASM ומוגן בפורמט דיסק זמני מבוסס-קובץ

  1. טוענים את הגיבוי ממסד הנתונים המוגן של המקור.

    בחלון Mount, בקטע Mapping Options, מציינים מיקום לטעינת הגיבוי, לדוגמה: /acttestdb. במאמר התקנת גיבוי של מסד נתונים של Oracle שמוגן במערכת קבצים לגישה לנתונים מוסבר איך להתקין גיבוי של מסד נתונים.

    הגיבוי של מסד הנתונים נטען במיקום הטעינה: /acttestdb

    הארכיון המוגן נטען במיקום:/acttestdb_Log

  2. סוגרים את מסד הנתונים של Oracle. מצומת 1, su למשתמש Oracle OS:

    su - oracle

    מגדירים את סביבת Oracle ומשתמשים ב-srvctl כדי לעצור את מסד הנתונים בכל הצמתים:

    srvctl stop database -d <var>database_name</var>

    מוודאים שמסד הנתונים מושבת (בכל הצמתים). מסיימים את כל התהליכים שנותרו במסד הנתונים.

    ps -ef | grep <var>database_name</var>

  3. מפעילים את מסד הנתונים במצב no-mount באמצעות קובץ הפרמטרים של הגיבוי מהאחסון שנטען. קובץ הפרמטרים של הגיבוי נמצא בתיקייה הראשית, לדוגמה ב-/acttestdb

  4. מגדירים את סביבת Oracle ומשתמשים ב-sqlplus כדי להפעיל את מסד הנתונים:

    sqlplus / as sysdba
    startup nomount pfile='/acttestdb/<var>database_name</var>___backup.ora';
    
  5. יוצרים spfile חדש ומפעילים מחדש את מסד הנתונים.

    כדי לקבל את הנתיב של קובץ ה-spfile המקורי בקבוצת הדיסקים:

    cat $ORACLE_HOME/dbs/init{database sid}.ora

    לדוגמה: spfile=+{preferred disk group}/db_name/spfiledb_name.ora`

      create spfile='+{preferred disk group}/{db name}/spfile<var>db_name</var>.ora' from pfile='/acttestdb/<var>db_name</var>___backup.ora';
    

    מפעילים מחדש את מסד הנתונים עם spfile במצב nomount:

      shutdown immediate;
      startup nomount;
    
  6. משחזרים את קובץ הבקרה באמצעות RMAN מגיבוי יומן הארכיון שנטען ב-Backup and DR. משתמשים בקובץ הבקרה האחרון מהגיבוי של היומן, לדוגמה:

    /acttestdb_Log/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl
    

    או אם יש לכם יותר מגיבוי אחד של יומן:

    /acttestdb_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl
    
       target /
       restore controlfile from '/acttestdb_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ;
       ```
    
  7. טוענים את מסד הנתונים:

     alter database mount;
    
  8. מוסיפים לקטלוג את קובץ הנתונים ואת תיקיית יומן הארכיון מגיבוי מסד הנתונים שנטען ב-Backup and DR ומגיבוי יומן הארכיון ל-RMAN:

     run { catalog start with '/acttestdb/datafile' noprompt;
     catalog start with '/acttestdb/archivelog' noprompt;
     catalog start with '/acttestdb_Log' noprompt;}
    
  9. משחזרים את מסד הנתונים:

     run { restore database ; recover database; }
    

    לשחזור מנקודה מסוימת בזמן, משתמשים בפורמט yyyymmddhh24mi:

     run
     {
     restore database;
     recover database until time "to_date('<var>timestamp</var>','yyyymmddhh24mi')";
     }
    
  10. פותחים את מסד הנתונים עם האפשרות לאיפוס היומן.

    • לשחזור מסד נתונים ראשי:
    alter database open resetlogs;
    

    הגדרת RAC דורשת שלב נוסף אחרי איפוס היומן: סגירת מסד הנתונים בצומת 1 והפעלת מסד הנתונים בכל הצמתים.

    משתמשים ב-sqlplus כדי להשבית את מסד הנתונים:

      sqlplus / as sysdba
      shutdown immediate;
      ```
    Use srvctl to start the database across all nodes:
    
     ```srvctl
      srvctl start database -d <var>database_name</var>
      ```
    + For Data Guard standby database recovery:
    
      + For non-RAC config: Start the Data Guard managed recovery process
    
          ```rman
          alter database recover managed standby database nodelay disconnect;
          ```
    
      + For RAC config: Shut down the database on node 1 and start the
        database in mounted state across all nodes.
    
         1. Use sqlplus to shut down the database:
    
              ```sqlplus
              / as sysdba
              shutdown immediate;
              ```
    
         1. Use srvctl to start the database in a mount state across all
            nodes:
    
             ```srvctl
             srvctl start database -d <var>database_name</var> -o mount
             ```
    
         1. Start the Data Guard managed recovery process:
    
             ```rman
             alter database recover managed standby database nodelay disconnect;
             ```
    

מסד הנתונים זמין לקריאה ולכתיבה.

‫RAC או ASM עצמאי, קבוצת דיסקים של ASM

שחזור מסד נתונים של Oracle עם קובץ נתונים בקבוצת דיסקים של ASM ומוגן בפורמט דיסק זמני של קבוצת דיסקים של ASM

  1. טוענים את הגיבוי ממסד הנתונים המוגן של המקור. בחלון Mount, מזינים את קבוצת הדיסקים המועדפת לגיבוי ב-ASM ב-RAC Node 1. למידע נוסף על טעינת גיבוי של מסד נתונים, קראו את המאמר טעינת גיבוי של מסד נתונים של Oracle שמוגן בקבוצת דיסקים של ASM לצורך גישה לנתונים.

    לדוגמה, במסך ההרכבה:

    • בחירת מארח: שרת מסד נתונים של צומת RAC 1

    • קבוצת הדיסקים המועדפת: acttestdg

    • רשימת צומתי RAC: כתובת ה-IP של צומת RAC מספר 1

      קובץ הפרמטרים של הגיבוי מועתק אל /act/touch/<var>preferred_disk_group</var>/, לדוגמה:

      /act/touch/acttestdg/<var>database_name</var>___backup.ora

  2. סוגרים את מסד הנתונים של Oracle.

    מצומת 1, su למשתמש Oracle OS:

     su - oracle
    

    מגדירים את סביבת Oracle. משתמשים ב-srvctl כדי לעצור את מסד הנתונים בכל הצמתים:

     srvctl stop database -d <var>database_name</var>
    

    מוודאים שמסד הנתונים מושבת (בכל הצמתים). מסיימים את כל התהליכים שנותרו במסד הנתונים.

    ps -ef | grep <var>db_name</var>
    
  3. מפעילים את מסד הנתונים במצב nomount באמצעות קובץ הפרמטרים של הגיבוי שהועתק בנתיב ‎/act/touch/acttestdg.

  4. מגדירים את סביבת Oracle. משתמשים ב-sqlplus כדי להפעיל את מסד הנתונים:

    ```sqlplus
    / as sysdba
    startup nomount pfile='/act/touch/acttestdg/<var>db_name</var>___backup.ora';
    ```
    
  5. יוצרים spfile חדש ומפעילים מחדש את מסד הנתונים.

    כדי לקבל את הנתיב של קובץ ה-spfile המקורי בקבוצת הדיסקים:

     ```sqlplus
     cat $ORACLE_HOME/dbs/init(database sid).ora
     ```
    

    לדוגמה: spfile=+preferred disk group/db_name/spfiledb_name.ora

         create spfile='+<var>preferred disk group</var>/<var>db_name</var>/spfile<var>db_name</var>.ora' from pfile='/act/touch/acttestdg/<var>db_name</var>___backup.ora';
    

    מפעילים מחדש את מסד הנתונים עם spfile במצב nomount:

     ```sql
     shutdown immediate;
     startup nomount;
     ```
    
  6. משחזרים את קובץ הבקרה באמצעות RMAN מהגיבוי של יומן הארכיון שנטען ב-Backup and DR. משתמשים בקובץ הבקרה האחרון מהגיבוי של היומן, לדוגמה:
    /acttestdb_Log/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl או אם יש יותר מגיבוי אחד של היומן:
    /acttestdb_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl

     ```rman
     rman target /
     restore controlfile from '/acttestdg_Log_1/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ;
     ```
    
  7. טוענים את מסד הנתונים:

     ```rman
     alter database mount;
     ```
    
  8. מקשרים את קובץ הנתונים ואת תיקיית יומן הארכיון מגיבוי מסד הנתונים שנטען ב-Backup and DR ומגיבוי יומן הארכיון ל-RMAN:

     ```rman
     run { catalog start with '+acttestdg/<var>db_name</var>/datafile' noprompt;
     catalog start with '+acttestdg/<var>db_name</var>/archivelog' noprompt;
     catalog start with '/acttestdg_Log' noprompt;}
     ```
    
  9. משחזרים את מסד הנתונים:

     ```rman
     run { restore database ; recover database ; }
     ```
    

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

     ```rman
     run
     {
     restore database;
     recover database until time "to_date('<var>timestamp</var>','yyyymmddhh24mi')";
     }
     ```
    
  10. פותחים את מסד הנתונים עם האפשרות לאיפוס היומן.

    • לשחזור מסד נתונים ראשי:

       alter database open resetlogs;
      

      הגדרת RAC דורשת שלב נוסף: אחרי איפוס היומן, צריך לסגור את מסד הנתונים בצומת 1 ולהפעיל את מסד הנתונים בכל הצמתים. משתמשים ב-sqlplus כדי להשבית את מסד הנתונים:

       / as sysdba
       shutdown immediate;
      

      משתמשים ב-srvctl כדי להפעיל את מסד הנתונים בכל הצמתים:

       start database -d <var>database_name</var>
      
    • לשחזור מסד נתונים במצב המתנה של Data Guard:

      • להגדרה שאינה RAC: מתחילים את תהליך השחזור המנוהל של Data Guard:

        alter database recover managed standby database nodelay disconnect;
        
      • להגדרת RAC: סוגרים את מסד הנתונים בצומת 1 ומפעילים את מסד הנתונים במצב טעינה בכל הצמתים.

        1. משתמשים ב-sqlplus כדי להשבית את מסד הנתונים:

          as sysdba
          shutdown immediate;
          
        2. משתמשים ב-srvctl כדי להפעיל את מסד הנתונים במצב טעינה בכל הצמתים:

          start database -d <var>database_name</var> -o mount
          
        3. מתחילים את תהליך השחזור המנוהל של Data Guard:

          alter database recover managed standby database nodelay disconnect;
          

    מסד הנתונים זמין לקריאה ולכתיבה.

שחזור של מרחב טבלאות וקובצי נתונים של Oracle

כדי לשחזר קובץ נתונים של מרחב טבלאות יחיד, למשל בגלל פגם בנתונים:

  1. טוענים את תמונת המצב האחרונה של מסד הנתונים ממכשיר הגיבוי/השחזור בחזרה לשרת Oracle.

  2. מוסיפים את קובץ ה-snapshot של הגיבוי של מסד הנתונים לקטלוג של RMAN.

  3. משחזרים את מרחב הטבלאות באמצעות תמונת המצב של הגיבוי, כמו שמתואר כאן.

שחזור של מרחב טבלאות יחיד של מסד נתונים בסביבת ייצור בקבוצת דיסקים של ASM

כדי לשחזר מרחב טבלאות יחיד של מסד נתונים בסביבת הייצור לצומת הראשי:

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

  2. בחלון Mount, בקטע Mapping Options, מציינים את מיקום הטעינה של הגיבוי. לדוגמה, לגיבוי בקבוצת דיסקים של ASM, צריך לספק שם של קבוצת דיסקים ב-Preferred Disk Group, ולגיבוי במערכת קבצים צריך לספק מיקום טעינה כמו /acttestdb.

  3. מהצומת הראשי, מתחברים לשרת של מסד הנתונים כמשתמש Oracle OS.

  4. מגדירים את סביבת מסד הנתונים ומתחברים ל-RMAN:

    rman target /
    
  5. בהנחיה של RMAN, מקטלגים את קובץ נתוני הגיבוי ואת תיקיית יומן הארכיון:

    דוגמה: גיבוי של מסד נתונים שמוגן במסגרת ASM Disk Group: (שם של Mounted ASM Disk Group‏ " + acttestdg"):

    ```rman
    catalog start with '+acttestdg/<var>db_name</var>/datafile' noprompt;
    catalog start with '+acttestdg/<var>db_name</var>/archivelog' noprompt;
    catalog start with &#8216;/<var>mountpoint_log</var>'; noprompt;
    (If archivelogs are protected by Backup and DR)
    ```
    

    דוגמה: גיבוי של מסד נתונים שמוגן במערכת קבצים (שם מערכת הקבצים המותקנת "‎/acttestdb"):

    ```rman
    catalog start with '/acttestdb/datafile' noprompt;
    catalog start with '/acttestdb/archivelog'
    noprompt;
    catalog start with '/acttestdb_log/archivelog' noprompt;
    ```
    
    (If archivelogs are protected by Backup and DR)
    

    עכשיו אפשר להריץ את כל פקודות השחזור של RMAN, כמו:

  6. בסיום, מבטלים את הטעינה של הגיבוי ומוחקים אותו.

שחזור של מרחב טבלאות

כדי לשחזר מרחב טבלאות:

    ```rman
    restore tablespace <var>tablespace name</var>;
    recover tablespace <var>tablespace name</var>;
    ```

שחזור קובץ נתונים

כדי לשחזר קובץ נתונים:

    ```rman
    restore datafile <var>file#</var>;
    recover datafile <var>file#</var>;
    ```

שחזור בלוק פגום במסד נתונים

כדי לשחזר בלוק פגום במסד נתונים:

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

  2. בחלון Mount, בקטע Mapping Options, מציינים מיקום לטעינת הגיבוי. לדוגמה, לגיבוי בקבוצת דיסקים של ASM, צריך לציין שם של קבוצת דיסקים בקטע Preferred Disk Group, ולגיבוי במערכת קבצים צריך לציין מיקום טעינה, לדוגמה: ‎/acttestdb.

  3. מהצומת הראשי, מתחברים לשרת של מסד הנתונים כמשתמש Oracle OS.

  4. מגדירים את סביבת מסד הנתונים, מתחברים ל-sqlplus ומריצים שאילתה על v$database_block_corruption כדי לבדוק את הבלוקים הפגומים:

    ```sh
    sqlplus / as sysdba
    sql> SELECT * FROM V$DATABASE_BLOCK_CORRUPTION;
    ```
    
  5. מתחברים ל-RMAN כדי לשחזר את כל הבלוקים הפגומים:

    ```rman
    rman target /
    RECOVER CORRUPTION LIST;
    ```
    

    אחרי שחזור הבלוקים, מסד הנתונים מסיר אותם מ-V$DATABASE_BLOCK_CORRUPTION.

  6. כדי לשחזר בלוק פגום ספציפי (לדוגמה: קובץ נתונים 8 ובלוק 13):

    מההנחיה של RMAN

    ```rman
    recover datafile 8 block 13;
    ```
    

שחזור קובצי בקרה שאבדו

כדי לשחזר קובצי בקרה שאבדו:

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

  2. בחלון Mount, בקטע Mapping Options, מציינים מיקום לטעינת הגיבוי. לדוגמה, לגיבוי בקבוצת דיסקים של ASM, צריך לציין שם של קבוצת דיסקים ב-Preferred Disk Group, ולגיבוי במערכת קבצים, צריך לציין מיקום טעינה כמו /acttestdb.

  3. מהצומת הראשי, מתחברים לשרת של מסד הנתונים כמשתמש Oracle OS.

  4. מגדירים את סביבת מסד הנתונים ומתחברים ל-sqlplus, ואז משביתים את מסד הנתונים ומפעילים אותו במצב nomount:

    למסד נתונים עצמאי:

    ```sql
    sqlplus / as sysdba
    sql> shutdown immediate;
    sql> startup nomount;
    ```
    

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

    ```sh
    srvctl stop database -d <var>db_name</var>
    sql> startup nomount;
    ```
    
  5. משחזרים את קובץ הבקרה מהגיבוי שנטען ב-Backup and DR.

    לדוגמה: /acttestdb (מערכת קבצים) ו-+acttestdg (ל-ASM)

    ```rman
    rman target /
    restore controlfile
    from '/acttestdb/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ; (Filesystem
    mount)
    restore controlfile
    from '+acttestdb/cf-D_<var>db_name</var>-id_<var>db_id</var>.ctl' ; (ASM
    mount)
    ```
    
  6. טוענים ופותחים את מסד הנתונים מ-sqlplus:

    ```sql
    sqlplus / as sysdba
    sql> alter database mount;
    sql> recover database until cancel;
    sql> alter database open resetlogs;
    ```
    

שחזור מסד נתונים של Oracle שניתן לחיבור (PDB)

כדי לשחזר מסד נתונים מסוג Oracle 12c או מסד נתונים מתחבר (PDB) בגרסה מתקדמת יותר:

  1. כדי לשחזר, טוענים את הגיבוי משרת מסד הנתונים של המקור. בחלון Mount, מציינים קבוצת דיסקים מועדפת לגיבוי של ה-mount ב-ASM בצומת 1 של RAC. במאמר העלאת גיבוי של מסד נתונים של Oracle שמוגן בקבוצת דיסקים של ASM לצורך גישה לנתונים מוסבר איך להעלות גיבוי של מסד נתונים.

  2. סוגרים את מסד הנתונים הניתן לחיבור:

    1. מצומת 1, su למשתמש Oracle

      su - oracle
      
    2. מגדירים את סביבת Oracle. מתחברים למסד הנתונים של Oracle בתור משתמש sysdba:

         / as sysdba
         alter pluggable database <var>pluggable_db_name</var> close;
      
  3. מוסיפים לקטלוג את קובץ הנתונים ואת תיקיית יומן הארכיון מגיבוי מסד הנתונים שנטען ב-Backup and DR ומגיבוי יומן הארכיון ל-RMAN:

        run { catalog start with '+acttestdg/<var>db_name</var>/datafile' noprompt;
        catalog start with '+acttestdg/<var>db_name</var>/archivelog' noprompt;
        catalog start with '/acttestdg_Log' noprompt;
        }
    
  4. שחזור מסד הנתונים הניתן לחיבור

        run
        {
        restore pluggable database <var>pluggable_db_name</var>;
        recover pluggable database <var>pluggable_db_name</var> until time "to_date('<var>required time stamp</var>>';,';yyyymmddhh24mi')";
        }
    
  5. פותחים את מסד הנתונים הניתן לחיבור:

        alter pluggable database <var>pluggable_db_name</var> open;
    

מסד הנתונים הניתן לחיבור פתוח לקריאה ולכתיבה.

המדריך ל-Oracle DBA