ارتقا PDB به اوراکل 21c از طریق ابزار AutoUpgrade

ارتقا PDB به نسخه 21c به روشهای مختلفی قابل انجام است که قبلا نحوه انجام ان را با کمک قابلیت Replay Upgrade توضیح دادیم. یکی دیگر از روشهای انتقال و ارتقا PDB به نسخه 21c، ابزار AutoUpgrade است که در این متن با استفاده از این ابزار،  PDB را به نسخه 21c ارتقا خواهیم داد.

این ابزار در مقایسه با Replay Upgrade، نیاز به مداخله DBA را به حداقل می رساند برای مثال، در روش Replay Upgradeء، DBA موظف بود PDB را به نسخه بالاتر plug کند در صورتی که در زمان استفاده از ابزار AutoUpgrade، حتی این کار هم به صورت خودکار انجام خواهد شد و DBA صرفا باید با ایجاد فایل پیکربندی، CDB مبدا و مقصد و همچنین نام PDB را مشخص کند.

در ادامه از ابزار AutoUpgrade استفاده کرده و PDBای را از نسخه 19c به نسخه 21c انتقال و ارتقا خواهیم داد.

(بیشتر…)

قابلیت Sequence Dynamic Cache Resizing در اوراکل 21c و 19.10

تنظیم درست مقدار خصیصه cache برای sequenceها می تواند به لحاظ پرفرومنسی بسیار اثرگذار باشد البته در بعضی از موارد، به دلیل محدودیت application مجاز نیستیم برای cache مقداری بزرگتر از صفر در نظر بگیریم صرف نظر از این استثنا، گاها مشاهده می شود که بعضی از افراد بعد از ایجاد sequenceء، cache را با همان مقدار پیش فرض(عدد 20) رها می کنند در صورتی که این مقدار نمی تواند برای همه sequenceها مناسب باشد و برای آنکه sequenceها بتوانند بهتر پاسخگوی بارکاری باشند باید سایز cache را متناسب با نرخ استفاده sequence مقداردهی کرد.

اوراکل قابلیت جدیدی را ارائه کرده است که می تواند در این زمینه بسیار موثر باشد. ویژگی Sequence Dynamic Cache Resizing در اوراکل 21c ارائه شده(و بعدا در 19.10 هم اضافه شده است) و می تواند به صورت خودکار این مسئله(اندازه cache) را مدیریت کند.

براساس این ویژگی، cache size می تواند بر مبنای نرخ  استفاده sequenceها کاهش و یا افزایش یابد(به صورت خودکار). البته این مقدار هیچ وقت از عددی که به صورت دستی برای خصیصه cache تنظیم شده، کمتر نمی شود. قابلیت Dynamic Cache Resizing به صورت پیش فرض فعال است.

 در ادامه با ارائه یک سناریو، بیشتر با رفتار Sequence Dynamic Cache Resizing آشنا خواهیم شد.

(بیشتر…)

اوراکل 21c- استفاده از Result Cache در استندبای

یکی دیگر از قابلیتهای جدید اوراکل در نسخه 21c، امکان استفاده از هینت RESULT_CACHE در محیط Physical Standby است که در ادامه نحوه استفاده از ان توضیح داده شده است.

***مدت زمان اجرای پرس و جوی زیر، در دیتابیس primary حدودا یک دقیقه است:

–primary:

SQL> select count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:01:06.45

SQL> /

  COUNT(*)

———-

  62775296

Elapsed: 00:01:03.61

با استفاده از هینت result_cache این زمان به زیر یک ثانیه کاهش پیدا می کند!

–primary:

SQL> select /*+ result_cache */  count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:01:20.74

SQL> select /*+ result_cache */  count(*) from usef.tbl1;

  COUNT(*)

———-

  62775296

Elapsed: 00:00:00.00

(بیشتر…)

ارتقا نسخه pdb به اوراکل 21c با کمک قابلیت Replay Upgrade

زمانی که یک pdb را با استفاده از روش plug/unplug از نسخه پایین تر به دیتابیسی با نسخه بالاتر منتقل می کنیم، امکان open کردن این pdb به صورت نرمال وجود ندارد مگر آنکه نسخه pdb را ارتقا دهیم(تا قبل از اوراکل 21c!).

برای مثال، در قسمت زیر، pdb18 را از نسخه 18c به نسخه 19c انتقال دادیم و قصد داریم بدون ارتقا این pdb را open کنیم:

SQL*Plus: Release 19.0.0.0.0 – Production on Sat Sep 25 07:26:59 2021

Version 19.3.0.0.0

SQL> create pluggable database PDB18 using ‘/home/oracle/PDB18C.xml’ nocopy;

Pluggable database created.

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

———- —————————— ———- ———-

         2 PDB$SEED                       READ ONLY  NO

         3 PDB                            READ WRITE NO

         4 PDB18                         MOUNTED

SQL> alter pluggable database PDB18 open;

Warning: PDB altered with errors.

(بیشتر…)

ارتقا non-cdb به اوراکل 21c با کمک قابلیت Replay Upgrade

همانطو که می دانید اوراکل در نسخه 21cء، Non-CDB را ساپورت نمی کند بنابرین برای ارتقا یک دیتابیس Non-CDB به نسخه 21c، ابتدا باید آن را به PDB تبدیل کرد و پس از آن، PDB را به نسخه 21c ارتقا داد.

قابلیت Replay Upgrade که از قابلیتهای جدید اوراکل در نسخه 21c است، این امکان را می دهد تا بخشهای از عملیات ارتقا Non-CDB به صورت خودکار انجام شود. برای مثال، بعد از plug کردن Non-CDB به یک دیتابیس CDB، نیازی به اجرای اسکریپت noncdb_to_pdb.sql نخواهد بود و در زمان open کردن PDB، نسخه PDB به 21c ارتقا پیدا خواهد کرد.

در ادامه این متن، مراحل ارتقا non-cdb از نسخه 18c به نسخه 21c را با کمک قابلیت Replay Upgrade مشاهده می کنید.

(بیشتر…)

بهبودی در فیچر Automatic In-Memory در اوراکل 21c

قبلا در مقاله ای قابلیت Automatic In-Memory که یکی از فیچرهای جدید اوراکل در نسخه 18c است را مورد بررسی قرار دادیم. همانطور که در “مقاله یاد شده” اشاره کردیم، قابلیت Automatic In-Memory از طریق پارامتر INMEMORY_AUTOMATIC_LEVEL کنترل می شود که در نسخه 18c در دو سطح LOW و MEDIUM قابل تنظیم است. در نسخه 21c می توان مقدار High را هم برای این پارامتر تنظیم کرد که در ادامه نکاتی را در این مورد ارائه خواهیم کرد.

 

Automatic In-Memory در سطح High

با تنظیم پارامتر INMEMORY_AUTOMATIC_LEVEL به مقدار High، خصیصه inmemory برای segmentهای غیر سیستمی دیتابیس به صورت INMEMORY MEMCOMPRESS AUTO فعال خواهد شد(به استثنای external table، IOTها و ایندکسها). البته اگر از قبل قابلیت INMEMORY برای سگمنتی تنظیم شده باشد، تغییری در خصیصه inmemory_compression آن ایجاد نخواهد شد.

(بیشتر…)

استفاده همزمان از EXCLUDE و INCLUDE در ابزارهای DataPump

از اوراکل نسخه 21c می توان پارامترهای EXCLUDE  و INCLUDE را در یک دستور بکار گرفت. در زمان استفاده همزمان از این دو پارامتر، اوراکل ابتدا پارامتر INCLUDE را در نظر گرفته و با پردازش مقدار آن، objectهایی که باید از آنها دامپ گرفته شود را مشخص می کند و در نهایت از بین این objectها، بر اساس پارامتر EXCLUDE، پردازش و فیلترینگ را انجام می دهد.

در ادامه مثالهایی را از نحوه استفاده همرمان این دو پارامتر مشاهده می کنید.

مثال 1: از همه جداولی که در اسکیمای usef قرار دارند و اسامی آنها با پیشوند TBL شروع می شود، دامپی گرفته شود به جز جدول TBL18:

(بیشتر…)

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.

(بیشتر…)