بانک اطلاعاتی اوراکل

وحید یوسف زاده

بانک اطلاعاتی اوراکل

وحید یوسف زاده

تاثیر log strand بر اندازه آرشیولاگ

| يكشنبه, ۲۴ آبان ۱۳۹۴، ۰۹:۱۳ ب.ظ

از اوراکل نسخه 9i به بعد این امکان وجود دارد تا log buffer به چند قسمت مساوی تقسیم شود و هر قسمت آن به قسمتی از redo log مپ شود و به این طریق انتفال اطلاعات صورت گیرد به این ویژگی public redo strand می گویند.

 با این کار waitهای کمتری را از جنس log file sync و latch redo allocation در سیستم شاهد خواهیم بود که رابطه مستقیم تعداد strandها با latchهای redo allocation در نسخه 10g مویدیست بر این نکته. تعداد redo strand به طور پیش فرض با استفاده از مقدار cpu_count مشخص می شود همچنین می توان با پارامتر _log_parallelism_max تعداد جاری آن را مشاهده کرد:


select  nam.ksppinm, val.KSPPSTVL, nam.ksppdesc from sys.x$ksppi nam,   sys.x$ksppsv val where nam.indx=val.indx AND upper(nam.ksppinm) LIKE '%LOG_PARALLE%';  

 

معمولا مقدار پیش فرض آن برابر با دو می باشد و با هر 16 cpu یک عدد به مقدار آن اضافه می شود.


حال زمانی را فرض کنید که چند redo strand به صورت موازی در حال نوشتن اطلاعات بر روی redo log هستند و در همین حال کار یکی از redo strandها زودتر به اتمام می رسد و قصد دارد ادامه اطلاعات را به redo log منتقل کند به دلیل اینکه redo log فضای خالی ای به اندازه یک redo strand ندارد، اوراکل مجبور است تا به redo log دیگری سوییچ کند(حتی اگر بقیه strandها مشغول به کار باشند) تا این redo strand آزاد را به یک آن مپ کند با این کار اندازه آرشیو لاگها کوچکتر خواهند شد چون قسمتی از redo log بدون استفاده باقی مانده است.


در این قسمت نتیجه چند مورد تست انجام شده را با هم خواهیم دید.

در اینجا فرض ما بر آن است که تنها یک کاربر به بانک وصل شده و همه پارامترهای مرتبط به checkpoint همانند fast_start_mttr_target مقدار پیش فرض دارند و همچنین هیچ کاربری دستور switch logfile را صادر نمی کند البته اگر تعداد sessionهای همزمان بیشتر شوند، رفتار بانک کمی متفاوت تر خواهد بود.


create table usef_tbl (a number, b char(400));

begin

for i in 1..600000 loop

insert into usef_tbl values (i,'b');

end loop;

end;

/

_log_parallelism_max

log_buffer size

redo log size

Archive log size

1

15MB

50MB

49M

2

15MB

50MB

41M

2

20MB

50MB

39M

8

15MB

50MB

36M

 

همانطور که می بینید با افزایش تعداد redo strand، اندازه آرشیولاگ کوچکتر شده است.





  • ۹۴/۰۸/۲۴

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">