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

(بیشتر…)

قابلیت 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 قرار دهد البته با این شرط که شی جدید، بسیار پر استفاده باشد.

(بیشتر…)

فیکس کردن plan بعضی از دستورات بعد از ارتقای دیتابیس

بعد از ارتقای دیتابیس به نسخه ای بالاتر، ممکن است زمان اجرای بعضی از پرس و جوها افزایش پیدا کند. این کندی می تواند به تغییراتی که در رفتار optimizer در هر نسخه از اوراکل ایجاد می شود، برگردد.

در جدول زیر اسامی تعدادی از قابلیتهایی که توسط optimizer در نسخه 11g و 12c قابل استفاده است را مشاهده می کنید:

در این متن به دنبال روشی هستیم که تغییر رفتار optimizer، در دو نسخه مختلف اوراکل را برای یک پرس و جوی مشخص نمایش داده و سپس با کمک قابلیت SQL Plan Management، پلن اجرایی ایجاد شده توسط optimizer، در یکی از این نسخه ها را برای پرس و جوی مورد نظر، فیکس کنیم.

(بیشتر…)

راهنمای نصب Oracle GoldenGate 18c

جهت نصب ابتدا می بایست oracle database  در سیستم مورد نظر نصب شده باشد شایان ذکر است نسخه فوق پایین تر از نسخه 11g نباشد.

این نسخه از Oracle GoldenGate نسخه های پایگاده داده ذیل را پشتیبانی می کند:

Oracle 11g – 11.2.0.4

Oracle 12c – 12.1.0.2+, 12.2.0.1+

Oracle 18c – 18.1.0 (Cloud), 18.3.0 (On-Premise)

(بیشتر…)

ارسال unified audit trail به syslog و Event Viewer(اوراکل 18c/19c)

در اوراکل 18c، پارامتری به نام UNIFIED_AUDIT_SYSTEMLOG اضافه شد که امکان نوشتن unified audit trail را در محیط سیستم عامل فراهم می کند با این قابلیت می توان فیلدهای کلیدی unified audit trail را در محیط لینوکس به syslog و در محیط ویندوز به Event Viewer فرستاد.

SQL>  show parameter unified_audit_systemlog

NAME                                   TYPE       VALUE

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

unified_audit_systemlog             string

قصد داریم با طی چند مرحله، این قابلیت را در محیط لینوکس پیکربندی کنیم.

(بیشتر…)

تاثیر عملیات NOLOGGING در دیتاگارد(اوراکل 11g و 12c و 18c)

یکی از مراحل پیکربندی دیتاگارد، قراردادن دیتابیس در حالت force logging می باشد این کار سبب خواهد شد تا کاربران امکان اجرای عملیات را به صورت Nologging نداشته باشند و در نتیجه، همه اطلاعاتی که در دیتابیس اصلی درج می شود، به دیتاگارد هم منتقل خواهد شد.

با در نظر داشتن این مسئله، اگر دیتابیس اصلی در حالت force logging قرار نگیرد، تکلیف عملیات Nologging در دیتاگارد چه خواهد شد و برای رفع بلاکهای خراب یا اصطلاحا nonlogged چه عملیاتی را باید در دیتاگارد انجام داد؟

پاسخ به این سوال، در نسخه های مختلف اوراکل، متفاوت خواهد بود که در ادامه، به بررسی این مسئله در نسخه های 11g، 12c و 18c خواهیم پرداخت.

(بیشتر…)

ویژگی Schema Only Accounts در اوراکل 18c و 19c

در نسخه های ماقبل اوراکل 18c، ایجاد یک user تنها با تعیین متد AUTHENTICATION آن امکان پذیر است و به صورت کلی، در این نسخه ها(12c,11g,10g)، سه متد AUTHENTICATION برای کاربران وجود دارد:

Password: create user usef1 identified by password;

External: create user usef2 identified externally;

Global: create user usef3 identified globally;

در صورت استفاده از متد Password، شکل hash شده پسورد کاربر در جدولی از بانک ذخیره شده(جدول $user) و در دو حالت دیگر(External – Global)، پسوردی از کاربر در دیتابیس ذخیره نخواهد شد و AUTHENTICATION خارج از دیتابیس انجام می شود.

اوراکل 18c با ارائه یک قابلیت جدید، امکان ساخت user را بدون تعیین متد AUTHENTICATION فراهم کرد که استفاده از این قابلیت، منتج به عدم امکان لاگین مستقیم به این نوع از کاربران خواهد شد.

(بیشتر…)

ویژگی های جدید اوراکل در نسخه 18c

1.رفع گپ استندبای در اوراکل 18c

2.PDB switchover

3.استفاده از Preplugin Backup

4.duplicate یک pdb در cdb دیگر

5.نصب اوراکل با کمک RPM

6.اجرای دستورات DMLای در محیط دیتاگارد(اوراکل 19c و 18c)

7.ویژگی Schema Only Accounts در اوراکل 18c و 19c

8.تاثیر عملیات NOLOGGING در دیتاگارد(اوراکل 11g و 12c و 18c)

9.ارسال unified audit trail به syslog و Event Viewer

10.عدم استفاده از symbolic linkها در زمان ساخت directory(اوراکل 18c)

اجرای دستورات DMLای در محیط دیتاگارد(اوراکل 19c و 18c)

تا قبل از اوراکل نسخه 18c، انجام عملیات DMLای در محیط (Active Data Guard(ADG، صرفا برای جداول از نوع global temporary table قابل انجام بود و هرگونه اجرای دستور DMLای بر روی جداول سیستمی و applicationای، جز در حالت snapshot standby، امکان پذیر نبود.

در اوراکل 18c، با ارائه دو پارامتر مخفی به نامهای enable_proxy_adg_redirect_ و ADG_REDIRECT_FLAGS_، امکان اجرای دستورات DMLای در محیط دیتاگارد فراهم شد. مثال زیر را ببینید.

(بیشتر…)

نصب اوراکل 18c با کمک RPM

در این متن قصد داریم به شیوه نصب اوراکل 18c با کمک RPM بپردازیم. قبل از نصب نرم افزار، باید بسته های مورد نیاز را در سطح سیستم عامل نصب کرده و مقدمات لازم را برای نصب نرم افزار فراهم کنیم.

(بیشتر…)