মূলত Tricore দ্বারা প্রকাশিত: Aug 14, 2017
এই ব্লগে Oracle® AD Online Patching (adop) ইউটিলিটির জন্য নিচের সাধারণ সমস্যা এবং সমাধান বর্ণনা করা হয়েছে:
- ডেটা ডিকশনারি করাপশন এরর
- adop prepare ব্যর্থতা
- Forms অবজেক্ট জেনারেশন ব্যর্থতা
- adop cutover হ্যাং আপ
- প্যাচ অবোর্ট
ডেটা ডিকশনারি করাপশন এরর
ডেটা ডিকশনারি করাপশন এরর adop prepare স্টেপ ব্যর্থ হলে ঘটতে পারে।
এরর
নিচের এরর ভিন্ন এনভায়রনমেন্টের জন্য ভিন্ন হতে পারে।
[EVENT] Verifying data dictionary. [UNEXPECTED]Data dictionary corrupted: [UNEXPECTED]Data dictionary corruption - missing parent 5608975 ORA$BASE IMAT V_WORKFLOWWORKITEMII VIEW 5608973 ORA$BASE IMAT V_WFSTAGETIME VIEW 5608973 ORA$BASE IMAT V_WFSTAGETIME VIEW [UNEXPECTED]Data dictionary corruption detected. Provide details to [UNEXPECTED]Oracle Support and ask for a bug to be opened against the [UNEXPECTED]Online Patching component of Oracle Application Install. /apps1/SID/fs_ne/EBSapps/log/adop/18/adop_xxxxx_xxxxx.log:
কারণ
এই ডেটা ডিকশনারি সমস্যাটি ঘটে যখন একজন ডেভেলপার কাস্টমাইজেশন অনुचিতভাবে প্রমোট করে, যা অনলাইন প্যাচিং স্ট্যান্ডার্ডস লঙ্ঘন করে।
সমাধান
ডেটা ডিকশনারি করাপশন (missing-parent) ফিক্স করতে নিচের ধাপগুলো এক্সিকিউট করুন:
$AD_TOP/sql/ADZDDBCC.sqlস্ক্রিপ্টapps userহিসেবে রান করুন যাতে লজিক্যাল ডেটা ডিকশনারি করাপশন আছে কিনা কনফার্ম করা যায়। স্পুল লগে করাপশন চেক করুন।$AD_TOP/patch/115/sql/adzddmpfix.sqlস্ক্রিপ্টsys userহিসেবে রান করুন করাপশন ফিক্স করতে। নিচের স্যাম্পলে, ১২টি করাপশন অবজেক্ট ফিক্স করা হয়েছে।
SQL> @adzddmpfix.sql "---- Fixing Data Dictionary Corruptions (missing parent) ----"
12 rows deleted.
Commit complete.
System altered.
"---- Compiling invalids ----"
PL/SQL procedure successfully completed.
Commit complete.
$AD_TOP/sql/ADZDDBCC.sqlস্ক্রিপ্ট আবারapps userহিসেবে রান করুন যাতে লজিক্যাল ডেটা ডিকশনারি করাপশন এখনো আছে কিনা নির্ধারণ করা যায়। a. কোনো করাপশন না পাওয়া গেলে, আপগ্রেড বা adop প্যাচিং-সাইকেল বadors এগিয়ে যান। b. করাপশন এখনো থাকলে, Oracle Support-এ কন্টাক্ট করুন এবং একটি বাগ লগ করুন।- সমস্যা সমাধান হলে, adop prepare স্টেপ রিট্রাই করুন।
adop prepare ব্যর্থতা
কখনো কখনো adop prepare স্টেপ ব্যর্থ হয়। এই সেকশনে একটি সম্ভাব্য prepare এরর এবং সমাধান দেখানো হয়েছে।
এরর
নিচের adop prepare এরর একটি Oracle বাগ:
Lines #(47-50): runMSSrvPortsVal : oacore_server1:7252 ERROR: Run fs Context variable s_oacore_server_ports value cannot be NULL for oacore_server2 ERROR: Derived Patch managed server oacore_server2 port : NULL ERROR: Failed to clone Run Context file to refresh Patch context file
সমাধান
এই এরর সমাধান করতে নিচের ধাপগুলো এক্সিকিউট করুন:
- এররে রিপোর্ট করা পোর্ট এবং পাথ অনুযায়ী স্যাম্পল টার্গেট সার্ভার এবং SID পরিবর্তন করুন, এবং ইস্যু ফিক্স করার জন্য কোড এক্সিকিউট করুন।
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl \
ebs-delete-managedserver \
-contextfile=/apps1/SID/fs1/inst/apps/SID_server/appl/admin/SID_server.xml -managedsrvname=oacore_server2 \
-servicetype=oacore -logfile=$APPLRGF/TXK/delMS_oacore_server2.log
perl $FND_TOP/patch/115/bin/txkSetAppsConf.pl -contextfile=/apps1/SID/fs1/inst/apps/SID_server/appl/admin/SID_server.xml \
-configoption=removeMS -oacore=server.cm.charter.com:7252
- ফিক্স অ্যাপ্লাই হওয়ার পর adop prepare রিট্রাই করুন।
Forms অবজেক্ট জেনারেশন ব্যর্থতা
কখনো কখনো, adop phase=apply patches=123456 দিয়ে প্যাচ অ্যাপ্লাই করার সময়, forms অবজেক্ট সফলভাবে জেনারেট না হতে পারে, যা adop সেশনকে Patch continue prompt Y/N দেখানোর বিনা কুইট করতে বাধ্য করে।
এরর
উদাহরণস্বরূপ, নিচের Oracle Forms অবজেক্ট সফলভাবে জেনারেট হয়নি:
inv forms/US INVMWBIV.fmx
সমাধান
ব্যর্থ প্যাচ সেশন প্যাচ ডিরেক্টরি থেকে রিস্টার্ট করুন নিচের কমান্ডগুলো দিয়ে:
cd /apps1/SID/fs_ne/EBSapps/patch
adop phase=apply patches=20609071 restart=yes flags=autoskip
adop cutover হ্যাং
যদি adop cutover হ্যাং করে বা সার্ভার ক্র্যাশ বা রিবুট সমস্যা adop cutover ফেজের মাঝপথে হয়, তবে নিচের ধাপগুলো এক্সিকিউট করুন ইস্যু ফিক্স করতে এবং তারপর প্যাচ প্রসেসের সাথে এগিয়ে যান।
সমাধান
- নিশ্চিত করুন PATCH ফাইল সিস্টেম থেকে কোনো সার্ভিস বা প্রসেস রান করছে না।
- নিশ্চিত করুন Weblogic Admin Server এবং Node Manager রান ফাইল সিস্টেমে রান করছে। স্ট্যাটাস চেক করতে নিচের কমান্ডগুলো এক্সিকিউট করুন:
$ adadminsrvctl.sh status
$ adnodemgrctl.sh status
- নিচের কমান্ডগুলো এক্সিকিউট করুন:
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone force=yes
- একটি খালি adop সাইকেল চালান নিশ্চিত করতে যে adop cutover-এ কোনো ইস্যু নেই নিচের কমান্ড এক্সিকিউট করে:
$adop phase=prepare, finalize, cutover, cleanup cleanup_mode=full
- একটি নতুন adop prepare স্টার্ট করুন এবং প্যাচ অ্যাপ্লাই করুন।
- apply স্টেপের পর, adop ফেজের বাকি অংশ কম্পলিট করুন যার মধ্যে finalize, cutover, এবং cleanup অন্তর্ভুক্ত।
প্যাচ অবোর্ট
যদি একটি প্যাচিং সাইকেল ব্যর্থ হয় এবং আপনি দ্রুত সমস্যা সমাধান করতে না পারেন, তবে আপনি প্যাচিং সাইকেল অবোর্ট করতে পারেন এবং নরমাল রানটাইম অপারেশনে ফিরে যেতে পারেন, যা প্যাচ এডিশন ড্রপ করে।
আপনি একটি প্যাচিং সাইকেল বাতিল করতে পারেন (কোনো প্যাচ অ্যাপ্লাই না করে) নিচের কমান্ড চালিয়ে:
$ adop phase=abort
গুরুত্বপূর্ণ: আপনি এই কমান্ড শুধু কাটওভার ফেজ সফলভাবে সম্পন্ন হওয়ার আগে ব্যবহার করতে পারেন। কাটওভারের পর, সিস্টেম নতুন এডিশনে রান করে, এবং সেই প্যাচিং সাইকেলের জন্য abort কমান্ড আর সম্ভব নয়।
একটি প্যাচিং সাইকেল অবোর্ট করলে প্যাচ এডিশন ড্রপ হয়, কিন্তু আপনাকে অবশ্যই ক্লিনআপ এবং fs_clone ফেজ চালাতে হবে নতুন প্যাচিং সাইকেল শুরু করার আগে। ক্লিনআপ অবশ্যই ফুল ক্লিনআপ হতে হবে। নিচের উদাহরণ এই ইভেন্ট সিকোয়েন্স দেখাচ্ছে:
$ adop phase=prepare
$ adop phase=apply patches=123456
[Patch application encounters problems and you want to abort]
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone
ঐচ্ছিকভাবে, আপনি abort এবং cleanup কমান্ড কম্বাইন করতে পারেন নিচের কমান্ডে দেখানো মতে:
$ adop phase=abort,cleanup cleanup_mode=full
দ্রষ্টব্য: আপনি hotpatch মোডে অ্যাপ্লাই করা প্যাচ (adop phase=apply apply_mode=hot patch) অবোর্ট করতে পারবেন না।
উপসংহার
adop ইউটিলিটির জন্য এই পরিচিত ইস্যু এবং সমাধানগুলো ডাটাবেস অ্যাডমিনিস্ট্রেটরদের সাহায্য করবে যখন তাদের এই বা অনুরূপ ইস্যু হয়।
মন্তব্য বা প্রশ্নের জন্য Feedback ট্যাব ব্যবহার করুন।