Attention Log در اوراکل 21c

همانطور که می دانید یکی از وظایف روزانه DBA، چک کردن پیامهای ثبت شده در Alert Log است بررسی محتویات این فایل به ویژه در زمان troubleshooting، نباید توسط DBA نادیده گرفته شود چرا که بعضا خطاها به وضوح در این فایل ثبت می شوند البته علاوه بر خطاها، پیامهای دیگری نظیر log switchها هم در این فایل موجود هستند که ممکن است سبب افزایش حجم و در نتیجه افزایش زمان پیمایش و جستجو در این فایل شوند.

اوراکل در نسخه 21c در کنار فایل alert log، فایل دیگری را با عنوان attention log ایجاد می کند که در ان پیامهای با درجه اهمیت بالاتر در دسته بندی های مختلف وفرمتی خواناتر(نسبت به alert log) ثبت می شوند تا DBA بتواند سریعتر متوجه بعضی از وقایع مهم شود. نمونه ای از این پیامها را در قسمت زیر مشاهده می کنید:

 [root@oLinux7 trace]# less attention_db21c.log

{

  “ERROR”        : “DBW0 (ospid: 21898): terminating the instance due to ORA error 472“,

  “URGENCY”      : “IMMEDIATE“,

  “INFO”         : “Additional Information Not Available”,

  “CAUSE”        : “The instance termination routine was called”,

  “ACTION”       : “Check alert log for more information relating to instance termination rectify the error and restart the instance”,

  “CLASS”        : “CDB Instance / CDB ADMINISTRATOR / AL-1003”,

  “TIME”         : “2021-09-23T01:24:01.602-04:00”

}

(بیشتر…)

آزاد کردن فضای استفاده نشده SecureFile در اوراکل 21c

همانطور که می دانید، LOBها از اوراکل نسخه 11g به دو فرمت BasicFile و SecureFile قابل ایجاد هستند که به دلیل مزیتهای SecureFile(قابلیتهایی نظیر compression، deduplication و encryption)، اوراکل از نسخه 12cء، LOBها را به صورت پیش فرض با این فرمت(SecureFile) ایجاد می کند.

البته تا قبل از اوراکل 21cء،  BasicFile LOBها هم مزیتی را نسبت به SecureFile داشتند که عملیات shrink به صورت انلاین برای این نوع از LOBها(BasicFile) قابل انجام بود در صورتی که برای آزاد کردن فضای استفاده نشده SecureFile، به ناچار باید LOB را بازسازی کرد(با روشهایی چون alter table move و expdp/impdp و … که همه این روشها نیاز به downtime نسبتا زیاد دارند).

در نسخه 21c، به عنوان یک قابلیت جدید، اوراکل به صورت خودکار عملیات shrink این دسته از LOBها(SecureFile) را بر اساس توصیه های Oracle Segment Advisor انجام می دهد و البته DBA هم می تواند به صورت دستی SecureFile LOBها را shrink کند.

با دنبال کردن سناریوی زیر، بیشتر با این قابلیت آشنا خواهیم شد.  

(بیشتر…)

اوراکل 21c – اضافه شدن resource برای pdb در Grid Infrastracture

اوراکل 21c در محیط Grid Infrastructure، نوع جدیدی از Resource را تحت عنوان ora.pdb.type اضافه کرده است که از طریق آن می توان pdbها را مدیریت کرد. این نوع از Resourceها، به فرمت زیر نام گذاری می شوند:

ora.<DB Unique Name>.<PDB Name>.pdb

همانند دیگر Resourceهای موجود در محیط کلاستر و GI، می توان Resourceهای مربوط به PDB را از طریق ابزار srvctl کنترل و مدیریت کرد. مثلا می توان از طریق این ابزار، PDB را stop و یا start کرد:

[grid@RAC3 ~]$ srvctl start pdb -db db21c -pdb pdb1

[grid@RAC3 ~]$ srvctl status pdb -db db21c -pdb pdb1

Pluggable database PDB1 is enabled.

Pluggable database PDB1 of database db21c is running on nodes: rac2,rac3

[grid@RAC3 ~]$ srvctl stop pdb -db db21c -pdb pdb1

[grid@RAC3 ~]$ srvctl status pdb -db db21c -pdb pdb1

Pluggable database PDB1 is enabled.

Pluggable database PDB1 of database db21c is not running.

 [oracle@RAC2 ~]$ srvctl stop pdb -db db21c -pdb pdb1 -n rac3 -stopoption IMMEDIATE

(بیشتر…)

پشتیانی Flashback Database از Shrink Datafile در اوراکل 21c

تا قبل از اوراکل 21c، امکان flashback کردن دیتابیس به نقطه ای قبل از عملیات shrink datafile وجود نداشت:

SQL*Plus: Release 19.0.0.0.0 – Production on Wed Sep 15 17:25:54 2021

Version 19.9.0.0.0

SQL> select current_scn,flashback_on from v$database;

CURRENT_SCN FLASHBACK_ON

———– ——————

    2557655 YES

SQL> select bytes from v$datafile where file#=1;

     BYTES

———-

 999153664

SQL> alter database datafile 1 resize 996147200;

Database altered.

SQL> startup mount force;

ORACLE instance started.

Total System Global Area 2.0200E+10 bytes

Fixed Size                 19766544 bytes

Variable Size            2617245696 bytes

Database Buffers         1.7515E+10 bytes

Redo Buffers               47341568 bytes

Database mounted.

SQL>  flashback database to scn 2557655;

ORA-38766: cannot flashback data file 1; file resized smaller

ORA-01110: data file 1:

‘/oracle19cR9/base/oradata/DB19R9/datafile/o1_mf_system_jn3s5rmk_.dbf’

(بیشتر…)

rotate خودکار فایل های Alert Log در اوراکل 21c

همانطور که می دانید اوراکل فایلهای Alert Log را به دو فرمت xml(در دایرکتوری diag/../alert) و text(در دایرکتوری diag/../trace) ایجاد می کند و در این فایلها، اطلاعاتی در مورد عملیات log switch، تنظیم پارامتر ها، پیامهای مربوط به startup و shutdown دیتابیس و همچنین گزارش بعضی از خطهای دیتابیسی و … را  ثبت می کند.

[root@oLinux7 trace]# ls *alert*

alert_db21c.log

 [root@oLinux7 alert]# ls log*

log.xml

این فایلها مستعد رشد هستند و در صورت عدم مداخله DBA ممکن است حجم آنها به چند گیگابایت برسد و تا قبل از اوراکل نسخه 21cء، rotation خودکاری برای این فایلها انجام نخواهد شد.

در نسخه 21c قابلیت rotate خودکار این فایلها توسط اوراکل به وجود آمد و اوراکل مدیریت عملیات rotate را با ارائه سه hidden parameter زیر امکان پذیر کرده است:

(بیشتر…)

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 قرار دهیم.

(بیشتر…)

ویژگی 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ی هم نداشته باشیم(در زمان تغییر پسورد کاربر).

(بیشتر…)

آموزش نصب و راه‌اندازی اوراکل نسخه 21c

قبل از پرداختن به مقدمات نصب اوراکل 21cR3، لازم است نکات زیر را در نظر داشته باشید:

1.اوراکل نسخه 21c در سیستم عامل اوراکل لینوکس خانواده 8 با حداقل نسخه 8.2 قابل نصب است مضاف بر آن، این نرم افزار بر روی اوراکل لینوکس خانواده 7 هم نصب می شود البته مطابق با مستندات اوراکل، نصب اوراکل 21cR3 در نسخه های ماقبل Oracle Linux 7.4 امکان پذیر نیست.

2.برای نصب نرم افزار اوراکل، فضای RAM حداقل باید 1GB باشد البته توصیه اوراکل بر 2GB است.

3.برای نصب نرم افزار اوراکل(بدون ایجاد دیتابیس) به صورت Enterprise Edition حداقل به 7.8GB فضای دیسک نیاز است البته اوراکل توصیه می کند برای patchهای احتمالی که ممکن است بر روی این نرم افزار اعمال شوند، فضای آزاد دیسک را به 100GB افزایش دهیم.

4.فضای SWAP بهتر است با فرمول زیر محاسبه شود:

Between 1 GB and 2 GB: 1.5 times the size of the RAM
Between 2 GB and 16 GB: Equal to the size of the RAM
More than 16 GB: 16 GB

5.فضای آزاد TEMP حداقل باید 1GB باشد.

(بیشتر…)

REBUILD کردن ایندکسها

یکی از روش های بهبود پرفورمنس در دیتابیس اوراکل استفاده از قابلیت REBUILD کردن ایندکس ها است. REBUILD کردن ایندکس هایی که با روشی مناسب انتخاب می شوند می تواند پرفورمنس دیتابیس را به طور قابل ملاحظه ای بهبود دهد. البته عملیات آنالیز و REBUILD ایندکس زمانبر بوده و سربار ایجاد می کند. در این متن REBUILD ایندکس ها و روش استفاده مناسب از آن توضیح داده می شود.

(بیشتر…)