نصب Grid Infrastructure 19.25 روی Oracle Linux 9.5 با ASMLIB 3

همان‌طور که می‌دانید، در نسخه Oracle Linux 8.7 برای نصب ASMLIB ناچار بودیم نسخه کرنل را تنزل دهیم، زیرا امکان نصب ASMLIB روی آخرین نسخه کرنل وجود نداشت. اخیراً، Oracle نسخه ASMLIB 3 را ارائه کرده است که امکان نصب آن بر روی Oracle Linux 8 و 9 بدون هیچ محدودیتی فراهم شده است. این نسخه همچنین قابلیت‌های جدیدی دارد که در مستندات دیگری به آن‌ها خواهیم پرداخت.

در این مقاله، قصد داریم نحوه نصب Grid Infrastructure 19.25 روی Oracle Linux 9.5 با ASMLIB 3 را مستند کنیم.

(بیشتر…)

قابلیت Sessionless Transaction در اوراکل 23ai(23.6)

در پایگاه داده اوراکل، transaction به طور سنتی به session وابسته است و زمانی که یک session بسته می شود، transaction مرتبط با آن session هم خاتمه می‌یابد. از اوراکل 23ai (از 23.6 به بعد)، ویژگی Sessionless Transactions این امکان را فراهم می‌کند که این وابستگی بین session و transaction از بین برود و تراکنشها این امکان را داشته باشند که به حالت تعلیق درآیند و در session دیگری از سر گرفته شوند. 

به عبارتی دیگر، در قابلیت Sessionless Transactions، به هر تراکنش یک شناسه منحصربه‌فرد اختصاص داده می‌شود و حتی اگر sessionای که تراکنش را شروع کرده، بسته شود، تراکنش در پایگاه داده باقی می‌ماند و session دیگری میتواند آن را با استفاده از “شناسه منحصربه‌فرد آن” از سر بگیرد و ادامه دهد.

(بیشتر…)

DBMS_DEVELOPER در اوراکل 23ai(23.7)

در پایگاه داده اوراکل، برای استخراج متادیتای اشیا، می‌توانیم از پکیج DBMS_METADATA استفاده کنیم. این پکیج شامل بسیاری از توابع و روال‌های مفید است، مانند GET_DDL، GET_DEPENDENT_DDL و SET_TRANSFORM_PARAM. علاوه بر این، برخی ابزارها مانند SQLcl روش‌های خاص خود را برای استخراج متادیتا ارائه می‌دهند—به عنوان مثال، دستور DDL در ابزار SQLcl.

از نسخه 23.7 به بعد، اوراکل روش دیگری برای استخراج متادیتای اشیا معرفی کرده است. در این نسخه، می‌توانیم از DBMS_DEVELOPER در کنار DBMS_METADATA استفاده کنیم. DBMS_DEVELOPER کاربرپسند است و خروجی را در قالب JSON تولید می‌کند. این پکیج در حال حاضر تنها از TABLE، INDEX و VIEW پشتیبانی می‌کند، در حالی که DBMS_METADATA بسیار قدرتمندتر است و تقریباً از همه انواع اشیا پشتیبانی می‌کند.

DBMS_DEVELOPER تنها یک تابع به نام GET_METADATA دارد:

(بیشتر…)

Shrinking Smallfile Tablespaces in Oracle 23.7

As you may know, starting from Oracle 23ai, we can shrink permanent tablespaces. However, that was limited to bigfile tablespaces, and shrinking smallfile tablespaces was not possible. Although, by default, tablespaces are created as bigfile tablespace.

Now, in Oracle 23.7, shrinking smallfile tablespaces is possible and we can shrink these tablespaces using the dbms_space.tablespace_shrink procedure. This procedure executes familiar commands such as ‘alter table move online’ and ‘alter index rebuild’ to shrink smallfile tablespaces.

PROCEDURE SHRINK_TABLESPACE
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 TS_NAME                        VARCHAR2                IN
 SHRINK_MODE                    NUMBER                  IN     DEFAULT
 TARGET_SIZE                    NUMBER                  IN     DEFAULT
 SHRINK_RESULT                  CLOB                    OUT
 ITERATIONS                     NUMBER                  IN     DEFAULT  

(بیشتر…)

اوراکل 23ai – مشاهده سابقه دسترسی به جداول

از اوراکل 23ai ویوی جدیدی به نام [dba|all|user]_table_access_stats ارائه شد که بر اساس آن می توان سابقه دستیابی به جداول و پارتیشنها را مشاهده کرد. هر جدول و یا پارتیشن در هر instance چند بار scan شده و تاریخ آخرین دسترسی به جدول در چه زمانی بوده است.

SQL> create table jadval(id number,name varchar2(100), last_name varchar2(100));
Table created.
SQL> insert into jadval values(1,'payan','rafat');
1 row created.
SQL> select TABLE_NAME,PARTITION_NAME,INSTANCE_ID,READ_COUNT,LAST_ACCESSED_TIME from user_table_access_stats;
no rows selected
SQL> select * from jadval;
        ID NAME    LAST_NA
---------- ------- -------
         1 payan   rafat
SQL> select TABLE_NAME,PARTITION_NAME,INSTANCE_ID,READ_COUNT,LAST_ACCESSED_TIME from user_table_access_stats;
TABLE_NAME PARTITION_NAME  INSTANCE_ID READ_COUNT LAST_ACCESSED_TIME
---------- --------------- ----------- ---------- -------------------------
JADVAL                               1          2 01-JAN-25 08.27.33 AM
SQL> select * from jadval;
        ID NAME    LAST_NA
---------- ------- -------
         1 payan   rafat
SQL> select TABLE_NAME,PARTITION_NAME,INSTANCE_ID,READ_COUNT,LAST_ACCESSED_TIME from user_table_access_stats;
TABLE_NAME PARTITION_NAME  INSTANCE_ID READ_COUNT LAST_ACCESSED_TIME
---------- --------------- ----------- ---------- -------------------------
JADVAL                               1          3 01-JAN-25 08.28.25 AM

(بیشتر…)

Data Redaction و بهبودی برای viewها – اوراکل 23.6

اوراکل در نسخه 23.6 قابلیتهای جدیدی را در زمینه Data Redaction ارائه کرده است که یکی از این قابلیتها، پشتیبانی از Data Redaction در سطح view هست. در نسخه های قبلی، اگر در اجرای یک view به ستون Redact شده ای رجوع می شد، با خطای ORA-28094: SQL construct not supported by data reduction مواجه می شدیم اما در نسخه 23ai این قبیل Viewها را می توان بدون خطا اجرا کرد. در ادامه با سناریویی این مسئله را در دو نسخه 21c و 23ai بررسی می کنیم.

در ابتدا جدولی را ایجاد می کنیم:

SQL> create table tb(id number,name varchar2(14),last_name varchar2(14),salary number);
Table created
SQL> insert into tb values(1,’Ali’,’Geraili’,9850000);
1 row inserted
SQL> commit;
Commit complete

(بیشتر…)