הגדרה של Data Guard observer ב-Compute Engine Google Cloud
בהתאם לדרישות הזמינות הגבוהה, יכול להיות שתרצו להגדיר מעבר אוטומטי לגיבוי בין מסדי נתונים. אחרי שמאמתים את הפריסה של Data Guard, אפשר להגדיר ב-Compute Engine משקיף של Data Guard שיבצע את הפעולה הזו. תהליך הצפייה הוא תהליך שמנטר את ההגדרות של Data Guard כדי ליזום מעבר גיבוי אוטומטי אם התנאים מצדיקים זאת.
במדריך הזה מוסבר איך להתקין את לקוח מסד הנתונים Oracle 19c במכונה וירטואלית (VM) של observer ואיך להגדיר מעבר גיבוי מהיר.
בדוגמאות הבאות נעשה שימוש לאורך המדריך הזה:
| שם ייחודי של מסד הנתונים | שמות מארחים של שרתים | שמות של מכונות RAC | תפקיד |
|---|---|---|---|
| DBDG_SITE1 | site1db1, site1db2 | DBDG_SITE11, DBDG_SITE12 | ראשי |
| DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | מצב המתנה |
התקנה של תוכנת הלקוח של Oracle Database
יוצרים מכונה וירטואלית (VM) ב-Compute Engine שעומדת בקריטריונים הבאים:
מערכת הפעלה. Red Hat Enterprise Linux 7.
רשת. רשת משנה עם כללי חומת אש שמאפשרים גישה מה-ענן וירטואלי פרטי (VPC) למארחים של Bare Metal Solution שבהם פועלים מסדי הנתונים הראשיים ומסדי הנתונים למקרה חירום.
אחסון. – לפחות 20 GB שהוקצו לדיסק האתחול.
מתחברים למכונה הווירטואלית ומוודאים ששם המארח של ה-SCAN של כל אשכול מסד נתונים עובר המרה ב-DNS:
host DBDG_SITE1_SCAN_HOSTNAME host DBDG_SITE2_SCAN_HOSTNAMEאם שמות המארח לא נפתרים, מוסיפים את כתובות ה-IP של כל שם מארח של SCAN לקובץ
/etc/hostsבמכונה הווירטואלית. מחליפים את כתובות ה-IP שבדוגמה בכתובות ה-IP של כל אשכול:# Site 1 SCAN Hosts 192.0.2.10 DBDG_SITE1_SCAN_HOSTNAME 192.0.2.11 DBDG_SITE1_SCAN_HOSTNAME 192.0.2.12 DBDG_SITE1_SCAN_HOSTNAME # Site 2 SCAN Hosts 198.51.100.10 DBDG_SITE2_SCAN_HOSTNAME 198.51.100.11 DBDG_SITE2_SCAN_HOSTNAME 198.51.100.12 DBDG_SITE2_SCAN_HOSTNAMEמתקינים את Oracle Database RPM. מתקינים רק את התוכנה. אין צורך להגדיר מסד נתונים במכונה הווירטואלית של האובזרבר.
חבילת ה-RPM של Oracle Database מתקינה תוכנה בספרייה מוגדרת מראש. מוסיפים את הרשומות הבאות ל-
/home/oracle/.bash_profileכדי להוסיף את ספריית הבית של תוכנת Oracle לנתיב:cat >> /home/oracle/.bash_profile << EOL export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export PATH=\$PATH:\$ORACLE_HOME/bin EOLמפעילים את משתני הסביבה של Oracle בסשן הטרמינל:
source ~/.bash_profile
הגדרת הקישוריות למסד הנתונים
מגדירים את ההגדרות של Oracle Net בקובץ
$ORACLE_HOME/network/admin/tsnames.ora:DBDG_SITE1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE1_SCAN_HOSTNAME)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DBDG_SITE1) (UR=A) ) ) DBDG_SITE2 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE2_SCAN_HOSTNAME)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DBDG_SITE2) (UR=A) ) )גרסה 12.2 ואילך של Oracle Database כוללת תמיכה בהרצת הכלי observer במצב רקע. לשם כך, צריך ליצור ארנק כדי לבצע אימות ללא סיסמה למסד הנתונים. מתחברים למכונה הווירטואלית של ה-observer כמשתמש oracle ומבצעים את המשימות הבאות כדי ליצור ארנק:
מוסיפים את הרשומות הבאות ל-
$ORACLE_HOME/network/admin/sqlnet.ora:WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /home/oracle/wallet)) ) SQLNET.WALLET_OVERRIDE = TRUEיוצרים את ספריית הארנק ב-VM שמארח את האובזרבר:
mkdir /home/oracle/walletמאתחלים את הארנק ומזינים סיסמה לארנק כשמוצגת בקשה:
mkstore -wrl /home/oracle/wallet -createיוצרים רשומה בארנק לכל מסד נתונים בהגדרת Data Guard. הפקודה
mkstoreתבקש את הסיסמה של SYS למסד הנתונים, ואחריה את סיסמת הארנק שצוינה בשלב הקודם:mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE1 sys mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE2 sysמוודאים שארנק מכיל אישורים לכל מסד נתונים בהגדרת Data Guard. הארגומנט
-listCredentialשלmkstoreיבקש את הסיסמה של הארנק:mkstore -wrl /home/oracle/wallet -listCredential
מתחברים למכונה הווירטואלית של ה-observer בתור Oracle ואז בודקים את הקישוריות למסדי הנתונים הראשיים ולמסדי הנתונים של הגיבוי. מתחברים למסדי הנתונים הראשי והמשני באמצעות SQL*Plus באמצעות פרטי הכניסה של הארנק:
sqlplus /@DBDG_SITE1 as sysdba sqlplus /@DBDG_SITE2 as sysdbaאם הגדרת הארנק מצליחה, הפקודה
sqlplusמתחברת ישירות למסד הנתונים בלי לבקש סיסמה.
הגדרה והפעלה של מעבר גיבוי מהיר
יוצרים ספרייה לאחסון קובצי היומן וקובץ התצורה של הכלי Observer:
mkdir /home/oracle/fsfoמתחברים למתווך Data Guard במסד הנתונים הראשי באמצעות הארנק:
dgmgrl CONNECT /@DBDG_SITE1;בודקים את הסטטוס של Data Guard כדי לוודא שההגדרה מסומנת כ
SUCCESS:SHOW CONFIGURATION;הפעלת מעבר גיבוי אוטומטי מהיר (FSFO):
ENABLE FAST_START FAILOVER;הפעלת FSFO לא הופכת את ההגדרה למוכנה למעבר אוטומטי לגיבוי. כדי להפעיל מעבר אוטומטי לגיבוי נדרש משקיף.
מפעילים את Data Guard Observer:
START OBSERVER observer1 IN BACKGROUND FILE IS '/home/oracle/fsfo/observer1_DBDG.dat' LOGFILE IS '/home/oracle/fsfo/observer1_DBDG.log';בסשן מסוף נפרד, מאמתים את ההגדרה:
SHOW CONFIGURATION VERBOSE;בדוגמה הבאה מוצג מצב מפורט של הפקודה
show configuration. אם סטטוס ההגדרה הואSUCCESS, ההגדרה הושלמה.Configuration - DBDG Protection Mode: MaxAvailability Members: DBDG_SITE1 - Primary database DBDG_SITE2 - Physical standby database (*) Fast-Start Failover target Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' TraceLevel = 'USER' FastStartFailoverLagLimit = '45' CommunicationTimeout = '180' ObserverReconnect = '0' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' ObserverOverride = 'FALSE' ExternalDestination1 = '' ExternalDestination2 = '' PrimaryLostWriteAction = 'CONTINUE' ConfigurationWideServiceName = 'DBDG_CFG' Fast-Start Failover: Enabled in Potential Data Loss Mode Lag Limit: 45 seconds Threshold: 30 seconds Active Target: DBDG_SITE2 Potential Targets: "DBDG_SITE2" DBDG_SITE2 valid Observer: observer1 Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configuration Status: SUCCESS