همانطور که می دانیم ساختار زبان PL/SQL بر پایه بلاک(BLOCK) است یعنی برنامه های PL/SQL به قسمت هایی از کد به نام بلاک تقسیم بندی می شوند. در ادامه اجزای یک بلاک را توضیح می دهیم.
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) را هم در خود ذخیره می کنند. زمانی که در دستورات 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(و یا نسخه های بالاتر) را به این نسخه از سیستم عامل اضافه کرد که در ادامه این کار را انجام خواهیم داد.
VIEW در دیتابیس اوراکل
VIEW یکی از OBJECT های دیتابیس اوراکل است که در این متن روش ساخت و استفاده از آن را توضیح می دهیم.