ویووهای Dynamic Performance و Data Dictionary در دیتابیس اوراکل

view یکی از OBJECT های دیتابیس اوراکل است که روش ساخت و استفاده از آن را در متن “VIEW در دیتابیس اوراکل” توضیح دادیم. دو دسته ویوو در دیتابیس اوراکل وجود دارد که بعد از ایجاد دیتابیس به صورت اتوماتیک ساخته می شوند و با  استفاده از PUBLIC SYNONYM در اختیار کاربران دیتابیس قرار می گیرند.

این ویووها که به صورت دائمی توسط دیتابیس اوراکل بروزرسانی می شوند شامل اطلاعات کلی OBJECTها و اجزای دیتابیس هستند.

یک دسته از این ویووها Dynamic Performance است که نام آنها معمولا با $V یا $GV شروع می شود. دسته دیگر ویووهای دیتادیکشنری (Data Dictionary) هستند.

در ادامه تفاوت این دو دسته از viewها را توضیح می دهیم.

(بیشتر…)

اجرای دستورات DDLای از طریق DBLINK

برای اجرای دستورات DDLای از طریق Database Link می توان از پروسیجر dbms_utility.exec_ddl_statement استفاده کرد. مثالهای زیر را ببینید:

مثال 1:

SQL> exec dbms_utility.exec_ddl_statement@dblink(‘drop table EXCHTBL2’);

PL/SQL procedure successfully completed

 

SQL> exec dbms_utility.exec_ddl_statement@dblink(‘drop table EXCHTBL2’);

ORA-00942: table or view does not exist

مثال 2:

SQL> declare

  2  stmt varchar2(4000);

  3  begin

  4  stmt:=’create user ali identified by a’;

  5  execute immediate ‘begin dbms_utility.exec_ddl_statement@dblink(:stmt);end;’ using stmt;

  6  end;

  7  /

PL/SQL procedure successfully completed

 

SQL> /

ORA-01920: user name ‘ALI’ conflicts with another user or role name

پارامتر MAX_IDLE_BLOCKER_TIME در اوراکل 19c

با تنظیم پارامتر MAX_IDLE_BLOCKER_TIME می توان sessionای که رکورد(به صورت کلی منبعی را) در اختیار گرفته و در پی آن منجر به block شدن session دیگری شده است را بعد از مدتی زمان مشخصی، kill کرد البته با این شرط که این session(ه blocker) در این مدت زمان، idle باشد.

برای مثال، با اجرای دستور زیر، blocker بعد از آنکه به مدت یک دقیقه در وضعیت idle قرار بگیرد، kill خواهد شد.

(بیشتر…)

ویژگی 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(و یا نسخه های بالاتر) را به این نسخه از سیستم عامل اضافه کرد که در ادامه این کار را انجام خواهیم داد.

(بیشتر…)

قابلیت Automatic In-Memory در اوراکل 18c

قبلا در مطلب “ADO و مدیریت in-memory” بیان شد که چگونه می توان در سطوح مختلف(SET INMEMORY، MODIFY INMEMORY و NO INMEMORY) پالیسیهایی را به objectهایی که خصیصه inmmory برای انها فعال  شده است، اضافه کرد.

این پالیسها سبب می شد تا پس از گذشت مدتی زمانی از ایجاد، آخرین اصلاح و یا آخرین زمان دسترسی، خصیصه inememory برای objectای تنظیم یا حذف شود و یا آنکه سطح فشرده سازی شی در inememory تغییر کند. این قابلیت(“مدیریت in-memory از طریق ADO“) در اوراکل 12cR2 ارائه شده بود.

در نسخه 18c، اوراکل بهبود دیگری را در این زمینه ایجاد کرد. به این صورت که اگر قصد بارگذاری شی جدیدی را در inmemory داشته باشیم ولی فضای inmemory برای این کار کافی نباشد، اوراکل می تواند با کمک قابلیت  Automatic In-Memory که به اختصار، AIM هم شناخته می شود، objectهای که کمتر به آنها رجوع شده را از طریق آمارها شناسایی کند(نیازی به فعال کردن Heat Map نخواهد بود) و آنها را از inmemory خارج کند تا بتواند شی جدید را در inmemory قرار دهد البته با این شرط که شی جدید، بسیار پر استفاده باشد.

(بیشتر…)

ابزارهای گرافیکی برای کار با دیتابیس اوراکل

زمانی که برخی از بانک های اطلاعاتی مانند SQL SERVER را نصب می کنیم، همراه با دیتابیس یک ابزار گرافیکی مناسب نصب می شود که می توانیم با استفاده از آن به بانک اطلاعاتی مقصد متصل شویم و دستورات مختلف را اجرا کنیم. اما در پکیج نصب دیتابیس اوراکل ابزار گرافیکی مناسب وجود ندارد و باید به صورت مجزا این ابزار را تهیه و نصب کنیم. علاوه بر مدیران دیتابیس، برنامه نویسان و توسعه دهندگان هم نیازمند یک ابزار گرافیکی جهت پیش برد پروژه های خود هستند.

در ادامه سه مورد از ابزارهای گرافیکی پرکاربرد را معرفی می کنیم. همچنین روش پیکربندی آنها و نحوه اتصال این ابزار به دیتابیس اوراکل توضیح داده می شود. برای مشاهده کاراکترها و متن های فارسی در دیتابیس اوراکل بهتر است تنظیماتی در سطح سیستم عامل و ابزار گرافیکی انجام شود که آنها را در این متن عنوان می کنیم.

(بیشتر…)