Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> डेटाबेस

Oracle डाउनटाइम रोकें: वैकल्पिक आर्काइव गंतव्य कॉन्फ़िगर करें

Oracle® डेटाबेस को आर्काइव करने से आप लंबी अवधि के लिए डेटा को बनाए रख सकते हैं और संग्रहीत कर सकते हैं, लेकिन क्या होता है यदि आप स्थान से बाहर निकल जाते हैं?

परिचय

यदि आर्काइव गंतव्य भर जाता है, तो आपका Oracle डेटाबेस हैंग हो सकता है या अटक सकता है, और आपको निम्नलिखित त्रुटियों में से एक दिखाई दे सकती है:

  • 0RA-00257: आर्काइवर त्रुटि, मुक्त होने तक केवल आंतरिक कनेक्ट करें
  • ORA-16014: लॉग 2 अनुक्रम# 1934 आर्काइव नहीं किया गया, कोई उपलब्ध गंतव्य नहीं

इस मामले में, आपके पास मूल आर्काइव गंतव्य विफल होने पर उपयोग करने के लिए एक वैकल्पिक आर्काइविंग गंतव्य होना चाहिए। आप प्राथमिक आर्काइव गंतव्य में किसी भी विफलता (स्थान, हार्डवेयर, आदि) की स्थिति में वैकल्पिक आर्काइव गंतव्य का लाभ उठा सकते हैं।

आइए एक त्वरित प्रदर्शन के माध्यम से समझें कि यह कैसे काम करता है।

डेमो भाग एक

सबसे पहले, मैंने प्राथमिक आर्काइव गंतव्य को /u03/primary_dest स्थान पर सेट किया, जो वर्तमान में 99% उपयोग किया गया है। आप परीक्षण के रूप में वही काम कर सकते हैं।

फिर, निम्नलिखित कमांड चलाएं:

SQL> select version from v$instance;
VERSION
-----------------
12.1.0.2.0
SQL> select DEST_NAME,TARGET,DESTINATION,VALID_ROLE,STATUS from v$archive_dest where status!='INACTIVE';
DEST_NAME       TARGET       DESTINATION          VALID_ROLE    STATUS
--------------------- ---------- -------------------- ------------ ---------
LOG_ARCHIVE_DEST_1 PRIMARY    /u03/primary_dest    ALL_ROLES     VALID

डेमो भाग दो

आइए एक वैकल्पिक आर्काइव गंतव्य /u04/alternate_dest जोड़ें, जिसका उपयोग सिस्टम प्राथमिक गंतव्य अनुपलब्ध होने पर कर सकता है।

SQL> !df -h /u04/alternate_dest
Filesystem Size Used Avail Use% Mounted on
/dev/ddg2 1004M 18M 936M 2% /u04
SQL> alter system set log_archive_dest_2='LOCATION=/u04/alternate_dest' scope=both;
System altered.
SQL> alter system set log_archive_dest_state_2=ALTERNATE scope=both;
System altered.
SQL> select DEST_NAME,TARGET,DESTINATION,VALID_ROLE,STATUS,ALTERNATE from v$archive_dest where status!='INACTIVE';
DEST_NAME       TARGET       DESTINATION          VALID_ROLE    STATUS    ALTERNATE
------------------- ----------- ------------------- ------------ ----------- ---------
LOG_ARCHIVE_DEST_1 PRIMARY     /u03/primary_dest   ALL_ROLES     VALID      NONE
LOG_ARCHIVE_DEST_2 PRIMARY     /u04/alternate_dest ALL_ROLES     ALTERNATE  NONE

डेमो भाग तीन

आप प्राथमिक और वैकल्पिक आर्काइव गंतव्य को लिंक कर सकते हैं, और Oracle प्राथमिक स्थान 100% उपयोग तक पहुंचने पर वैकल्पिक आर्काइव स्थान पर फेलओवर कर सकता है। हालांकि, Oracle प्राथमिक गंतव्य उपलब्ध होने के बाद प्राथमिक गंतव्य पर फेलबैक निष्पादित नहीं कर सकता। इसके लिए काम करने के लिए, आपको प्राथमिक आर्काइव गंतव्य, LOG_ARCHIVE_DEST_1, को वैकल्पिक आर्काइव गंतव्य, LOG_ARCHIVE_DEST_2, के लिए ALTERNATE के रूप में सेट करना होगा, जैसा कि निम्न उदाहरण में दिखाया गया है:

SQL> alter system set log_archive_dest_2='LOCATION=/u04/alternate_dest NOREOPEN ALTERNATE=LOG_ARCHIVE_DEST_1' scope=both;
System altered.
SQL> alter system set log_archive_dest_1='LOCATION=/u03/primary_dest NOREOPEN ALTERNATE=LOG_ARCHIVE_DEST_2' scope=both;
System altered.
SQL> select DEST_NAME,TARGET,DESTINATION,VALID_ROLE,STATUS,ALTERNATE from v$archive_dest where status!='INACTIVE';
DEST_NAME       TARGET       DESTINATION          VALID_ROLE    STATUS    ALTERNATE
-------------------- ----------- -------------------- ------------ ---------- ------------------
LOG_ARCHIVE_DEST_1 PRIMARY     /u03/primary_dest    ALL_ROLES     VALID      LOG_ARCHIVE_DEST_2
LOG_ARCHIVE_DEST_2 PRIMARY     /u04/alternate_dest  ALL_ROLES     ALTERNATE  LOG_ARCHIVE_DEST_1

आप यह पुष्टि करने के लिए जांच सकते हैं कि आपने आर्काइव गंतव्य एक और दो को लिंक किया है। Oracle अब प्राथमिक में खाली स्थान होने के बाद प्राथमिक पर फेलबैक करने में सक्षम होना चाहिए।

डेमो भाग चार

अगला, मैंने कुछ DML निष्पादित किए ताकि आर्काइव गंतव्य 100% उपयोग तक पहुंच जाए, जैसा कि निम्न आउटपुट में दिखाया गया है:

Thread 1 is advanced to log sequence 20 (LGWR switch)
Current log# 2 seq# 20 mem# 0: /u01/app/oracle/oradata/MODI/redo02.log
2020-12-05T04:44:29.216275+05:30 ARC0: Encountered disk I/O error 19502
2020-12-05T04:44:29.216575+05:30 ARC0: Closing local archive destination LOG_ARCHIVE_DEST_1 '/u03/primary_dest/1_19_1058325294.dbf' (error 19502) (MODI)
2020-12-05T04:44:29.217417+05:30 Errors in file /u01/app/oracle/diag/rdbms/modi/MODI/trace/MODI_arc0_23015.trc:
ORA-27072: File I/O error
Additional information: 4
Additional information: 350208
Additional information: 446464
ORA-19502: write error on file "/u03/primary_dest/1_19_1058325294.dbf", block number 350208 (block size=512)
2020-12-05T04:44:32.583182+05:30 MODIP(3):Resize operation completed for file# 11, old size 1172480K, new size 1182720K
2020-12-05T04:44:33.183355+05:30 Errors in file /u01/app/oracle/diag/rdbms/modi/MODI/trace/MODI_arc0_23015.trc:
ORA-19502: write error on file "/u03/primary_dest/1_19_1058325294.dbf", block number 350208 (block size=512)
ORA-27072: File I/O error
Additional information: 4
Additional information: 350208
Additional information: 446464
ORA-19502: write error on file "/u03/primary_dest/1_19_1058325294.dbf", block number 350208 (block size=512)

चरण पांच

Oracle हमेशा प्राथमिक गंतव्य पर आर्काइव करने का प्रयास करता है, और प्राथमिक गंतव्य पर स्वचालित फेलबैक संस्करण 12c में काम करता है। प्राथमिक गंतव्य को साफ करने और इसे आर्काइविंग के लिए उपलब्ध कराने के बाद, Oracle अलर्ट लॉग फ़ाइल में किसी भी त्रुटि या फेलबैक संदेश की रिपोर्ट किए बिना प्राथमिक गंतव्य पर रीडो लॉग को आर्काइव करना जारी रखता है, जैसा कि निम्न उदाहरण में दिखाया गया है जहां मैंने v$archived_log क्वेरी की:

SQL> select thread#,sequence#,name from v$archive_log;

THREAD# SEQUENCE# NAME
-------- ---------- -----------------------------------------------
1       2         /u03/primary_dest/1_2_1058325294.dbf
1       3         /u03/primary_dest/1_3_1058325294.dbf
1       4         /u03/primary_dest/1_4_1058325294.dbf
1       5         /u03/primary_dest/1_5_1058325294.dbf
1       6         /u04/alternate_dest/1_6_1058325294.dbf
1       7         /u04/alternate_dest/1_7_1058325294.dbf
1       8         /u04/alternate_dest/1_8_1058325294.dbf
1       9         /u04/alternate_dest/1_9_1058325294.dbf
1       10        /u04/alternate_dest/1_10_1058325294.dbf
1       11        /u04/alternate_dest/1_11_1058325294.dbf
1       12        /u04/alternate_dest/1_12_1058325294.dbf
1       13        /u04/alternate_dest/1_13_1058325294.dbf
1       14        /u04/alternate_dest/1_14_1058325294.dbf
1       15        /u04/alternate_dest/1_15_1058325294.dbf
1       16        /u04/alternate_dest/1_16_1058325294.dbf
1       17        /u04/alternate_dest/1_17_1058325294.dbf
1       18        /u04/alternate_dest/1_18_1058325294.dbf
1       19        /u04/alternate_dest/1_19_1058325294.dbf
1       20        /u04/alternate_dest/1_20_1058325294.dbf
1       21        /u04/alternate_dest/1_21_1058325294.dbf
1       22        /u04/alternate_dest/1_22_1058325294.dbf
1       23        /u04/alternate_dest/1_23_1058325294.dbf
1       24        /u04/alternate_dest/1_24_1058325294.dbf
1       25        /u04/alternate_dest/1_25_1058325294.dbf
1       26        /u04/alternate_dest/1_26_1058325294.dbf
1       27        /u04/alternate_dest/1_27_1058325294.dbf
1       28        /u04/alternate_dest/1_28_1058325294.dbf
1       29        /u03/primary_dest/1_29_1058325294.dbf
1       30        /u03/primary_dest/1_30_1058325294.dbf
1       31        /u03/primary_dest/1_31_1058325294.dbf
1       32        /u03/primary_dest/1_32_1058325294.dbf

31 पंक्तियाँ चुनी गईं।

निष्कर्ष

Oracle ने प्राथमिक और वैकल्पिक गंतव्य के बीच आर्काइव गंतव्य स्विचिंग के स्वचालित प्रबंधन में महत्वपूर्ण सुधार किया है। उम्मीद है, आप इस कार्यक्षमता का लाभ उठाने के लिए मेरे प्रदर्शन का उपयोग कर सकते हैं।

एक वैकल्पिक आर्काइव होना आपकी अच्छी सेवा करता है, लेकिन याद रखें कि Oracle अलर्ट लॉग फ़ाइल में प्राथमिक गंतव्य विफलता के बारे में रुक-रुक कर त्रुटि संदेश लॉग करता है जब तक कि प्राथमिक आर्काइव गंतव्य फिर से तैयार न हो जाए।

हमारी डेटा सेवाओं के बारे में अधिक जानें।

कोई टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें। आप हमसे बातचीत भी शुरू कर सकते हैं।


  1. Oracle APEX खोजें: लो-कोड पावर के साथ विकास को तेज़ करें Oracle APEX खोजें: लो-कोड पावर के साथ विकास को तेज़ करें

    परिचय क्या आपका संगठन अधिक चुस्त हो सकता है, एप्लिकेशन को तेज़, सस्ता, और अधिक कुशलता से विकसित कर सकता है? Oracle® Application Express (APEX) और लो-कोड डेवलपमेंट का उपयोग करने पर विचार करें—ड्रैग-एंड-ड्रॉप तत्वों का उपयोग करने वाली एक विज़ुअल डेवलपमेंट विधि। चित्र स्रोत: https://apex.oracle.com/e

  1. Oracle के डिफर्ड COGS अकाउंटिंग फीचर के साथ लाभ सटीकता को अनुकूलित करें Oracle के डिफर्ड COGS अकाउंटिंग फीचर के साथ लाभ सटीकता को अनुकूलित करें

    परिचय यह पोस्ट Oracle® कॉस्ट मैनेजमेंट रिलीज़ 12.0.0 और बाद में डिफर्ड कॉस्ट ऑफ गुड्स सोल्ड (DCOGS) अकाउंट कार्यक्षमता का परिचय देती है। यह संवर्द्धन सीधे कॉस्ट ऑफ गुड्स सोल्ड (COGS) को राजस्व से मिलाता है, जो पहले संभव नहीं था। परिचय पिछले संस्करणों में, सिस्टम ने इन्वेंट्री से शिप किए गए सामानों

  1. Oracle 19c DBCA के साथ रिमोट PDB को CDB में कुशलतापूर्वक क्लोन करें Oracle 19c DBCA के साथ रिमोट PDB को CDB में कुशलतापूर्वक क्लोन करें

    यह ब्लॉग डेटाबेस कॉन्फ़िगरेशन असिस्टेंट (DBCA) का उपयोग करने के तरीकों का परिचय देता है, जो Oracle 19c में एक नई सुविधा है, एक रिमोट प्लगेबल डेटाबेस (PDB) को एक कंटेनर डेटाबेस (CDB) में क्लोन करने के लिए बिना स्रोत डेटाबेस का बैकअप लिए। स्रोत से लक्ष्य तक क्लोन करने में न्यूनतम समय लगता है। स्रोत DB