সিরিজের প্রথম অংশ Oracle® রিফ্রেশেবল ক্লোনগুলির একটি ভূমিকা প্রদান করে, সেগুলি কখন এবং কেন ব্যবহার করতে হবে সহ। এই পোস্টে, আমি দেখিয়েছি কিভাবে Oracle 18c-এ রিফ্রেশেবল ক্লোন প্লাগেবল ডাটাবেস (PDB) সেট আপ, কনফিগার, রক্ষণাবেক্ষণ এবং ড্রপ করতে হয়।
একটি রিফ্রেশযোগ্য ক্লোন PDB এর পূর্বশর্ত
এই প্রদর্শনের সাথে অনুসরণ করতে, নিম্নলিখিত পূর্বশর্তগুলি সম্পূর্ণ করুন:
-
নতুন তৈরি রিফ্রেশেবল ক্লোনের জন্য একটি ডাটাবেস লিঙ্ক আছে যা স্থানীয় বা দূরবর্তী ধারককে নির্দেশ করে৷
-
archive_log_mode
সেট করুনenabled
করতে . -
একটি ইঞ্জিনিয়ারড সিস্টেম বা এন্টারপ্রাইজ সংস্করণ (EE) ওরাকল ক্লাউড ব্যবহার করুন। এটি একই প্ল্যাটফর্ম বা সংস্করণে উপলব্ধ না হলে, লুকানো প্যারামিটার সেট করুন,
_exadata_feature_on
,True
-এ এই প্রদর্শনীর জন্য। -
local_undo_mode
সেট করুনenabled
করতে .
আপনি বন্ধ-এ রিফ্রেশযোগ্য PDB সেট করতে পারেন অথবা শুধু পড়ার জন্য খুলুন মোডএবং শুধুমাত্র পড়ার জন্য খোলা রিফ্রেশ করার পরে প্রশ্নের জন্য মোড।
পরিবেশ
এই প্রদর্শনের জন্য, নিশ্চিত করুন যে আপনার পরিবেশ নিম্নলিখিত নির্দিষ্টকরণের সাথে সঙ্গতিপূর্ণ:
-
Oracle 18c ইনস্টল করুন এবং মেশিন এবং ডাটাবেসের পূর্বশর্তগুলি সম্পাদন করুন৷
-
উৎপাদন ডাটাবেসের ভূমিকার জন্য:
-
কন্টেইনার ডাটাবেস (CDB) নাম সেট করুন:YCDB1
-
PDB নাম সেট করুন:PURCH_PDB
-
-
রিফ্রেশেবল ক্লোন PDB এর ভূমিকার জন্য:
-
CDB নাম সেট করুন:XCDB1
-
PDB নাম সেট করুন:PDB2_REFRO
-
প্রতি 30 মিনিটে স্বয়ংক্রিয়ভাবে রিফ্রেশ করার জন্য PDB সেট করুন
-
-
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
ব্যবহার করে নিয়েছেন ইউটিলিটি বা একটি HR স্কিমা PURCH_PDB-এ আমদানি করা . এই উদাহরণের জন্য, ডাটাবেসে নিম্নলিখিত স্ক্রিপ্টটি চালিয়ে একটি HR স্কিমা আমদানি করুন:@?/demo/schema/human_resources/hr_main.sql
এটি শেষ হওয়ার পরে, নিম্নলিখিত চিত্রে দেখানো হিসাবে HR স্কিমার বিবরণ যাচাই করুন:
XCDB1-এ নেওয়ার পদক্ষেপ:
-
উৎপাদন ডাটাবেস, PURCH_PDB নির্দেশ করতে একটি ডাটাবেস লিঙ্ক তৈরি করুন .
-
একটি রিফ্রেশযোগ্য PDB তৈরি করুন, প্রতি 30 মিনিটে রিফ্রেশ সময়কাল সেট করুন এবং ডেটা রিফ্রেশ হয়েছে তা যাচাই করুন৷
আপনি একটি PDB তৈরি করার সময় সমস্ত বৈশিষ্ট্য ব্যবহার করতে পারেন যা আপনি অন্য অবস্থানে একটি ডাটাবেস তৈরি করতে ব্যবহার করার পরিকল্পনা করেন। উদাহরণস্বরূপ, একটি PDB ডেটা ফাইলের অবস্থান পরিবর্তন করতে, CREATE_FILE_DEST ব্যবহার করুন অথবা FILE_NAME_CONVERT .
একমাত্র সংযোজন হল রিফ্রেশ মোড বৈশিষ্ট্য এই প্রদর্শনকে সহজ করার জন্য, আমি কোনো ঐচ্ছিক বৈশিষ্ট্য যোগ করিনি।
রিফ্রেশ মোড এবং উৎপাদন ডাটাবেসের বিবরণ খুঁজুন
আপনি টেবিল DBA_PDBS জিজ্ঞাসা করতে পারেন রিফ্রেশযোগ্য PDB মোড, স্ট্যাটাস, শেষ রিফ্রেশ SCN, এবং এর প্যারেন্ট প্রোডাকশন ডাটাবেসের বিশদ বিবরণ পরীক্ষা করতে। PDB2_REFRO এর জন্য PDB, নিম্নলিখিত উদাহরণে দেখানো আউটপুট পরীক্ষা করুন:
আপনি আপনার কাজটি সম্পূর্ণ করার পরে, আপনাকে রিফ্রেশযোগ্য PDB কে আবার মাউন্টেড-এ রূপান্তর করতে হবে সময়সূচী অনুযায়ী ক্রমাগত রিফ্রেশের জন্য মোড। এই কার্যকলাপ করতে নিম্নলিখিত কমান্ড ব্যবহার করুন. open_mode.sql ডাটাবেসের বর্তমান open_mode চেক করতে এখানে aquery ব্যবহৃত হয়।
আপনি যদি রিফ্রেশের জন্য ডাটাবেস ইনস্ট্যান্স বন্ধ না করেন তবে আপনি নিম্নলিখিত ত্রুটিটি দেখতে পারেন:
ORA-65025: Pluggable database is not closed on all instances
রিফ্রেশযোগ্য ক্লোনের রিফ্রেশ মোড পরিবর্তন করুন
আপনি নিম্নরূপ একটি রিফ্রেশযোগ্য ক্লোনের মোড পরিবর্তন করতে পারেন:
-
ম্যানুয়াল রিফ্রেশকে স্বয়ংক্রিয় রিফ্রেশে পরিবর্তন করুন।
-
স্বয়ংক্রিয় রিফ্রেশকে ম্যানুয়াল রিফ্রেশে পরিবর্তন করুন।
-
স্বয়ংক্রিয় বা ম্যানুয়াল রিফ্রেশ মোড থেকে রিফ্রেশ অক্ষম করুন৷
৷
একটি ম্যানুয়াল রিফ্রেশকে একটি স্বয়ংক্রিয় রিফ্রেশে রূপান্তর করুন এবং এর বিপরীতে
দ্রষ্টব্য :অন্য একটি পিডিবিতে লগ ইন করার সময় আপনি PDB রিফ্রেশ মোড পরিবর্তন করতে পারবেন না। উদাহরণস্বরূপ, আপনি XPDB এর মোড পরিবর্তন করতে পারবেন না লগ ইন করার সময় YPDB .যদি আপনি চেষ্টা করেন, নিম্নলিখিত ত্রুটিটি ঘটে:
ORA-65118: operation affecting a pluggable database cannot be performed from
another pluggable database.
ম্যানুয়াল রিফ্রেশ মোডে, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনার ক্লোন করা PDB রিফ্রেশ করতে পারেন:
PDB রিফ্রেশ অক্ষম করুন এবং একটি পঠনযোগ্য ক্লোনকে একটি পঠন-এ রূপান্তর করুন লেখা-সক্ষম ডাটাবেস
আপনার রিফ্রেশযোগ্য ক্লোনকে রিড-রাইট মোডে রূপান্তর করতে আপনি একটি PDB এর রিফ্রেশ মোড নিষ্ক্রিয় করতে পারেন৷
দ্রষ্টব্য :আপনি আপনার প্লাগযোগ্য ডাটাবেসের জন্য রিফ্রেশ নিষ্ক্রিয় করার পরে, আপনি এটি আবার সক্ষম করতে পারবেন না। একটি রিফ্রেশযোগ্য PDB হতে আপনাকে PDB পুনরায় তৈরি করতে হবে। আপনি যদি NONE থেকে রূপান্তর করার চেষ্টা করেন রিফ্রেশ মোড রিফ্রেশ মোডে, আপনি নিম্নলিখিত ত্রুটি পাবেন:
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 হয়ে উঠেছে। এই PDB বর্তমানে MOUNT এ আছে স্ট্যাটাস, এবং এখন থেকে, আপনি এটি শুধুমাত্র শুধু পঠন-এ খুলতে পারবেন মোড. বিপরীতে, আসল রিফ্রেশেবল ক্লোন, PDB PDB2_REFRO এখন READ-এ খোলা আছে অথবা লিখুন একটি উত্স PDB হিসাবে modeand ফাংশন।
উপসংহার:
আপনার রিফ্রেশেবল ক্লোন PDB বৈশিষ্ট্যটিকে উচ্চ প্রাপ্যতার দৃষ্টিকোণ থেকে ডেটা গার্ডের প্রতিস্থাপন হিসাবে বিবেচনা করা উচিত নয়। যাইহোক, আপনি অন্য সার্ভারে একটি প্রতিলিপি ডাটাবেস বজায় রাখতে ফ্রেশযোগ্য ক্লোন ব্যবহার করতে পারেন।
এই পোস্টে বর্ণনা করা হয়েছে কিভাবে রিফ্রেশেবল PDB গুলিকে প্রতিলিপি হিসাবে ব্যবহার করতে হয় যাতে আপনি নির্দিষ্ট লো-লোড, অ-সমালোচনামূলক অ্যাপ্লিকেশন অপারেশনগুলি পুনরায় শুরু করতে পারেন, সুইচওভার একটি পরিকল্পিত বা একটি অপরিকল্পিত ঘটনা। মনে রাখবেন, আপনার রিকভারি টাইম অবজেক্টিভস (আরটিও, টাইম টু অপারেশনস) এবং রিকভারি পয়েন্ট অবজেক্টিভস (আরপিও, যেমন ন্যূনতম ডেটা লস অর্জন) এর দৃষ্টিকোণ থেকে সুইচওভার বিবেচনা করা উচিত।
কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। কথোপকথন শুরু করতে আপনি এখন চ্যাটও করতে পারেন।
ডেটাবেস সম্পর্কে আরও জানুন।