श्रृंखला का एक भाग Oracle® रीफ़्रेश करने योग्य क्लोनों का परिचय प्रदान करता है, जिसमें उनका उपयोग कब और क्यों करना शामिल है। इस पोस्ट में, मैं दिखाता हूं कि Oracle 18c में एक रिफ्रेशेबल क्लोन प्लगेबल डेटाबेस (PDB) को कैसे सेट अप, कॉन्फिगर, मेंटेन और ड्रॉप करना है।
रिफ्रेश करने योग्य क्लोन PDB के लिए पूर्वापेक्षाएँ
इस प्रदर्शन के साथ आगे बढ़ने के लिए, निम्नलिखित पूर्वापेक्षाएँ पूरी करें:
-
नए बनाए गए रीफ़्रेश करने योग्य क्लोन के लिए एक डेटाबेस लिंक रखें जो किसी स्थानीय या दूरस्थ कंटेनर की ओर इशारा करता हो।
-
archive_log_mode
सेट करें करने के लिएenabled
। -
एक इंजीनियर सिस्टम या एंटरप्राइज़ संस्करण (ईई) ओरेकल क्लाउड का प्रयोग करें। अगर यह उसी प्लैटफ़ॉर्म या वर्शन में उपलब्ध नहीं है, तो हिडन पैरामीटर सेट करें,
_exadata_feature_on
,True
. के लिए इस प्रदर्शन के लिए। -
local_undo_mode
सेट करें करने के लिएenabled
।
आप रीफ़्रेश करने योग्य PDB को बंद . में सेट कर सकते हैं या केवल पढ़ने के लिए खोलें मोड और केवल पढ़ने के लिए खोलें . में ताज़ा करने के बाद प्रश्नों के लिए मोड।
पर्यावरण
इस प्रदर्शन के लिए, सुनिश्चित करें कि आपका परिवेश निम्नलिखित विनिर्देशों के अनुरूप है:
-
Oracle 18c स्थापित करें और मशीन और डेटाबेस पर पूर्वापेक्षाएँ करें।
-
उत्पादन डेटाबेस की भूमिका के लिए:
-
कंटेनर डेटाबेस (सीडीबी) नाम सेट करें:YCDB1
-
पीडीबी नाम सेट करें:PURCH_PDB
-
-
रिफ्रेशेबल क्लोन PDB की भूमिका के लिए:
-
सीडीबी नाम सेट करें:XCDB1
-
PDB नाम सेट करें:PDB2_REFRO
-
पीडीबी को हर 30 मिनट में स्वचालित रूप से रीफ्रेश करने के लिए सेट करें
-
-
create_pdb
. का उपयोग करके एक सार्वजनिक डेटाबेस लिंक बनाएं XCDB . पर . लिंक PURCH_PDB को इंगित करना चाहिए YCDB . पर ।
-निम्न पारदर्शी नेटवर्क सबस्ट्रेट (TNS) कमांड निष्पादित करें:
purch_pdb=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = tejashost2.localdomain)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = purch_pdb)))
XCDB1=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = tejashost2.localdomain)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XCDB1)))
YCDB1=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = tejashost2.localdomain)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = YCDB1)))
प्रदर्शन
यह प्रदर्शन निम्नलिखित गतिविधियां करता है:
-
परिवेश सेट करता है।
-
उत्पादन डेटाबेस का ताज़ा मोड ढूँढता है।
-
रीफ़्रेश करने योग्य क्लोन के रीफ़्रेश मोड को दिखाता है, जिसमें रीफ़्रेश करने योग्य क्लोन पर रीफ़्रेश अक्षम करना शामिल है।
-
उत्पादन और रीफ़्रेश करने योग्य क्लोन के बीच स्विच करें।
रिफ्रेश करने योग्य क्लोन परिवेश सेट करें:
रीफ़्रेश करने योग्य क्लोन परिवेश के लिए, निम्न क्रियाएँ करें।
YCDB1 पर की जाने वाली कार्रवाइयां:
- उत्पादन डेटाबेस बनाएं और उसे खोलें।
-
EXPDP . से डेटा आयात करें डंप जो आपने
impdp
. का उपयोग करके लिया था उपयोगिता या एचआर स्कीमा को PURCH_PDB . में आयात करना . इस उदाहरण के लिए, डेटाबेस पर निम्न स्क्रिप्ट चलाकर एक एचआर स्कीमा आयात करें:@?/demo/schema/human_resources/hr_main.sql
इसके पूरा होने के बाद, एचआर स्कीमा विवरण की पुष्टि करें, जैसा कि निम्न आकृति में दिखाया गया है:
XCDB1 पर की जाने वाली कार्रवाइयां:
-
उत्पादन डेटाबेस को इंगित करने के लिए एक डेटाबेस लिंक बनाएं, PURCH_PDB ।
-
एक ताज़ा करने योग्य PDB बनाएँ, ताज़ा करने की अवधि हर 30 मिनट पर सेट करें, और सत्यापित करें कि डेटा ताज़ा हो गया है।
जब आप एक पीडीबी बनाते हैं तो आप सभी विशेषताओं का उपयोग कर सकते हैं जिसे आप किसी अन्य स्थान पर डेटाबेस बनाने के लिए उपयोग करने की योजना बना रहे हैं। उदाहरण के लिए, किसी PDB डेटा फ़ाइल स्थान को संशोधित करने के लिए, CREATE_FILE_DEST का उपयोग करें या FILE_NAME_CONVERT ।
एकमात्र जोड़ रीफ्रेश मोड . है विशेषता। इस प्रदर्शन को आसान बनाने के लिए, मैंने कोई वैकल्पिक विशेषता नहीं जोड़ी।
रीफ्रेश मोड और उत्पादन डेटाबेस विवरण ढूंढें
आप तालिका DBA_PDBS को क्वेरी कर सकते हैं ताज़ा करने योग्य PDB मोड, स्थिति, अंतिम ताज़ा SCN, और इसके मूल उत्पादन डेटाबेस विवरण के विवरण की जाँच करने के लिए। के लिएPDB2_REFRO पीडीबी, निम्न उदाहरण में दिखाए अनुसार आउटपुट की जांच करें:
अपना कार्य पूरा करने के बाद, आपको रीफ़्रेश करने योग्य PDB को वापसMOUNTED . में बदलना चाहिए शेड्यूल के अनुसार लगातार रिफ्रेश करने के लिए मोड। इस गतिविधि को करने के लिए निम्न आदेशों का प्रयोग करें। open_mode.sql डेटाबेस के वर्तमान ओपन_मोड की जांच करने के लिए यहां इस्तेमाल किया गया एक्वेरी है।
यदि आप डेटाबेस इंस्टेंस को ताज़ा करने के लिए बंद नहीं करते हैं तो आपको निम्न त्रुटि दिखाई दे सकती है:
ORA-65025: Pluggable database is not closed on all instances
रिफ्रेश करने योग्य क्लोन का रीफ़्रेश मोड बदलें
आप रीफ़्रेश करने योग्य क्लोन के मोड को इस प्रकार बदल सकते हैं:
-
मैन्युअल रीफ़्रेश को स्वचालित रीफ़्रेश में बदलें।
-
स्वचालित रीफ़्रेश को मैन्युअल रीफ़्रेश में बदलें।
-
स्वचालित या मैन्युअल रीफ़्रेश मोड से रीफ़्रेश अक्षम करें।
मैन्युअल रीफ्रेश को स्वचालित रीफ्रेश में कनवर्ट करें और इसके विपरीत
नोट :एक अन्य पीडीबी में लॉग इन होने पर आप पीडीबी रीफ्रेश मोड नहीं बदल सकते हैं। उदाहरण के लिए, आप XPDB के मोड को नहीं बदल सकते हैं YPDB . में लॉग इन करते समय .यदि आप प्रयास करते हैं, तो निम्न त्रुटि होती है:
ORA-65118: operation affecting a pluggable database cannot be performed from
another pluggable database.
मैन्युअल रीफ़्रेश मोड में, आप निम्न आदेश का उपयोग करके अपने क्लोन किए गए PDB को आवश्यकतानुसार ताज़ा कर सकते हैं:
पीडीबी रिफ्रेश अक्षम करें और रीड-ओनली क्लोन को रीड में बदलें- राइट-सक्षम डेटाबेस
आप अपने रीफ़्रेश करने योग्य क्लोन को रीड-राइट मोड में बदलने के लिए पीडीबी के रीफ़्रेश मोड को अक्षम कर सकते हैं।
नोट :अपने प्लग करने योग्य डेटाबेस के लिए रीफ़्रेश अक्षम करने के बाद, आप इसे फिर से सक्षम नहीं कर सकते। पीडीबी को रीफ्रेश करने योग्य पीडीबी बनाने के लिए आपको इसे फिर से बनाना होगा। यदि आप कोई नहीं . से रूपांतरित करने का प्रयास करते हैं मोड को रीफ्रेश करने के लिए रीफ्रेश मोड, आपको निम्न त्रुटि मिलती है:
ORA-65261: pluggable database PDB2_REFRO3 not enabled for refresh.
आपके द्वारा रीफ़्रेश अक्षम करने के बाद, PDB के पास पठन-लेखन पहुँच है।
उत्पादन से रीफ़्रेश करने योग्य क्लोन पर स्विच करें और इसके विपरीत।
Oracle 18c से पहले, आपको प्राथमिक को बंद करने और इसे केवल-पढ़ने के लिए खोलने सहित, भूमिका को स्विचओवर करने के लिए सभी चरणों का पालन करने की आवश्यकता थी।
इस प्रदर्शन में, मैं निम्नलिखित कार्य करता हूं:
-
उपयोगकर्ता बनाएं C##SWITCHUSER कंटेनर डेटाबेस XCDB1 और YCDB1 पर ग्रांट कनेक्ट का उपयोग करके,
sysoper
। -
एक डेटाबेस लिंक बनाएं, dblink , दूसरे कंटेनर डेटाबेस की ओर इशारा करते हुए। YCDB1 . में , dblink बनाएं, XCDB1SYSOPER , कनेक्ट करने के लिए XCDB1 .डेटाबेस दृश्यों का उपयोग करें, DBA_DB_LINKS और V$DATABASE डेटाबेस लिंक बनाने के बाद डेटाबेस विवरण एकत्र करने के लिए।
-
रीफ़्रेश करने योग्य क्लोन डेटाबेस को केवल-पढ़ने के लिए खोलें।
-
स्विचओवर कमांड चलाएँ।
-
उत्पादन और रीफ़्रेश करने योग्य क्लोन डेटाबेस को स्विच करने के बाद डेटाबेस स्थिति और ओपन मोड को मान्य करें।
YCDB1 पर की जाने वाली कार्रवाइयां:
स्विचओवर कमांड को क्रियान्वित करने से पहले 1 से 3 पूर्वापेक्षाएँ पूरी करें।
डेटाबेस लिंक विवरण:
XCDB1 पर की जाने वाली कार्रवाइयां
डेटाबेस लिंक विवरण जांचें और डेटाबेस ओपन मोड ढूंढें DBA_DB_LINKS . का उपयोग करके और V$DATABASE ।
स्विचओवर पूर्ण होने के बाद, मूल स्रोत PDB PURCH_PDB ताज़ा करने योग्य क्लोन PDB बन गया। यह पीडीबी वर्तमान में MOUNT . में है स्थिति, और अब से, आप इसे केवल केवल पढ़ने . में खोल सकते हैं तरीका। इसके विपरीत, मूल रीफ़्रेश करने योग्य क्लोन, PDB PDB2_REFRO अब पढ़ें . में खुला है या लिखें मोडऔर स्रोत पीडीबी के रूप में कार्य करता है।
निष्कर्ष:
आपको उच्च उपलब्धता के परिप्रेक्ष्य से डेटा गार्ड के प्रतिस्थापन के रूप में रीफ्रेश करने योग्य क्लोन पीडीबी सुविधा पर विचार नहीं करना चाहिए। हालांकि, आप दूसरे सर्वर पर रेप्लिका डेटाबेस को बनाए रखने के लिए रीफ्रेशेबल क्लोन का उपयोग कर सकते हैं।
यह पोस्ट वर्णन करती है कि रिफ्रेश करने योग्य पीडीबी को प्रतिकृतियों के रूप में कैसे उपयोग किया जाए ताकि आप कुछ कम-लोड, गैर-महत्वपूर्ण अनुप्रयोगों के संचालन को फिर से शुरू कर सकें, चाहे स्विचओवर एक नियोजित या अनियोजित घटना हो। ध्यान रखें, आपको पुनर्प्राप्ति समय उद्देश्यों (आरटीओ, संचालन फिर से शुरू करने का समय) और पुनर्प्राप्ति बिंदु उद्देश्यों (आरपीओ, जैसे न्यूनतम डेटा हानि प्राप्त करना) के दृष्टिकोण से स्विचओवर पर विचार करना चाहिए।
कोई टिप्पणी करने या प्रश्न पूछने के लिए प्रतिक्रिया टैब का उपयोग करें। बातचीत शुरू करने के लिए आप अभी चैट भी कर सकते हैं।
डेटाबेस के बारे में और जानें।