Read-only Oracle Home در اوراکل 21c(تغییر مسیر دایرکتوری dbs و network)

یکی از فیچرهای جدیدی که در اوراکل 18c ارائه شد Read-only Oracle Home بود که مطابق با آن، logfileها و فایلهای پیکربندی موجود در مسیر ORACLE_HOME نظیر listener.ora، sqlnet.ora، spfile.ora و … به دایرکتوریهای زیرشاخه ORACLE_BASE منتقل می شوند(عمده فایلهای پیکربندی، در زیر دایرکتوری network/admin و dbs قرار می گیرند).

انتقال فایلهای پیکربندی از ORACLE_BASE به ORACLE_HOME سبب شده تا نیاز به تغییر در فایلهای ORACLE_HOME به حداقل برسد به طوری که اگر یک Read-only Oracle Home را در پارتیشن read-only قرار دهیم، اوراکل بدون مشکل به کارش ادامه خواهد داد مگر آنکه نیاز به اعمال patch بر روی نرم افزار داشته باشیم که در این صورت باید پارتیشن را در حالت read write قرار دهیم.

(بیشتر…)

قابلیت Data Pump Checksum در اوراکل 21c

اوراکل در نسخه 21c این امکان را می دهد تا در هنگام گرفتن دامپ، checksumای در dump file قرار داده شود تا در هر زمان(به خصوص بعد از جابجایی)  بتوان اعتبار و صحت فایل دامپ را مورد بررسی قرار داد و با کمک این اطلاعات کنترلی از عدم خرابی dump fileها اطمینان حاصل کرد.

به این منظور، پارامتر CHECKSUM به لیست پارامترهای Data Pump اضافه شده و برای استفاده از این ویژگی باید در کنار دستور expdp پارامتر CHECKSUM را برابر با مقدار YES قرار داد:

(بیشتر…)

ویژگی Expression based parameter value در اوراکل 21c

برای تعیین مقدار یک پارامتر در اوراکل 21c، می توانیم از متغیرهای محیطی و یا پارامتر دیگری که در دیتابیس تنظیم شده اند، استفاده کنیم. برای مثال، اگر تصمیم داریم 50 درصد از فضای sga را به buffer cache اختصاص دهیم(حداقل)، می توانیم از این قابلیت جدید اوراکل استفاده کنیم:

SQL> show parameter sga_target

NAME                                 TYPE        VALUE

———————————— ———– ——————————

sga_target                           big integer 3568M

SQL> alter system set db_cache_size=‘sga_target*50/100’;

System altered.

(بیشتر…)

تنظیم دو پسورد برای یک کاربر در اوراکل 21c و 19.12

در اوراکل نسخه 21c(و همچنین بعدا در اوراکل 19.12)، قابلیتی با عنوان “Gradual Database Password Rollover” ارائه شد که با تنظیم پسورد جدید برای یک کاربر، پسورد قبلی برای مدت زمان محدودی معتبر باقی می ماند که در این شرایط، یک کاربر هر چند برای مدت زمان کوتاهی، دو پسورد خواهد داشت.

 

کاربرد!

با استفاده از این ویژگی می توان عملیات تغییر پسورد یوزری که application از طریق آن به دیتابیس وصل می شود را بهتر مدیریت کرد چرا که در این شیوه، ابتدا پسورد جدید برای کاربر تنظیم شده و در زمان مناسب پسورد جدید کاربر در applicationها اعمال خواهد شد.

این ویژگی سبب خواهد شد تا در applicationهایی که برای تغییر پسورد نیازی به restart شدن ندارند، downtimeی هم نداشته باشیم(در زمان تغییر پسورد کاربر).

(بیشتر…)

جداول Immutable در اوراکل 19.11 و 21c

جداول از نوع Immutable که اصطلاحا insert-only table هم نامیده می شوند، برای محافظت اطلاعات جدول از هرگونه دستکاری کاربرد دارند. در این نوع از جداول، درج اطلاعات جدید امکان پذیر است اما قابلیت بروزرسانی و اصلاح وجود ندارد و حداقل برای مدت زمان مشخصی، از حذف جدول و یا حذف اطلاعات آن ممانعت خواهند شد. این دسته از جداول در اوراکل 21.3 ارائه شدند و در نسخه 19.11 هم قابل استفاده هستند.

جداول Immutable را می توان از طریق دستور CREATE IMMUTABLE TABLE ایجاد کرد همچنین در زمان ایجاد این نوع از جداول، می توان در مورد حذف جدول(DROP) و حذف رکوردهای جدول(DELETE) سیاستهایی را اعمال کرد.

(بیشتر…)

Downgrade نسخه GRID از 19.11 به 18.5

اگر بعد از ارتقا نسخه Grid Infrastructure به 19c تصمیم گرفتید آن را دوباره به نسخه قبل برگردانید، پیشنهاد می کنیم متن پیش رو که در ان مراحل Downgrade نسخه Grid از 19.11 به 18.5 توضیح داده شده را مطالعه بفرمایید.

عملیات Downgrade در کلاستری با دو نود انجام شده که دستورات زیر اطلاعاتی را در مورد نسخه جاری Grid ارائه می کنند:

 [grid@RAC2 ~]$ crsctl query crs activeversion

Oracle Clusterware active version on the cluster is [19.0.0.0.0]

SQL> select BANNER_FULL  from v$version;

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

Version 19.11.0.0.0

عملیات Downgrade را در طی 7 مرحله انجام خواهیم داد.

(بیشتر…)

ویژگی Memoptimized Rowstore – Fast Ingest در اوراکل 19c

همانطور که می دانید، IOT Deviceها به طور پیوسته جریانی از داده را به سمت دیتابیس هدایت می کنند به طوری که درج این داده ها در دیتابیس رابطه ای می تواند با چالشهای پرفورمنسی همراه باشد.

در اوراکل نسخه 19c ، راهکاری برای حل این مسئله پرفورمنسی ارائه شد که مطابق با آن، این دسته از دیتا ابتدأَ در حافظه ثبت شده و در نهایت به صورت دسته ای به دیسک منتقل می شوند. این قابلیت جدید، Memoptimized Rowstore Fast Ingest نام دارد.

البته به این ویژگی اصطلاحا deferred insert هم گفته می شود چرا که ابتدا دیتا در قسمتی از large pool ثبت می شود و بعد از گذشت مدت زمانی، به صورت خودکار توسط اوراکل به دیسک منتقل شده و در زمانی که دیتا در Large Pool قرار دارد، توسط sessionهای دیگر قابل رویت نخواهد بود.

(بیشتر…)

نگاهی به اثر منفی پرفورمنسی Out Of Place Refresh

بروزرسانی Materialized View(MV) به روش Out of Place ، قابلیت جدیدی بود که در اوراکل نسخه 12c ارائه شد، در این روش، در زمان بروزرسانی MV، به جای دستکاری جدول جاری MV، اوراکل جدول جدیدی را ایجاد می کند و حاصل اجرای متن MV را در این جدول درج خواهد کرد بعد از آنکه اطلاعات بروز شده به صورت کامل در جدول جدید درج شد، این جدول با جدول جاری MV جایگزین می شود.

با توجه به آنکه در مورد ویژگی Out Of Place Refresh قبلا مطلبی را ارائه کردیم از تکرار مجدد آن پرهیز کرده و در این مطلب به بررسی یکی مضرات پرفورمنسی این شیوه از بروزرسانی خواهیم پرداخت.

Out Of Place Refresh در کنار مزایایی که دارد ممکن در شرایطی برای دیتابیس سربار پرفورمنسی ایجاد کند. چرا که در این روش از بروزرسانی، با هر بار بروزرسانی MV، جدولی حذف و جدول جدیدی ایجاد خواهد شد و جدول جدید مشخصات مختص به خود را دارد(نظیر object_id و …) و برای دیتابیس یک object جدید محسوب می شود.

ایجاد جدول جدید سبب می شود تا فرمهای پارس شده همه پرس و جوهایی که به این MV رجوع کرده اند، نامعتبر شده و از حافظه خارج شوند و این پرس و جوها برای اجرای مجدد، باید یکبار دیگر پارس شوند.

(بیشتر…)

ارتقا Minor Version لینوکس در محیط کلاستر

قبل از ارتقا Grid Infrastructure به نسخه بالاتر، باید بررسی کرد که کرنل نسخه جاری سیستم عامل، Grid Infrastructure نسخه جدید را پشتیبانی می کند؟ و در صورت عدم پشتیبانی، نسخه سیستم عامل را در صورت امکان ارتقا داد.

در جدول زیر می بینید که ACFS و AFD اوراکل 19c، در کدام یک از نسخه های کرنلOracle Linux(X86_64) پشتیبانی می شوند:

در صورت عدم پشتیبانی grid نسخه جدید در سیستم عامل نسخه جاری، در زمان ارتقا، با چنین خطایی مواجه خواهیم شد:

Verifying ACFS Driver Checks …FAILED

PRVG-6096 : Oracle ACFS driver is not supported on the current operating system

(بیشتر…)

undo_retention یا auto tuned_undoretention؟

همانطور که می دانید از طریق پارامتر undo_retention می توان تعیین کرد که undoها برای چه مدت زمانی در وضعیت unExpire قرار داشته باشند و با فرض عدم کمبود فضا برای undo tablespace، وضعیت undo dataهای unExpire بعد از چه مدت زمانی به Expire تغییر کند.

برخلاف انتظار، بسیاری از مواقع در محیطهای عملیاتی شاهد آن هستم که undo dataها بعد از مدت زمان تعیین شده برای undo_retention هم موجود و قابل استفاده هستند که در سناریوی زیر این مسئله را مشاهده می کنید.

(بیشتر…)