بهبودی در جمع آوری خودکار آمار در اوراکل 19c

در محیطهای که نرخ تغییر داده نسبتا زیاد است، شاید استفاده از آمارهای بروز شده از طریق automated maintenance taskهای شبانه، چندان کارا نباشد با این نگاه، اوراکل در نسخه 19c، قابلیتهای جدیدی را در زمینه جمع آوری و بروزرسانی خودکار Statistic ارائه کرده که قبلا در مقاله ای یکی از این قابلیتها را که Real-time Statistic نام داشت، مورد بررسی قرار دادیم.

در این مقاله قصد داریم به یکی دیگر از این قابلیتها که High-frequency Optimizer Statistics Collection نام دارد، بپردازیم.

(بیشتر…)

ویژگی Partial Indexing برای جداول پارتیشن شده

در نسخه های اوراکل پیش از 12c، ایجاد ایندکس برای یک جدول پارتیشن بندی شده، سبب ایجاد ایندکس برای همه پارتیشنهای آن جدول می شد. چالش اساسی در این زمینه زمانی مطرح می شود که در مواردی، ایجاد ایندکس، اساسا کاربردی برای پارتیشنهای قدیمی جدول و یا حداقل بعضی از پارتیشنهای آن، ندارد.

(بیشتر…)

Real-Time Statistics در اوراکل 19c

تا قبل از اوراکل نسخه 12c، اجرای دستورات DMLای بر روی یک جدول(به هر دو روش Conventional و Direct-path)، منجر به بروزرسانی آمار(Statistics) آن جدول نمی شد و جمع آوری انلاین آمار، صرفا در زمان ساخت ایندکس قابل انجام بود.

در نسخه 12c بهبود مختصری در این زمینه رخ داد که بر اساس آن، همراه با عملیات Bulk load بر روی یک جدول، آمارهای آن جدول هم به صورت انلاین بروز خواهد شد اما کماکان برای دستورات DMLای که به صورت CONVENTIONAL اجرا می شوند، تغییری در آمارهای جدول ایجاد نمی شود.

یکی از قابلیتهای جدید اوراکل نسخه 19c، ویژگی Real-Time Statistics می باشد که قابلیت بروزرسانی آنلاین بعضی از آمارهای مهم را همراه با اجرای دستورات DMLای، فراهم خواهد کرد.

(بیشتر…)

پارتیشن بندی انلاین جداول در اوراکل 12cR2

با ارائه نسخه 12cR2 قابلیت جدیدی در زمینه پارتیشن بندی ارائه شد که به لحاظ پیاده سازی، پیچیدگی بسیار کمتری را نسبت به روشهای رایج پارتیشن بندی نظیر بسته dbms_redefintion دارد و صرفا با اجرای یک دستور ALTER TABLE .. MODIFY، پارتیشن بندی را برای جداول امکان پذیر خواهد کرد.

(بیشتر…)

اوراکل 19c – ارائه گزارش برای استفاده از hintها(HINT_REPORT)

زمانی که از چند HINT در متن دستور(مخصوصا یک پرس و جوی پیچیده) استفاده می کنیم، ممکن است در جستجوی روشی باشیم تا از استفاده اوراکل از این HINTها اطمینان حاصل کنیم و یا به صورت کلی بدانیم که از کدام یک از این hintها صرف نظر شده و چند hint مورد استفاده قرار گرفته است؟

(بیشتر…)

بهبود سرعت درج انبوه با unusable کردن ایندکسها

در زمان بازسازی یک جدول حجیم و یا درج قابل توجهی از اطلاعات در یک جدول، unusable کردن ایندکسها می تواند باعث تسریع انجام عملیات شود. در ادامه با یک مقایسه ساده، این موضوع را نشان خواهیم داد.

برای انجام سناریو، جدولی را به همراه دو ایندکس ایجاد می کنیم.

(بیشتر…)

نظارت اوراکل بر تغییرات جداول

در شبانه روز ممکن است دستورات DMLای متعددی بر روی جداول مختلف اجرا شوند، در نظر داشتن این مسئله، ذهن را متوجه چالش مهمی خواهد کرد!

از بین جداولی که بعضا حجم انها به چند صد میلیون می رسد، کدام یک بیشترین تغییرات را به لحاظ حجمی داشته اند؟ و به بیانی بهتر، برای کدام یک از جداول، باید(بهتر است) بروزرسانی امار(gather statistic) انجام شود؟

برای پاسخ به این دسته از سوالات، نیاز است تا نظارتی بر روی جداول صورت پذیرد و تعداد عملیات DMLای که بر روی انها انجام می شود، در جدولی از بانک ثبت شود.

(بیشتر…)

تهیه گزارش AWR در محیط ADG

همانطور که می دانید؛ ایجاد گزارش awr در محیط ADG به صورت روتین امکان پذیر نمی باشد این اتفاق به دلیل عدم امکان ایجاد snapshot بر روی بانکی که در حالت read only قرار دارد، کاملا منطقی بنظر می رسد. در اوراکل 12cR2، راهکاری برای این مسئله اندیشیده شد و امکان تهیه این گزارش برای ADG هم فراهم شده است.

(بیشتر…)