پشتیانی 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 ایندکس ها و روش استفاده مناسب از آن توضیح داده می شود.

(بیشتر…)

عملیات 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 خواهیم پرداخت.

(بیشتر…)