Substitution Variableهای جدید برای expdp/impdp

در زمان تهیه دامپ به صورت همروند، خروجی دامپ در فایلهای متعددی قرار خواهد گرفت که در نسخه های قبل از 12cR2، اسامی هر کدام از این فایلها با کمک متغیر %U و با یک شماره از هم متمایز می شد به عبارت دیگر، ایجاد دامپ همروند تنها از طریق این Substitution Variable قابل انجام بود:

 expdp \’sys/sy AS SYSDBA\’  directory=dr dumpfile=dump_%U.dmp schemas=usef parallel=4

 Export: Release 11.2.0.4.0 – Production on Sun Apr 15 16:33:35 2018

Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:

/u01/oracle/dump_01.dmp

/u01/oracle/dump_02.dmp

/u01/oracle/dump_03.dmp

(بیشتر…)

ستونهای VC_* در ویوهای data dictionary

همانطور که می دانید، تعدادی از فیلدهای مربوط به ویوهای data dictionary، هنوز(در اوراکل 18c) از نوع long می باشند. برای مثال، فیلد text در ویوی USER_VIEWS از این دسته می باشد:

SQL> desc USER_VIEWS

Name                          Type                     Comments                                                                

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

VIEW_NAME          VARCHAR2(128)          Name of the view

TEXT_LENGTH        NUMBER                    Length of the view text

TEXT                       LONG                         View text      

(بیشتر…)

پروسس LREG در اوراکل 12c

همانطور که می دانید در نسخه های 10g و 11g، پروسس pmon مسئولیت dynamic registration را بر عهده دارد علاوه بر این وظیفه، این پروسس به عنوان یک background process اجباری، نقشهای بسیار مهم دیگری را هم ایفا می کند که با از بین بردن(kill) آن، instance هم از کار خواهد افتاد.

(بیشتر…)

تهیه گزارش AWR در محیط ADG

همانطور که می دانید؛ ایجاد گزارش awr در محیط ADG به صورت روتین امکان پذیر نمی باشد این اتفاق به دلیل عدم امکان ایجاد snapshot بر روی بانکی که در حالت read only قرار دارد، کاملا منطقی بنظر می رسد. در اوراکل 12cR2، راهکاری برای این مسئله اندیشیده شد و امکان تهیه این گزارش برای ADG هم فراهم شده است.

(بیشتر…)

مانیتورینگ ایندکسها در اوراکل 11g و 12c

#پرسش: کدام یک از ایندکسها در بانک اطلاعاتی بلاستفاده و قابل حذف هستند؟ تعداد رجوع به یک ایندکس را چگونه می توان تعیین کرد؟

پاسخ: دست یافتن به پاسخ قسمت اول این سوال، در اوراکل نسخه 10g و 11g نسبتا کار ساده ای است این کار با اجرای یک دستور و همچنین طول کشیدن مدت زمانی از اجرای ان(گاها بیش از چند ماه)، قابل انجام خواهد بود.

(بیشتر…)

ویژگی Multi Instance Redo Apply

در اوراکل 11g با پیاده سازی دیتاگارد به صورت کلاستر، تنها نودی که دستور alter database manage recover بر روی ان اجرا شده(برای اولین بار!)، مسئولیت اعمال کردن redoها را برعهده خواهد داشت و مابقی نودها می توانند برای گزارش گیری، تهیه بکاپ و یا دریافت redo (یا آرشیو) و… مورد استفاده قرار بگیرند.

در اوراکل 12cR2، بهبودی در این زمینه رخ داد که می توان با کمک آن، همه نودها را در recovery سهیم کرد. این قابلیت که (Multi Instance Redo Apply (MIRA نام دارد، امکان اعمال redoها را با کمک چند instance ممکن می سازد.

(بیشتر…)

Unified Auditing

همانطور که می دانید، ثبت وقایع برای نسخه های قبل از اوراکل 12c، از طریق standard auditing امکان پذیر است. با کمک این شیوه از auditing، می توان تمامی عملیات کاربران حاضر در بانک اطلاعاتی را مانیتور نمود (البته به غیر از کاربرانی که با مجوز sysdba به بانک لاگین کرده اند.) این شیوه از auditing در کنار مزیتهای فراوانی که به همراه دارد، با محدودیتهایی هم روبروست، محدودیتهایی نظیر:

1.امکان دستکاری راحت audit record توسط کاربر sys

2.عدم ثبت وقایع کاربر sys در جدولی از بانک

3.عدم امکان auditing بر اساس role کاربران

4.عدم پارتیشن بندی پیش فرض جدول $aud و مشقتهای حذف بازه ای اطلاعات آن(delete + HWM)

5.عدم امکان auditing بر اساس مولفه هایی چون rman، datapump، sqlldr و …

6.عدم امکان auditing بر مبنای host name، ip address و …

و …

(بیشتر…)

فراخوانی lobs با dblink در اوراکل 12cR2

در اوراکل 11g، با کمک dblink نمی توان فیلدی که از نوع داده lobs می باشد را به صورت زیر فراخواند:

select * from usef.tbl@db11g;
ORA-22992: cannot use LOB locators selected from remote tables

همچنین اگر جدول مورد نظر در اوراکل ماقبل از نسخه 12cR2 باشد و فراخوانی ان در نسخه 12cR2 انجام شود، کماکان با خطا مواجه خواهد شد:

–in 12cR2 to 11g

select * from tbl@db11g;

ORA-65510: Distributed LOB operations are not supported on pre-12.2 databases.

حال اگر طرفین 12cR2 باشند، این محدودیت برطرف خواهد شد:

select * from tbl@db12r2;
1 <CLOB>