هر بانک اطلاعاتی پرونده های ورود به سیستم را به نام "ورود به سیستم معامله" می نویسد تا تغییرات در پایگاه داده را مجدداً مورد استفاده قرار دهد. از این پرونده های ورود به سیستم استفاده می شود که بانک اطلاعاتی نیاز به بازیابی داشته باشد.
گزارش معامله شامل "ورود به سیستم فعال" و "ورود به سیستم بایگانی شده" است. در طی معاملات ، اصلاحات در پایگاه داده توسط هر معامله در "ورود به سیستم فعال" ثبت شد. این اطلاعات به این صورت اشاره می شود که اگر معامله به عقب برگردانده شود ، در هنگام بازیابی تصادف یا برای بازیابی رولفروارد در آینده استفاده شود.
بنابراین ، قدیمی ترین سابقه ورود به معاملات معامله غیرقابل قبول باید در "ورود به سیستم فعال" گنجانده شود. و تمام سوابق ورود به سیستم بیشتر به عنوان "ورود به سیستم فعال" رفتار می شوند. اگر قدیمی ترین معامله غیرقانونی انجام نشده و برای مدت طولانی به عقب برگردانده نشده باشد ، "ورود به سیستم فعال" همچنان در حال افزایش است.
توجه: پرونده "اولین ورود به سیستم فعال" است که حاوی سوابق قدیمی قدیمی "Lowtranlsn" (قدیمی ترین انتقال غیرقانونی) یا "minbuflsn" (قدیمی ترین صفحه کثیف نشده در استخرهای بافر) است. این مقاله (و در بیشتر موارد) توصیف می کند "ورود به سیستم معامله کامل" است که ناشی از "Lowtranlsn" است. با این وجود ممکن است که یک "ورود به سیستم کامل باشد" ، وضعیت توسط "minbuflsn" ایجاد شده است ، به دلیل تنظیم پارامتر خیلی بزرگ SoftMax یا پردازش پاک کننده صفحه نمی تواند صفحات کثیف را سریعتر از درخواست اصلاح پایگاه داده کند.
پیام AMD1823E نشان می دهد که پرونده های "ورود به سیستم فعال" کامل می شوند و DB2 نمی تواند اطلاعات اصلاح پایگاه داده را دیگر ضبط کند. در این شرایط ، درخواست به روزرسانی (به روزرسانی/حذف/درج) نمی تواند انجام شود زیرا هیچ سابقه ورود به سیستم دیگر در "ورود به سیستم فعال" نمی تواند نوشته شود.
شما سه گزینه برای رهایی از وضعیت دارید: (1) قدیمی ترین معامله غیر مجاز ، (2) منطقه ورود به سیستم را افزایش دهید ، یا (3) از مدیریت فضای پیشرفته ورود به سیستم (ALSM) استفاده کنید.
1. اگر یک معامله (یا بیشتر) معامله طولانی مدت وجود ندارد
به عنوان یک راه حل سریع ، معامله را ایجاد کنید که باعث ایجاد وضعیت "ورود به سیستم کامل است" ، سپس آن را متعهد یا بازگردانید.
1. 1تعیین قدیمی ترین معامله غیر قابل قبول.
پیام ADM1823E را در پرونده db2diag. log جستجو کنید ، سپس شماره دسته برنامه را در آن پیدا کنید.
در این حالت ، "504" دسته برنامه قدیمی ترین معامله غیر مجاز است. می توانید شماره پارتیشن و دسته برنامه را به عنوان مجموعه ای مانند "0-504" مشاهده کنید. اگر بارها می توانید پیام ADM1823E را ببینید ، و آنها شامل همان دسته برنامه به طور مداوم هستند ، باید دلیل "ورود به سیستم معامله کامل" باشد.
توجه: اگر شماره دسته برنامه در قسمت APPHDL و در پیام ADM1823E یکسان باشد ، نشان می دهد که خود برنامه سیاهههای معامله عظیمی را تولید می کند و باعث شده است که "ورود به سیستم کامل باشد". می توانید با استفاده از پارامترهای پیکربندی پایگاه داده num_log_span یا max_log ، زمان اجرای یا میزان ورود به سیستم را برای جلوگیری از "ورود به سیستم معامله" محدود کنید. برای جزئیات بیشتر به بخش "بررسی عملیاتی" مراجعه کنید.
می توانید شناسه برنامه قدیمی ترین معامله بدون اتمام ، همچنین از خروجی عکس فوری پایگاه داده را پیدا کنید.
توجه: هنگامی که شماره دسته برنامه در پیام ADM1823E گنجانده نشده است ، ممکن است وضعیت "معامله کامل باشد" ممکن است ناشی از باقیمانده تراکنش غیرمجاز باشد. لطفاً به یک تکنیک دیگر [DB2 LUW] بازیابی معامله غیرمجاز مراجعه کنید
1. 2راه حل
با استفاده از هر یک از روشهای ذکر شده ، معاملات غیر مجاز مشخص شده در مرحله 1. 1 را خاتمه دهید:
برنامه درخواست خود را اصلاح کنید تا به موقع تر تعهد کنید.
2. هنگامی که تغییرات زیادی (به روزرسانی/حذف/درج) انجام شد و منطقه ورود به سیستم فضای کافی برای ذخیره این پرونده های ورود به سیستم ندارد.
با افزایش اندازه پرونده ورود به سیستم و/یا تعداد پرونده های ورود به سیستم ، منطقه ورود به سیستم فعال را بزرگ کنید. توجه: اگر برنامه ای وجود دارد که هرگز مرتکب یا بازپرداخت شود ، این روش کار نمی کند.
2. 1تنظیم پارامتر فعلی را در مورد پرونده log پیدا کنید.
DB2 DB CFG را برای [پایگاه داده] دریافت کنید
به پارامترهای پیکربندی پایگاه داده زیر مراجعه کنید
توضیح این پارامترها:
2. 2راه حل
3. از مدیریت پیشرفته فضای ورود به سیستم (ALSM) استفاده کنید
با شروع از DB2 نسخه 11. 5 Mod Pack 4 ، از مدیریت پیشرفته فضای ورود به سیستم (ALSM) استفاده کنید تا احتمال ضربه زدن به شرایط کامل ورود به سیستم را کاهش دهید. این ویژگی را می توان با تنظیم متغیر رجیستری DB2_ADVANCED_LOG_SPACE_MGMT به ON فعال کرد.
توجه: اگر مقدار logsecond را اصلاح کردید ، بلافاصله کار می کند. اگر مقدار logprimary یا logfilsiz را تغییر دادید ، برای ایجاد این تغییر ، بانک اطلاعاتی باید دوباره فعال شود. بنابراین اگر دوست ندارید برنامه خود را قطع کنید ، ورود به سیستم را افزایش دهید. بدون توقف برنامه کار می کند. مجموع مقدار logprimary و logsecond نمی تواند از 256 تجاوز کند (در V11. 5 ، حداکثر تعداد کل پرونده های ورود به سیستم در حالت ورود به سیستم بایگانی شده 8192 می شوند).
ملاحظه عملیاتی
اگر می خواهید از وضعیت "ورود به سیستم کامل" ناشی از معامله غیرقانونی طولانی مدت جلوگیری کنید ، می توانید پارامتر پیکربندی پایگاه داده "num_log_span" را مشخص کنید. هنگامی که هر معامله غیرمجاز به تعداد مشخصی از پرونده های ورود به سیستم در پارامتر "num_log_span" رسید ، برنامه خاتمه یافته و توسط مدیر پایگاه داده برگشت. num_log_span - پارامتر پیکربندی دهانه ورود به سیستم شماره
اگر می خواهید از وضعیت "ورود به سیستم معاملات کامل" ناشی از معامله جلوگیری کنید که میزان زیادی از سابقه ورود به سیستم را ایجاد می کند ، می توانید پارامتر پیکربندی پایگاه داده "max_log" را مشخص کنید. هنگامی که هر یک از معامله ها مقدار ثبت ورود به سیستم را تولید می کنند که از مقدار پارامتر "max_log" فراتر می رود ، برنامه توسط مدیر پایگاه داده خاتمه داده و به عقب برگردانده می شود. max_log - حداکثر ورود به سیستم در هر پارامتر پیکربندی معامله
به دلیل دلیل عملکرد ، توصیه می شود فایلهای ورود به سیستم اولیه را برای ذخیره سوابق لازم برای ورود به سیستم در حجم کار عادی تهیه کنید. ایجاد پرونده ورود به سیستم ثانویه به سربار نیاز دارد. لطفاً توجه داشته باشید که پرونده های ورود به سیستم اولیه در اولین اتصال به پایگاه داده از بین می روند. به طور غیر ضروری بیش از حد بسیاری از مقادیر logprimary می تواند به زمان طولانی تر برای فعال کردن بانک اطلاعاتی نیاز داشته باشد.
برچسب :
نویسنده : مرتضی احباب
بازدید : <-PostHit->