יצירת מסד נתונים במצב המתנה של Data Guard
אחרי שמכינים את מסד הנתונים הראשי ל-Data Guard, הוא מוכן לשכפול לאתר ההמתנה. במדריך הבא נעשה שימוש בשכפול פעיל כדי ליצור עותק עקבי של מסד הנתונים.
כתזכורת, הדוגמאות הבאות מופיעות לאורך המדריך הזה:
| שם ייחודי של מסד הנתונים | שמות מארחים של שרתים | שמות של מכונות RAC | תפקיד |
|---|---|---|---|
| DBDG_SITE1 | site1db1, site1db2 | DBDG_SITE11, DBDG_SITE12 | ראשי |
| DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | מצב המתנה |
השרתים של Bare Metal Solution שבהם פועל Oracle במדריך הזה מוגדרים עם משתני הסביבה הבאים:
| שם משתנה הסביבה | ערך |
|---|---|
| ORACLE_BASE | /apps/oracle/oracle_base |
| ORACLE_HOME | /apps/oracle/19.0.0/db_home1 |
יכול להיות שתצטרכו לשנות את הנתיבים של משתני הסביבה בהתאם להגדרה שלכם.
הגדרת מסד הנתונים במצב המתנה
הגדרת הקישוריות למסד הנתונים
מתחברים לכל שרת Bare Metal Solution במיקום ההמתנה ומשנים את הקובץ $ORACLE_HOME/network/admin/tsnames.ora כדי לעדכן את הגדרת שירות הרשת:
DBDG_SITE2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE2_SCAN_HOSTNAME)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DBDG_SITE2) (UR=A)
)
)
DBDG_SITE1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE1_SCAN_HOSTNAME)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DBDG_SITE1)
)
)
הגדרת מאזין זמני
כדי להימנע מהפעלה מחדש של מאזין שמשמש לחיבורים אחרים למסד נתונים, שכפול מסד הנתונים מתבצע באמצעות מאזין זמני. בדוגמה הזו נעשה שימוש ביציאה 1523, אבל אפשר להשתמש בכל יציאה שפתוחה לתקשורת בין האשכולות. אחרי שכפול מסד הנתונים, אתם מוחקים את מאזין ה-TCP הזמני הזה.
מתחברים לשרת הראשון של Bare Metal Solution במיקום ההמתנה לשימוש במהלך תהליך השכפול של מסד הנתונים. משנים את הקובץ
$ORACLE_HOME/network/admin/listener.oraכדי לעדכן את הגדרות השירות של הרשת:LISTENER_DBDG_SITE2 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = site1db1)(PORT = 1523)) ) ) SID_LIST_LISTENER_DBDG_SITE2 = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = DBDG_SITE2_DGMGRL) (ORACLE_HOME = ORACLE_HOME) (SID_NAME = DBDG_SITE21) ) ) ADR_BASE_LISTENER = /apps/oracle/oracle_baseמפעילים את ההאזנה הזמנית:
lsnrctl start LISTENER_DBDG_SITE2
הכנת מסד הנתונים במצב המתנה
כל מופע של מסד נתונים דורש ספרייה לאחסון יומני ביקורת. יוצרים את ספריית קובצי הביקורת בכל שרת של Bare Metal Solution במיקום של מסד הנתונים במצב המתנה:
mkdir -p /apps/oracle/oracle_base/admin/DBDG_SITE2/adumpמשנים את הקובץ
$ORACLE_HOME/dbs/initDBDG_SITE21.oraשהועתק קודם לשרת מסד הנתונים במצב המתנה:- מגדירים את
db_unique_nameלשם החדש של מסד הנתונים במצב המתנה. - משנים את הפרמטרים הספציפיים למופע כך שישקפו את שמות המופעים של מסד הנתונים במצב המתנה. דוגמאות:
instance_numberthreadundo_tablespace
- מגדירים את הפרמטר
audit_file_destלשימוש בספרייה שנוצרה בשלב הקודם. - אם קבוצות הדיסקים של ASM בכל מיקום משתמשות בשמות שונים, צריך לשנות את הפרמטרים
db_file_name_convertו-log_file_name_convertכך שיתאימו למיקומי הקבצים החדשים. - מוסיפים הערה לפרמטר
control_files.
בדוגמה הבאה מוצג קובץ פרמטרים מעודכן של מסד נתונים עם שינויים שבוצעו באמצעות הדוגמאות שמופיעות במדריך הזה. שימו לב שקובץ הפרמטרים יכיל פרמטרים נוספים שספציפיים להגדרת מסד הנתונים שלכם. מוצגים רק הפרמטרים שצריך לשנות כדי להגדיר את מצב ההמתנה:
*.db_unique_name='DBDG_SITE2' DBDG_SITE21.instance_number=1 DBDG_SITE22.instance_number=2 DBDG_SITE21.thread=1 DBDG_SITE22.thread=2 DBDG_SITE21.undo_tablespace='UNDOTBS1' DBDG_SITE22.undo_tablespace='UNDOTBS2' *.audit_file_dest='/apps/oracle/oracle_base/admin/DBDG_SITE2/adump' #*.control_files='+DATA/DBDG_SITE1/CONTROLFILE/current.258.1091317089','+RECO/DBDG_SITE1/CONTROLFILE/current.257.1091317089'- מגדירים את
בקובץ
/etc/oratab, מוסיפים רשומה כדי שהפקודהoraenvתוכל להגדיר משתני סביבה למסד הנתונים במצב המתנה:DBDG_SITE21:ORACLE_HOME:N
יצירת מסד הנתונים במצב המתנה
מגדירים את משתנה הסביבה
ORACLE_SIDכדי להתחבר למסד הנתונים במצב המתנה:source oraenv <<< "DBDG_SITE21"אמורה להתקבל התשובה
The Oracle base has been set to /apps/oracle/oracle_base.לפני שכפול מסד הנתונים הראשי, צריך להפעיל ידנית את מופע ההמתנה בצומת אחד. מתחברים לשרת הראשון של Bare Metal Solution במיקום ההמתנה, מפעילים את SQL*Plus ואז מפעילים את מסד הנתונים במצב המתנה ב-
nomount modeבאמצעותpfile:sqlplus / as sysdbaSTARTUP NOMOUNT PFILE='/apps/oracle/19.0.0/db_home1/dbs/initDBDG_SITE21.ora';אם הפעולה בוצעה ללא שגיאות, אמורה להתקבל תגובה שדומה לדוגמה הבאה:
ORACLE instance started. Total System Global Area 1.2885E+10 bytes Fixed Size 15988824 bytes Variable Size 1845493760 bytes Database Buffers 1.1006E+10 bytes Redo Buffers 17563648 bytesיציאה מ-SQL*Plus אחרי הפעלת המופע:
EXIT;בודקים את הקישוריות לשירות מסד הנתונים של הגיבוי. מכל שרת Bare Metal Solution במיקום של מסד הנתונים הראשי, מנסים להתחבר למופע ההמתנה באמצעות SQL*Plus. כדי להתחבר למופע, צריך להזין ידנית את הסיסמה של הכניסה מרחוק של SYS.
sqlplus sys@DBDG_SITE2_FOR_DUPLICATION as sysdbaאם הפעולה בוצעה ללא שגיאות, אמורה להתקבל הנחיה רגילה של SQL*Plus, שבה אפשר לבדוק את פרמטרי המכונה:
SHOW PARAMETER DB_UNIQUE_NAME;אמורים לקבל תגובה שדומה לזו:
NAME TYPE VALUE ---------------- ----------- ------------------------------ db_unique_name string DBDG_SITE2יוצאים מ-SQL*Plus אחרי שבודקים את הפרמטר
DB_UNIQUE_NAME:EXIT;מתחברים אל Recovery Manager ומריצים את הפקודה
duplicateכדי לשכפל את מסד הנתונים המשני ממסד הנתונים הראשי הפעיל:rman TARGET sys@DBDG_SITE1 AUXILIARY sys@DBDG_SITE2_FOR_DUPLICATIONDUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK;אם הפעולה בוצעה בהצלחה, אחרי העיבוד תקבלו הודעה שדומה לדוגמה הבאה:
Finished Duplicate Db at ...כדי לצאת מ-Recovery Manager:
EXIT;
השלמת היצירה של מסד הנתונים במצב המתנה
במהלך שכפול מסד הנתונים, ASM יוצר קובצי בקרה חדשים למסד הנתונים במצב המתנה. מתחברים למופע החדש של הגיבוי הפעיל ומקבלים את השמות של קובצי הבקרה החדשים. בדוגמה הבאה מוצגים שני קובצי בקרה שמאוחסנים בקבוצות הדיסקים
+DATAו-+RECO:sqlplus / as sysdbaSET LINESIZE 140 COLUMN NAME FORMAT a15 COLUMN VALUE FORMAT a125 SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='control_files';שמות קובצי הבקרה מוצגים בשדה 'ערך':
NAME VALUE --------------- ---------------------------------------------------------------------------------------------------- control_files +DATA/DBDG_SITE2/CONTROLFILE/current.258.1091317089, +RECO/DBDG_SITE2/CONTROLFILE/current.257.1091317089רושמים את השמות של קובצי הבקרה מהשלב הקודם ומחליפים את כל הערכים של הפרמטר
control_filesב-$ORACLE_HOME/dbs/initDBDG_SITE21.oraבערכים החדשים. אם יש כמה קובצי בקרה, צריך להקיף כל אחד מהם במירכאות בודדות ולהפריד ביניהם באמצעות פסיק:*.control_files='+DATA/DBDG_SITE2/CONTROLFILE/current.258.1091317089','+RECO/DBDG_SITE2/CONTROLFILE/current.257.1091317089'מתחברים למסד הנתונים במצב המתנה באמצעות SQL*Plus ויוצרים
spfileחדש מ-pfileששונה:sqlplus / as sysdbaCREATE SPFILE='+DATA/DBDG_SITE2/spfileDBDG_SITE2' FROM PFILE='/apps/oracle/19.0.0/db_home1/dbs/initDBDG_SITE21.ora';מעתיקים את קובץ הסיסמה לקבוצת הדיסקים של ASM באמצעות הפקודה
asmcmd:asmcmd cp /apps/oracle/19.0.0/db_home1/dbs/orapwDBDG_SITE21.ora +DATA/DBDG_SITE2/orapwDBDG_SITE2משביתים את מופע מסד הנתונים במצב המתנה ומוחקים את הקובץ הזמני
pfileואת קובץ הסיסמה:sqplus / as sysdbaSHUTDOWN IMMEDIATE; EXIT;rm $ORACLE_HOME/dbs/orapwDBDG_SITE21.ora $ORACLE_HOME/dbs/initDBDG_SITE2.oraמפסיקים את מאזין הזמני שמשמש לשכפול מסד הנתונים בשרת הראשון של Bare Metal Solution במיקום מסד הנתונים של הגיבוי:
lsnrctl stop LISTENER_DBDG_SITE2מסירים את הרשומות הזמניות בקובץ בשרת הראשון של Bare Metal Solution במיקום של מסד הנתונים במצב המתנה.
$ORACLE_HOME/network/admin/listener.oraמוסיפים את מסד הנתונים החדש במצב המתנה ואת המופעים למרשם האשכול באמצעות הפקודה
srvctl:srvctl add database \ -db DBDG_SITE2 \ -oraclehome /apps/oracle/19.0.0/db_home1 \ -spfile +DATA/DBDG_SITE2/spfileDBDG_SITE2 \ -pwfile +DATA/DBDG_SITE2/orapwDBDG_SITE2 \ -role PHYSICAL_STANDBY \ -startoption MOUNT srvctl add instance \ -db DBDG_SITE2 \ -instance DBDG_SITE21 \ -node site2db1 srvctl add instance \ -db DBDG_SITE2 \ -instance DBDG_SITE22 \ -node site2db2מפעילים את מסד הנתונים במצב המתנה באמצעות הפקודה
srvctl:srvctl start database -db DBDG_SITE2
השלבים הבאים
בשלב הבא, מגדירים ומפעילים את ברוקר Data Guard.