Mandatory Profile در اوراکل 21c

همانطور که می دانید از طریق پروفایل می توان برای هر کاربر در دو سطح مصرف منابع و password complexity محدودیتهایی را اعمال کرد. پروفایلها در سطح کاربر قابل تنظیم هستند و هر کاربر می تواند تنها یک پرفایل داشته باشد.

در اوراکل 21c نوع جدیدی از پروفایل تحت عنوان Mandatory Profile ارائه شد که در سطح root container قابل ایجاد است و می توان این دسته از پروفایلها را برای یک یا چند pdb تنظیم کرد که در این صورت، پالیسی مربوط به این پروفایل، برای همه کاربران موجود در آن pdb اعمال خواهد شد.

Mandatory Profile صرفا قرار است در زمینه تنظیم پسورد برای کاربران محدودیت ایجاد کند به این صورت که مثلا پسورد کاربر حداقل n کارکتر داشته باشد. این قبیل محدودیتها از طریق ایجاد یک FUNCTION و تنظیم پارامتر PASSWORD_VERIFY_FUNCTION(در پروفایل) قابل اعمال هستند.

(بیشتر…)

اوراکل 21c – اعمال فوری تغییرات در Unified Audit Policy

تا قبل از اوراکل نسخه 21c، هرگونه تغییر در یک Unified Audit Policy، برای sessionهای متصل به دیتابیس اعمال نمی شد و برای اثرپذیری فوری تغییرات audit policy، باید کاربران متصل به دیتابیس را مجبور به log out کرد تا بعد از اتصال مجدد به دیتابیس، مطابق با قوانین جدید audit شوند. این محدودیت را در سناریوی زیر توضیح دادیم.

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

–session 1:

SQL> create user vahid identified by a;

User created.

SQL> grant create session to vahid;

Grant succeeded.

SQL> grant select on usef.tbl1 to vahid;

Grant succeeded.

SQL> create audit policy audpolselect actions select on usef.tbl1;

Audit policy created.

–session 2:

SQL> conn vahid/a@192.168.56.22:1521/pdb1

Connected.

–session 1:

SQL> audit policy audpolselect by vahid;

Audit succeeded

–session 2:

SQL> show user

USER is “VAHID”

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

  COUNT(*)

———-

         3

فعال شدن audit policy قبل از اجرای دستور select، منجر به audit کاربر vahid نخواهد شد:

SQL> select dbusername,action_name,unified_audit_policies from unified_audit_trail where unified_audit_policies like ‘%AUDPOLSELECT%’;

no rows selected

(بیشتر…)

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 زیر امکان پذیر کرده است:

(بیشتر…)

اوراکل 21c – آماده سازی مقدمات راه اندازی دیتاگارد با Broker

در اوراکل 21c می توان با کمک Data Guard Broker محیط دیتابیس primary را برای راه اندازی Data Gaurd آماده کرد. قرار دادن دیتابیس در مود archivelog، فعال کردن force logging، تنظیم پارامترها، ایجاد Standby Redo Log و … صرفا با اجرای یک دستور در محیط Broker انجام می شود. این دستور PREPARE DATABASE FOR DATA GUARD است که در قسمت زیر نحوه اجرای آن را به همراه عملیاتی که انجام می دهد، مشاهده می کنید:

DGMGRL> PREPARE DATABASE FOR DATA GUARD WITH DB_UNIQUE_NAME IS db21c

DB_RECOVERY_FILE_DEST_SIZE is “550G”

DB_RECOVERY_FILE_DEST is “/oracle21c/FRA”;

(بیشتر…)

اوراکل 21c- مقایسه explain plan با کمک تابع compare_explain

در اوراکل 21c تابعی با نام compare_explain به dbms_xplan اضافه شد که امکان مقایسه بین explain planهای دو دستور را فراهم می کند. در قسمت انتهایی گزارش(Comparison Results) این تابع، تفاوت دو plan نمایش داده خواهد شد.

مثال زیر را ببینید.

SQL> create table mytbl as select * from dba_objects;

Table created

SQL> create index ind1_object_id on mytbl(object_id);

Index created

SQL> explain plan  set statement_id = ‘Plan1’  for select /*+ full(mytbl) */ * from mytbl where object_id=9;

Explained

SQL> explain plan  set statement_id = ‘Plan2’ for select /*+ index(mytbl) */ * from mytbl where object_id=9;   

Explained

SQL> VARIABLE varvar1 varchar2(9000)

SQL> exec :varvar1 := dbms_xplan.compare_explain(‘Plan1′,’Plan2’);

PL/SQL procedure successfully completed.

(بیشتر…)

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) سیاستهایی را اعمال کرد.

(بیشتر…)