এই ব্লগে Oracle® AD Online Patching (adop) ইউটিলিটির ফেজ, প্যাচ প্রসেস সাইকেল স্টেপ এবং কিছু উপকারী adop কমান্ড ও টিপস বর্ণনা করা হয়েছে।
ভূমিকা
adop ইউটিলিটি Oracle E-Business Suite-এ σημαντपूर्ण সিস্টেম ডাউনটাইম ছাড়া প্যाच 적용 করতে ব্যবহৃত হয়। প্যাচ সাইকেল নিচের ডায়াগ্রামে দেখানো অনুযায়ী বেশ কিছু ফেজ নিয়ে গঠিত:
The online patching cycle
Image Source: https://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531065.htm
বেসিক adop ফেজ এবং প্যাচ সাইকেল স্টেপ
Oracle R12.2-এ adop প্রসেস দিয়ে প্যাচ অ্যাপ্লাই করার আগে, যেকোনো প্রয়োজনীয় টেকনোলজি প্যাচ ডাউনলোড করুন এবং কন্টেন্ট আনজিপ করুন। তারপর প্যাচ প্রস্তুত করুন নিচের যেকোনো একটি ধাপ দিয়ে:
- প্যাচ কন্টেন্ট `
$NE_BASE/EBSapps/patch`-এ আনজিপ করুন। কারণ adop ইউটিলিটি নিজস্ব এনভায়রনমেন্ট সেট করে, তাই এটি চালানোর আগে এনভায়রনমেন্ট সোর্স করার প্রয়োজন নেই।
অথবা
- প্যাচ ফাইল সিস্টেম এনভায়রনমেন্ট ফাইল এক্সিকিউট করে (অথবা সোর্স করে) এনভায়রনমেন্ট সেট করুন নিচের কোড ব্যবহার করে:
Source /EBSapps.env run
একটি অনলাইন প্যাচিং বেশ কিছু ফেজ নিয়ে গঠিত, যা adop কমান্ড লাইনে নিচের সিনট্যাক্স দিয়ে স্পেসিফাই করা হয়:
adop phase=
প্রিপেয়ার ফেজ
একটি নতুন অনলাইন প্যাচিং সাইকেল শুরু করার জন্য প্রস্তুত হওয়ার কমান্ড:
$ adop phase=prepare
অ্যাপ্লাই ফেজ
এক বা একাধিক প্যাচ Oracle E-Business Suite সিস্টেমের প্যাচ এডিশনে অ্যাপ্লাই করার কমান্ড:
$ source /EBSapps.env patch
$ adop phase=apply patches=123456,789101 workers=8
দ্রষ্টব্য: আপনি অ্যাপ্লাই ফেজে সকল কাস্টমাইজেশন চেঞ্জও ডিপ্লয় করতে পারেন।
ফাইনালাইজ ফেজ
এই ফেজে ফাইনাল প্যাচিং অপারেশন পারফর্ম করুন নিচের কমান্ড দিয়ে (যা অ্যাপ্লিকেশন অনলাইন থাকাকালীনও এক্সিকিউট করা যায়):
$ adop phase=finalize
কাটওভার ফেজ
প্যাচ করা এনভায়রনমেন্টে ট্রানজিশন করার কমান্ড:
$ adop phase=cutover
ক্লিনআপ ফেজ
প্যাচ প্রসেস থেকে প্রয়োজন নেই এমন পুরনো অবজেক্ট রিমুভ করার কমান্ড:
$ adop phase=cleanup
একক কমান্ডে সকল ফেজ চালানো
একক কমান্ডে সকল ফেজ চালানোর সিনট্যাক্স:
adop phase=prepare,apply,finalize,cutover,cleanup patches=,
নিচের অপশনাল প্যারামিটারগুলোও ব্যবহার করা যায়:
actualize_all: প্যাচ এডিশনে সকল অবজেক্ট aktualize করুন। cleanup_full: ক্লিনআপ এবং পুরনো এডিশন ড্রপ করুন। abandon: ব্যর্থ প্যাচ বাতিল করুন।
ক্লিন-আপ মোড
প্রয়োজন অনুযায়ী নিচের ক্লিন-আপ মোডগুলো ব্যবহার করুন:
- cleanup_mode=quick – মিনিমাম ক্লিনআপ পারফর্ম করে, যার মধ্যে অবসোলেট ক্রস এডিশন ট্রিগার এবং সিড ডেটা রিমুভাল। কুইক ক্লিনআপ ব্যবহার করুন যখন আপনাকে পরবর্তী প্যাচিং সাইকেল যতটা দ্রুত সম্ভব শুরু করতে হয়।
- cleanup_mode=standard – কুইক মোডের কাজের পাশাপাশি অবসোলেট এডিশন্ড কোড অবজেক্ট (কভার্ড অবজেক্ট) ড্রপ (রিমুভ) করে।
- cleanup_mode=full – मैক্সিমাম ক্লিনআপ পারফর্ম করে, যা পুরনো এডিশন থেকে সকল অবসোলেট কোড এবং ডেটা ড্রপ করে।
অপশনাল ফেজ
প্রয়োজন অনুযায়ী এই সেকশনের ফেজগুলো ব্যবহার করুন।
অবোর্ট ফেজ
আপনি অবোর্ট ফেজ অন্য কোনো ফেজের সাথে স্পেসিফাই করতে পারবেন না, এটি একটি কন্ডিশনাল ফেজ।
যদি কোনো কারণে প্রিপেয়ার বা অ্যাপ্লাই ফেজ ব্যর্থ হয়, তবে আপনি প্যাচিং সাইকেল এই দুটি পয়েন্টে যেকোনো একটিয় অবোর্ট করতে পারেন একটি স্পেশাল ফেজ দিয়ে abort কমান্ড দিয়ে। পূর্বে নেওয়া অ্যাকশন ডিসকার্ড (রোলব্যাক) হয়ে যাবে।
অবোর্ট কমান্ড কাটওভার ফেজ পর্যন্ত (সেটি অন্তর্ভুক্ত না করে) উপলব্ধ। কাটওভারের পর, সিস্টেম নতুন এডিশনে রান করে, এবং সেই প্যাচিং সাইকেলের জন্য abort আর সম্ভব নয়।
অবোর্ট পারফর্ম করার কমান্ড:
$ adop phase=abort
অবোর্ট চালানোর পর, আপনাকে অবশ্যই ফুল ক্লিনআপ পারফর্ম করতে হবে। একটি অপশন হলো নিচের কমান্ড ব্যবহার করা:
adop phase=cleanup cleanup_mode=full
আপনি abort এবং cleanup একসাথে রান করতে পারেন কম্বাইনড কমান্ড দিয়ে:
$ adop phase=abort,cleanup cleanup_mode=full
প্যাচ এডিশনে প্যাচ অ্যাপ্লিকেশন অবোর্ট করার পর, আপনাকে নিচের fs_clone কমান্ড চালাতে হবে প্যাচ ফাইল সিস্টেম রিক্রিয়েট করতে:
$ adop phase=fs_clone
fs_clone ফেজ
fs_clone ফেজ প্যাচ ফাইল সিস্টেমকে রান ফাইল সিস্টেমের সাথে সিঙ্ক্রোনাইজ করে। fs_clone ফেজ শুধু তখন চালানো উচিত যখন কোনো স্পেসিফিক ডকুমেন্টেড প্রসিডিউর অংশ হিসেবে упомина করা থাকে।
আপনাকে এই কমান্ড রান ফাইল সিস্টেম থেকে ইনভোক করতে হবে, পরবর্তী প্রিপেয়ার ফেজ চালানোর আগে, নিচের কমান্ডগুলো দেখানো হয়েছে:
$ source /EBSapps.env RUN
$ adop phase=fs_clone
যদি fs_clone অপারেশন ব্যর্থ হয়, তবে আপনি `force=yes` অপশন দিয়ে রি-রান করতে পারেন প্রসেসকে শুরু থেকে রিস্টার্ট করতে (একই সেশন আইডি দিয়ে) অথবা `force=no` দিয়ে যেখানে ব্যর্থ হয়েছিল সেখান থেকে রিস্টার্ট করতে।
actualize_all ফেজ
প্রতিটি অনলাইন প্যাচিং সাইকেল সম্পন্ন হলে, ডাটাবেসে অতিরিক্ত পুরনো ডাটাবেস এডিশন জমা হয়। সংখ্যা বাড়ার সাথে সাথে সিস্টেম পারফরম্যান্স খারাপ হয়। পুরনো ডাটাবেস এডিশনের সংখ্যা ২৫ অতিক্রম করলে, আপনাকে adop actualize_all ফেজ চালিয়ে পুরনো ডাটাবেস এডিশন ড্রপ করার কথা বিবেচনা করা উচিত এবং তারপর ফুল ক্লিনআপ পারফর্ম করতে হবে।
এই প্রসিডিউর একটি নরমাল প্যাচিং সাইকেলের চেয়ে উল্লেখযোগ্যভাবে বেশি সময় নেয় এবং শুধু তখন পারফর্ম করা উচিত যখন নতুন প্যাচিং সাইকেল শুরু করার কোনো অবিলম্বে প্রয়োজন নেই।
শুরু করার আগে, নিশ্চিত করুন সিস্টেমে রিকমেন্ডেড ডাটাবেস প্যাচ এবং লেটেস্ট AD-TXK কোড লেভেল ইনস্টল করা আছে।
এগিয়ে যেতে, নিচের কমান্ডগুলো ক্রমবদ্ধভাবে চালান:
$ adop phase=prepare
$ adop phase=actualize_all
$ adop phase=finalize finalize_mode=full
$ adop phase=cutover
$ adop phase=cleanup cleanup_mode=full
adop কমান্ড টিপস
এই সেকশনে adop ইউটিলিটির কিছু উপকারী কমান্ড দেওয়া হলো।
adop এবং কনকারেন্ট ম্যানেজার
Oracle কনকারেন্ট ম্যানেজার প্রধানত অ্যাপ্লিকেশনগুলো রিকোয়েস্টের ফ্লো গভর্ণ করে overwhelm হওয়া থেকে বাচাতে দায়বদ্ধ।
adop cutover কনকারেন্ট ম্যানেজার শাটডাউন রিকোয়েস্ট দিয়ে শুরু হয় এবং ইন-প্রগ্রেস রিকোয়েস্ট সম্পন্ন হওয়ার জন্য অপেক্ষা করে।
যদি কনকারেন্ট ম্যানেজার নির্দিষ্ট টাইম লিমিটের মধ্যে শাটডাউন না করে, তবে বাকি কনকারেন্ট রিকোয়েস্ট কিল হয়ে যায় এবং cutover এগিয়ে চলে।
এক্সিস্টিং কনকারেন্ট প্রসেস ফিনিশ হওয়ার জন্য কতক্ষণ অপেক্ষা করবে ইন্টারনাল কনকারেন্ট ম্যানেজার (মাস্টার ম্যানেজার) শাটডাউন করার আগে তা স্পেসিফাই করতে cutover cm_wait কমান্ড চালান। নিচের উদাহরণে, cm_wait টাইম ১০ মিনিট। ডিফল্টভাবে, adop ইন-প্রগ্রেস কনকারেন্ট রিকোয়েস্ট ফিনিশ হওয়ার জন্য অনিশ্চিতকাল অপেক্ষা করে।
adop phase=cutover cm_wait=10
mtrestart=no কমান্ড অ্যাপ্লিকেশন টিয়ার রিস্টার্ট সার্ভিস স্টপ করে এবং ইন্যাবল করে না, নিচের উদাহরণে দেখানো হয়েছে:
adop phase=cutover cm_wait=10 mtrestart=no
adop hotpatch
hotpatch মোডে, adop প্যাচ রান এডিশনে অ্যাপ্লাই করে যখন অ্যাপ্লিকেশন সার্ভিসগুলো এখনো রান করছে। এই মোডে, প্যাচ প্রসেস অবোর্ট করা যাবে না।
নিচের উদাহরণ hotpatch মোডে একটি প্যাচ инициয়েট করে:
$ adop phase=apply patches= hotpatch=yes
hotpatch ব্যবহার করার পর, নিশ্চিত করুন phase=cleanup এবং phase=fs_clone দুটোই রান করা হয়েছে রান ফাইল সিস্টেমকে প্যাচ ফাইল সিস্টেমের সাথে সিঙ্ক্রোনাইজ করতে। এটি নিশ্চিত করে যে সব কিছু পরবর্তী প্যাচিং সাইকেলের জন্য রেডি।
আপনি যদি একটি প্যাচ রি-অ্যাপ্লাই করতে চান, তবে আপনাকে `options-forceapply` প্যারামিটার ব্যবহার করতে হবে নিচের উদাহরণে দেখানো মতে:
$ adop phase=apply patches= hotpatch=yes options=forceapply
আপনি যদি `Continue As If It Were Successful` এরর পান, তবে প্যাচ সাথে এগিয়ে যেতে নিচের কমান্ড চালান:
$ adop phase=apply patches= abandon=no restart=yes flags=autoskip
অন্যান্য উপকারী adop কমান্ড
নিচের লিস্টে বিভিন্ন সহায়ক adop ইউটিলিটি অপারেশন রয়েছে:
ওয়ার্কার ডিফাইন করতে:
$ adop phase=apply patches= workers=5
patchtop ডিফাইন করতে:
$ adop phase=apply patches= patchtop=
প্যাচ মার্জ করতে:
$ adop phase=apply patches= merge=yes
ব্যর্থ adop সেশন থেকে রিস্টার্ট করতে, নিচের কমান্ডগুলো চালান এবং তারপর প্যাচ রি-অ্যাপ্লাই করুন:
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone
ল্যাঙ্গুয়েজ প্যাচ অ্যাপ্লাই করতে:
$ adop phase=apply patches=1234456_JA:u123456.drv
non-interactive adop ব্যবহার করতে patchtop এবং ডিফাইন করা ড্রাইভার দিয়ে:
$ adop phase=apply options=nocopyportion patchtop=$XLA_TOP/patch/115 patches=driver:xla123456.drv
ব্যর্থ ওয়ার্কার স্কিপ করতে, নিচের ধাপগুলো চালান:
adctrlব্যবহার করুন এবং অপশন #8 সিলেক্ট করুন (এটি visible নয়) ব্যর্থ জব স্কিপ করতে।restart=yesপ্যারামিটার দিয়ে adop রিস্টার্ট করুন।
যদি অনেক ব্যর্থ জব থাকে, তবে আপনাকে `flags=autoskip` অপশন দিয়ে প্যাচ রিস্টার্ট করা উচিত, নিচের উদাহরণে দেখানো মতে:
$ adop restart=no abandon=yes flags=autoskip
এই কমান্ড প্যাচ রিস্টার্ট করে এবং যেকোনো ব্যর্থতা স্কিপ করে। প্যাচ অ্যাপ্লিকেশন শেষে লগ ফাইল রিভিউ করুন নিশ্চিত করতে যে উপযুক্ত ব্যর্থতা স্কিপ করা হয়েছে।
উপসংহার:
adop ইউটিলিটি ইন্যাবলড থাকে কারণ একাধিক অ্যাপ্লিকেশন এডিশন ডাটাবেসে স্টোর করা যায়, এবং ডুয়াল অ্যাপ্লিকেশন টিয়ার ফাইল সিস্টেম প্রোভিশন করা যায়। যেকোনো সময়, এই ফাইল সিস্টেমের একটি রান (রানিং সিস্টেমের অংশ) হিসেবে ডিজাইনেটেড থাকে এবং অন্যটি প্যাচ (প্যাচ করা হচ্ছে বা পরবর্তী প্যাচিং সাইকেল শুরু হওয়ার জন্য অপেক্ষা করছে) হিসেবে। বর্তমান রান ফাইল সিস্টেম ব্যবহারকারীর কাছে Oracle E-Business Suite রিলিজ ১২.২-এর পূর্ববর্তী ভার্সনে যেভাবে সিঙ্গেল অ্যাপ্লিকেশন টিয়ার ফাইল সিস্টেম দেখাতো তেমনি দেখায়।
ডুয়াল ফাইল সিস্টেমের অস্তিত্ব সিস্টেম কনফিগারেশন পরিবর্তন করে এমন প্যাচের জন্য ইমপ্লিকেশন রয়েছে। adop ইউটিলিটি প্যাচ ফাইল সিস্টেমে সফ্টওয়্যার প্যাচ অ্যাপ্লাই করার জন্য আবশ্যক, কিন্তু কনফিগারেশন চেঞ্জ পারফর্ম করার জন্য আবশ্যক নয়। আপনি রান ফাইল সিস্টেম বা প্যাচ ফাইল সিস্টেম যেকোনো একটিয় কনফিগারেশন চেঞ্জ করতে পারেন, এবং অটোমেটিক সিঙ্ক্রোনাইজেশন পরবর্তীতে দুটি কেসেই হয়।
মন্তব্য বা প্রশ্নের জন্য Feedback ট্যাব ব্যবহার করুন।