TEMPORARY UNDO در اوراکل 12c

تا قبل از اوراکل 12c، اطلاعات undo مربوط به جداول از نوع global temporary table، درundo tablespace پیش فرض بانک قرار می گیرد.

در اوراکل نسخه 12c، قابلیت TEMPORARY UNDO ارائه شد که با کمک آن، می توان اطلاعات undo این نوع از جداول را در temporary tablespace قرار داد.

(بیشتر…)

بروزرسانی Out of Place – ویژگی جدید MATERIALIZED VIEW در اوراکل 12c

تا قبل از اوراکل نسخه 12c، معمولا بروزرسانی به طور مستقیم در جدول مربوط به MV اتفاق می افتاد(ابتدا اطلاعات حذف شده و سپس در همان session، اطلاعات جدید درج می شوند و نهایتا commit رخ خواهد داد) به بیانی دیگر، در این نسخه ها،  بروزرسانی تنها به صورت in place (در جا) اتفاق می افتد که مرحله delete آن ممکن است متناسب با حجم جدول، زمان زیادی را صرف کند.

در نسخه 12c این امکان بوجود امد تا بدون هرگونه تغییر جدول اصلی مربوط به MATERIALIZED VIEW، بروزرسانی انجام شود که این شکل از بروزرسانی، Out of Place نام دارد.

(بیشتر…)

ستون نامریی(Invisible Column) در اوراکل 12c

ایجاد ستون نامریی از اوراکل 12c امکان پذیر شد این نوع از ستون، به صورت پیش فرض در لیست ستونهای جدول، قابل مشاهده نیستند و برای دسترسی به اطلاعات آن، باید به صراحت از نام این ستون در دستور استفاده کرد.

(بیشتر…)

Oracle Lock Management

زمانی که در یک بانک اطلاعاتی کاربران متعددی مشغول خواندن و نوشتن هستند، ممکن است دو کاربر به صورت همزمان قصد اصلاح یک شی را داشته باشند در این شرایط، درصورت عدم کنترل دسترسی، ممکن است داده ای از بین رفته و یا داده های ان شی ناسازگار شوند.

برای مدیریت و کنترل دسترسی همزمان، اوراکل از مکانیزمی به نام lock استفاده می کند که در این متن، قصد داریم در مورد آن مطالبی را ارائه کنیم.

(بیشتر…)

ایجاد و مدیریت job با کمک بسته DBMS_JOB

برای انجام زمانبندی در سطح دیتابیس، دو بسته با نامهای dbms_job و dbms_scheduler موجود می باشند که بسته dbms_job از نسخه های قدیمی اوراکل ارائه شده و در نسخه های جدید هم کماکان مورد استفاده قرار می گیرد و بسته dbms_scheduler که در نسخه جدیدتر اوراکل عرضه شد، توانست تا حدود زیادی جایگزین مناسبی برای بسته dbms_job باشد.

دراین متن قصد داریم به بسته dbms_job بپردازیم.

(بیشتر…)

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

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

به همین منوال، اوراکل در نسخه 12c، بیش از 500 ویژگی جدید را ارائه کرده است که در این مقاله قصد داریم بعضی از این ویژگی ها را مورد بررسی قرار دهیم.

(بیشتر…)

جابجایی و تغییر نام انلاین یک دیتافایل

تا قبل از اوراکل 12c، جابجایی و تغییر نام دیتافایل با کمک سیستم عامل و بصورت افلاین(در سطح دیتافایل) قابل انجام بود!

از اوراکل نسخه 12c، می توان بصورت انلاین عملیات تغییر نام و جابجایی دیتافایل را با کمک اوراکل و بدون مداخله dba انجام داد.

در مثال زیر، دیتافایل pdb1.dbf را از محیط non-ASM به محیط ASM منتقل می کنیم:

SQL> ALTER DATABASE MOVE DATAFILE  ‘/u01/oracle/pdb1.dbf’ to ‘+DATA01’;

نکته: ویوی V$SESSION_LONGOPS، میزان پیشرفت انتقال دیتافایل را نمایش می دهد.

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.