یکی از روش های بهبود پرفورمنس در دیتابیس اوراکل استفاده از قابلیت REBUILD کردن ایندکس ها است. REBUILD کردن ایندکس هایی که با روشی مناسب انتخاب می شوند می تواند پرفورمنس دیتابیس را به طور قابل ملاحظه ای بهبود دهد. البته عملیات آنالیز و REBUILD ایندکس زمانبر بوده و سربار ایجاد می کند. در این متن REBUILD ایندکس ها و روش استفاده مناسب از آن توضیح داده می شود.
عملیات I/O به صورت MULTI BLOCK
پارامتر DB_FILE_MULTIBLOCK_READ_COUNT تعداد بلاک هایی که می توانند در هر مرحله از FULL TABLE SCAN با عملیات I/O از دیسک به حافظه منتقل شوند را مشخص می کند البته حداکثر تعداد MULTI BLOCK در زمان اجرا وابسته به پشتیبانی سیستم است. در این متن ویژگی ها و نحوه برخورد اوراکل با این پارامتر را توضیح می دهیم و عملیات خواندن همزمان بلاک ها با یک مثال اجرایی نمایش داده می شود.
undo_retention یا auto tuned_undoretention؟
همانطور که می دانید از طریق پارامتر undo_retention می توان تعیین کرد که undoها برای چه مدت زمانی در وضعیت unExpire قرار داشته باشند و با فرض عدم کمبود فضا برای undo tablespace، وضعیت undo dataهای unExpire بعد از چه مدت زمانی به Expire تغییر کند.
برخلاف انتظار، بسیاری از مواقع در محیطهای عملیاتی شاهد آن هستم که undo dataها بعد از مدت زمان تعیین شده برای undo_retention هم موجود و قابل استفاده هستند که در سناریوی زیر این مسئله را مشاهده می کنید.
نکاتی در مورد LOCAL TEMPORARY TABLESPACE(اوراکل 12cR2)
همانطور که می دانید، در محیط RACء، Temporary Tablespaceها در سطح دیتابیس ایجاد شده و tempfileها هم باید در فضای shared بین همه instanceها به اشتراک گذاشته شوند.
از اوراکل 12cR2 نوع دیگری از Temporary Tablespace تحت عنوان local temporary tablespace اضافه شده که tempfileهای این نوع از temp TBSها را می توان در فضای local مربوط به instance ایجاد نمود.
در ادامه متن به نحوه ایجاد و مدیریت این نوع از temp tbsها و همچنین نحوه اولویت دهی اوراکل بین Shared Temporary Tablespace و Local temporary tablespace خواهیم پرداخت.
ایجاد Gold Image از GI HOME و Oracle HOME
شرایطی را در نظر بگیرید که قرار است نرم افزار نصب شده ای که patchهای متنوعی هم بر روی آن اعمال شده را برای چندین مرتبه در یک محیط نصب کنیم! نصب نرم فزار و سپس اعمال همه patchها بر روی آن، می تواند زمان نصب را طولانی تر و همچنین عملیات نصب را پیچیده تر کند. راهکاری که اوراکل در این زمینه ارائه داده است، تهیه Gold Image از نرم افزار نصب شده موجود(به همراه patchهای اعمال شده) می باشد.
ایجاد Gold Image از نرم افزارهای نصب شده، می تواند سرعت نصب مجدد نرم افزار را افزایش داده و به سادگی در نصب هم کمک کند. در این متن، نحوه ایجاد Gold Image از GI HOME و Oracle HOME را توضیح خواهیم داد.
اوراکل ZDLRA
ZERO DATA LOSS RECOVERY APPLIANCE یا ZDLRA یک راه حل جامع برای بکاپ و ریکاوری دیتابیس است که توسط شرکت اوراکل ارائه شده است. این راه حل، دیتابیس های اوراکل نسخه 10.2 به بالا که روی هر نوع پلتفرم و سیستم عامل خاص قرار گرفته اند را پشتیبانی می کند. اوراکل ZDLRA از سخت افزار و نرم افزار ویژه تشکیل شده است تا بکاپ و ریکاوری دیتابیس های اوراکل بدون DATA LOSS و با PERFORMANCE بهینه انجام گردد.
auto_only Large Page در اوراکل 19c
در مطلب “پیکربندی Huge Page برای دیتابیس اوراکل“ در مورد مقادیری که برای پارامتر USE_LARGE_PAGES قابل تنظیم است، نکاتی را مطرح کردیم و توضیح دادیم که برای این پارامتر می توان یکی از مقادیر FALSE, ONLY, TRUE را تنظیم کرد(مقدار AUTO در نسخه های جدید قابل تنظیم نیست.)
Connected to Oracle Database 18c Enterprise Edition Release 18.0.0.0.0
SQL> select value from v$parameter_valid_values p where upper(name)= ‘USE_LARGE_PAGES’;
VALUE
————–
TRUE
AUTO
ONLY
FALSE
در اوراکل نسخه 19c، مقدار AUTO_ONLY هم به این مجموعه مقادیر اضافه شده است که در این متن به بررسی این مقدار خواهیم پرداخت.
Connected to Oracle Database 19c Enterprise Edition Release 19.0.0.0.0
SQL> select value from v$parameter_valid_values p where upper(name)= ‘USE_LARGE_PAGES’;
VALUE
————–
TRUE
AUTO
ONLY
FALSE
AUTO_ONLY
فشرده سازی جداول در اوراکل(TABLE COMPRESSION)
در دیتابیس های اوراکل نگارش 9i و بالاتر می توان جدول ها یا پارتیشن ها را فشرده نمود. فشرده بودن یا نبودن جدول ها به طور کامل از دید برنامه نویسان دیتابیس و APPLICATION مخفی است. در ادامه انواع روش های فشرده سازی جدول و ویژگی های آنها را معرفی می کنیم.
در نگارش 9 و 10 اوراکل، فشرده سازی به روش BASIC انجام می گیرد. روش BASIC برای جدول هایی که داده های آنها STATIC هستند مناسب است و در صورت انجام سایر عملیات DML داده های جدول از حالت فشرده خارج خواهد شد.
در نگارش 11 و بالاتر ، روش های دیگر فشرده سازی جدول ارائه شده است که با بکارگیری الگوریتم های خاص امکان استفاده از فشرده سازی برای جدول هایی که عملیات DML روی آنها انجام می شود را فراهم می کند. بنابراین این روش های فشرده سازی مناسب سیستم های OLTP هستند.
Fix کردن پلن کوئری های فاقد bind variable
برای دستور زیر، دو plan در دیتابیس موجود است:
SQL> select * from mytbl where object_id=9;
SQL> @plan_hash_value
قصد داریم با ایجاد sql profile، پلن شماره 1787877304 را برای پرس و جو 9tfrqw5x3qw8s، فیکس کنیم:
SQL> @coe_xfr_sql_profile.sql 9tfrqw5x3qw8s 1787877304
حذف ایندکسهای ایجاد شده با فیچر Auto Indexing
ایندکسهای از نوع auto index را نمی توان با دستور drop index حذف کرد:
SQL> select index_name,auto from dba_indexes where AUTO=’YES’;
INDEX_NAME AUTO
———————- ——–
SYS_AI_9qxxvpz1p5359 YES
SQL> drop index “SYS_AI_9qxxvpz1p5359”;
ORA-65532: cannot alter or drop automatically created indexes