SESSION LEVEL SEQUENCES

یکی از ویژگی های اوراکل در نسخه 12c، ایجاد نوعی از sequence می باشد که در سطح session مقدار می گیرد.

CREATE SEQUENCE seq_new START WITH 1 INCREMENT BY 1 SESSION;

session 1:

select seq_new.nextval from dual;

1

session 2:

select seq_new.nextval from dual;

1

برای تغییر حالت این sequence از سطح session به سطح global و بالعکس، باید از دستور زیر استفاده کرد:

alter sequence seq_new global;

alter sequence seq_new session;

  TRUNCATE TABLE CASCADE

تا قبل از اوراکل 12c، امکان truncate کردن جدول master وجود نداشت:

truncate table usef.tbl1;

ORA-02266: unique/primary keys in table referenced by enabled foreign keys

در اوراکل 12c،امکان truncate کردن این نوع از جداول هم امکان پذیر شد:

truncate table usef.tbl1 cascade;

select * from tbl2;

no row selected.

RESOURCE ROLE و UNLIMITED TABLESPACE

در اوراکل 11g، با اهدای نقش resource به یک کاربر، همزمان مجوز unlimited tablespace هم به آن کاربر داده خواهد شد و کاربر قادر خواهد بود حتی در system tablespace هم اطلاعاتی را ذخیره کند.

در نسخه 12c، مجوز unlimited tablespace از role resource گرفته شده است.

(بیشتر…)

ویژگی Data Redaction در اوراکل 12c

در صورتی که بخواهیم قسمتی از اطلاعات یک جدول، برای تعدادی از کاربران مخفی و یا غیرواقعی نمایش داده شود، می توانیم از ویژگی data redaction که از اوراکل 12c ارائه شد، استفاده کنیم به این صورت که ابتدا کاربر پرس و جویی را اجرا کرده و منتظر دریافت خروجی خواهد بود، بر روی داده درخواستی کاربر، عملیات redact انجام شده و در نهایت کاربر مورد نظر، داده را بر اساس آن فرمتی که از قبل تعریف کرده ایم، خواهد دید.

(بیشتر…)

READ ANY TABLE

مجوز select any table، علاوه بر امکان مشاهده اطلاعات جداول، قابلیتهای اضافه ای را هم به کاربران خواهد داد نظیر:

select * from .. for update;

مجوز جدیدی در اوراکل 12c ارائه شد که read any table نام دارد و می توان از آن به عنوان جایگزینی برای select any table استفاده کرد این مجوز، صرفا امکان مشاهده اطلاعات را به کاربران خواهد داد و قابلیتهای اضافه مربوط به مجوز select any table را ندارد.

(بیشتر…)

FAR SYNC DATA GUARD

یکی از قابلیتهای جدیدی که در اوراکل 12c ارائه شد، FAR SYNC DATA GUARD می باشد که شباهت هایی هم به cascade standby دارد.

با کمک این ویژگی، می توان از ماشین(یا سرور) سومی که نقش واسط را بین سرور primary و data guard ایفا می کند، استفاده کرد بطوری که redoها از سرور primary به این سرور ارسال شده و سپس از آنجا به سمت دیتاگارد هدایت شوند.

(بیشتر…)

MATERIALIZED VIEW

همانطور که می دانید ویو(view) ذخیره پرس و جو در بانک اطلاعاتی به یک اسم خاص می باشد که عمده  کاربرد آن در امنیت و استقلال منظقی داده ها می باشد ویوها هیچ فضایی را برای ذخیره داده مصرف نمی کنند و با هر بار اجرا، پرس وجو را هم اجرا می کنند. همانند ویو، شی دیگری نیز وجود دارد که شامل یک پروس و جو می باشد که برخلاف ویو، خروجی پرس و جو را هم در جایی ذخیره می کند و در مواقع ضروری می توان آن را بروز کرد این شی Materialized View نام دارد.

(بیشتر…)

بروزرسانی کامل MV به صورت non-atomic

در صورتی که در زمان بروزرسانی mvها، نیازی به در دسترس بودن اطلاعات وجود ندارد، می توان در هنگام بروزرسانی کامل mv، از دستور truncate به جای delete استفاده کرد.

این تغییر سبب می شود تا هیچ فردی در زمان بروز رسانی mv، به اطلاعات آن دسترسی نداشته باشد پس این روش که اصطلاحا non-atomic هم نامیده می شود، خطراتی از قبیل لغو شدن بروزرسانی در حین درج اطلاعات را به همراه دارد که به همین دلیل استفاده کمتری نسبت به شیوه معمول دارد هر چند با استفاده از truncate به جای delete، سرعت بروزرسانی کامل(complete) بسیار افزایش خواهد یافت و کاهش حجم آرشیولاگ ایجاد شده دیتابیس هم از دیگر ثمرات آن می باشد.

(بیشتر…)