KEEP AUXILIARY در اوراکل 19c

همانطور که می دانید ایجاد دستی و یا خودکار Auxiliary Instance در زمان انجام عملیاتی چون Duplicate، PDB Point-in-Time Recovery، Table Point-in-Time Recovery و … الزامی می باشد البته با انجام هر کدام از این عملیاتها، Auxiliary Instance حذف خواهد شد و امکان استفاده از استفاده از این instance به صورت کلی از بین خواهد رفت.

(بیشتر…)

نکته ای در مورد elapsed_time برای parallel queyها

در گزارش AWR و همچنین ویوهایی نظیر V$SQLه، elapsed_timeای که برای parallel queryها نمایش داده می شود، جمع بین زمان سپری شدهquery coordinator و parallel query slaveها می باشد از این جهت، نباید این عدد را با elapsed_time واقعی پرس و جو اشتباه گرفت.

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

SQL> select /*+parallel(3)*/ sum(id),sum(code),avg(count) from usef.myview;

   SUM(ID)  SUM(CODE) AVG(COUNT)

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

 713031680 3548381184 68.1508522

Elapsed: 00:01:18.89

SQL> /

   SUM(ID)  SUM(CODE) AVG(COUNT)

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

 713031680 3548381184 68.1508522

SQL> /

Elapsed: 00:01:17.08

SQL> /

   SUM(ID)  SUM(CODE) AVG(COUNT)

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

 713031680 3548381184 68.1508522

Elapsed: 00:01:17.94

پس از اجرای دستورات فوق، در گزارش AWR خواهیم دید که Elapsed Time برای query اجرا شده برابر با 228 ثانیه می باشد در صورتی که این query در مدت زمان80 ثانیه(حدودا) اجرا شده است:

 

زبان های SQL و PL/SQL و تفاوت آنها

SQL(مخفف STRUCTURED QUERY LANGUAGE) یک زبان قدرتمند ولی ساده برای کار با بانک های اطلاعاتی است. SQL در ابتدا توسط شرکت IBM پیاده سازی شده است. در ادامه موسسه جهانی استاندارد، زبان SQL را به عنوان یک زبان رابطه ای برای کار با دیتابیس های از نوع رابطه ای تعیین کرده است. بنابراین زبان SQL به طور کامل مطابق با استانداردهای جهانی است.

(بیشتر…)

ویژگی Automatic Flashback(or PITR) Standby در اوراکل 19c

از اوراکل 19c با اجرای دستور flashback database و یا انجام عملیات point in time recovery در محیط دیتابیس اصلی(primary)؛ دیتاگارد هم به صورت خودکار flashback خواهد شد و از حالت sync با primary خارج نمی شود(البته در صورت فعال بودن قابلیت flashback). این قابلیت با کمک پارامتر مخفی standby_auto_flashback_ قابل مدیریت است.

در ادامه متن زیر، با اجرای دستور flashback database و همچنین انجام PITR در محیط primary، رفتار دیتاگارد را در دو نسخه 18c و 19c مقایسه می کنیم.

(بیشتر…)

GLOBAL TEMPORARY TABLE در دیتابیس اوراکل

گاهی اوقات در اجرای دستورات پیچیده SQL نیاز به نگه داری موقت اطلاعات برای محاسبه نتایج نهایی می باشد که می توان در این مواقع از جدول های TEMPORARY در دیتابیس اوراکل کمک گرفت. استفاده از این جدول ها می تواند سبب افزایش سرعت اجرای دستورات SQL شود. این جداول با نام مخفف GTT(GLOBAL TEMPORARY TABLE) شناخته می شوند.

(بیشتر…)

دو راهکار برای اجرای سریع تر shutdown immediate

همانطور که می دانید، در هنگام اجرای دستور shutdown immediate، بک گراند پروسس SMON باید تراکنشهای در حال اجرا را rollback کند و همچنین این بک گراند پروسس، Temporary segmentها را در صورت وجود پاکسازی کند.

برای تسریع در اجرای دستور shutdown immediate، می توان از طریق eventای؛ SMON را از انجام این دو وظیفه منصرف نمود و انجام آنها را به بعد از استارت بعدی دیتابیس موکول کرد.

(بیشتر…)

INDEX در دیتابیس اوراکل

INDEX یکی از OBJECTهای دیتابیس اوراکل است که می توان به منظور افزایش سرعت اجرای دستورات از آن استفاده نمود. ایندکسها روی ستون های جدول تعریف می شوند و معمولا آدرس فیزیکی رکورد(rowid) را هم در خود ذخیره می کنند(به استثنای ایندکسهای unique). زمانی که در دستورات SELECT و یا حتی در مواردی دستورات DMLای بر روی یک ستون از جدول برای دسترسی به سطر های خاص جستجو می شود میتوان با استفاده از rowid سرعت دستیابی به آن سطر را افزایش می یابد.

(بیشتر…)

نصب اوراکل 19c بر روی اوراکل لینوکس 6 با بروزرسانی GLIBC

همانطور که می دانید، اوراکل از نصب نسخه 19c بر روی سیستم عامل Oracle Linux 6.X پیشتیانی نمی کند این مسئله به پایین بودن نسخه GLIBC(GNU libc) موجود در این نسخه از سیستم عامل برمی گردد:

 [root@ol6 ~]# cat /etc/issue

Oracle Linux Server release 6.7

[oracle@ol6 home]$ ./runInstaller

/19c/home/perl/bin/perl: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by /19c/home/perl/bin/perl)

در متن خطا می بینیم که این مشکل به دلیل نبود GLIBC نسخه 2.14 رخ داده است. برای حل این مسئله، می توان GLIBC_2.14(و یا نسخه های بالاتر) را به این نسخه از سیستم عامل اضافه کرد که در ادامه این کار را انجام خواهیم داد.

(بیشتر…)

External Table و In-Memory – اوراکل 18c

تا قبل از اوراکل 18c، امکان استفاده از قابلیت in memory برای جداول از نوع external وجود نداشت:

SQL*Plus: Release 12.2.0.1.0 Production on Mon May 18 12:05:36 2020

SQL> alter table mytbl inmemory;

ORA-30657: operation not supported on external organized table

این قابلیت در اوراکل 18c برای محیط exadata ارائه شد.

Connected to Oracle Database 18c Enterprise Edition Release 18.0.0.0.0

 SQL> alter table mytbl inmemory;

ORA-12755: Feature In-Memory External Tables is disabled due to unsupported capability.

SQL> alter system set “_exadata_feature_on”=true scope=spfile;

System altered.

SQL> startup force;

SQL> alter table mytbl inmemory;

Table altered

SQL> SELECT table_name, inmemory, inmemory_compression FROM user_external_tables;

TABLE_NAME   INMEMORY    INMEMORY_COMPRESSION

———–  ———  ———————-

MYTBL        ENABLED        FOR QUERY LOW

(بیشتر…)