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

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

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

(بیشتر…)

عبارت Multisection در backp as copy

در صورت استفاده از BIGFILE Tablespace در یک دیتابیس، استفاده از شیوه های مرسوم بکاپ/ریکاوری آن هم در سطح tablespace، کارایی چندان مطلوبی را در پی نخواهد داشت!

شاید به همین دلیل از اوراکل نسخه 11g، عبارت SECTION SIZE هم به گزینه های دستور BACKUP اضافه شد که می توان با استفاده از این عبارت، ابتدا فایل را به چند قسمت تقسیم کرده(بلاکهای همجوار در یک دسته قرار می گیرند) و در نهایت هر قسمت را به یک کانال مجزا سپرد تا به صورت موازی از یک فایل بکاپ تهیه شود.

(بیشتر…)

اجرای دستورات Sql در محیط RMAN

از اوراکل 12cR1 می توان بدون هیچ پیش شرطی دستورات sqlای را در محیط RMAN اجرا کرد:

RMAN> select status from v$instance;

STATUS     

————

OPEN       

RMAN> desc usef.a;

using target database control file instead of recovery catalog

 Name                                      Null?    Type

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

 FILE#                                              NUMBER                     

 NAME                                               VARCHAR2(513)  

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;

ویژگی 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 را ندارد.

(بیشتر…)

Online DDL در اوراکل 12c

در اوراکل 12c می توان همراه با اجرای دستورات DMLای بر روی رکوردهای یک جدول، دستورات DDLای زیر را به صورت انلاین بر روی جدول یا ابجکتهای مرتبط با آن، انجام داد:

ALTER INDEX UNUSABLE

SET COLUMN UNUSED

DROP INDEX

DROP CONSTRAINT

(بیشتر…)

MATERIALIZED VIEW

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

(بیشتر…)

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

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

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

(بیشتر…)

قابلیت PLUGGABLE DATABASE در اوراکل 12cR1

فرض کنید نقش مدیریت مجموعه “نگهداشت دیتابیس” را در سازمانی برعهده دارید که در آن سازمان، دیتابیسهای متعددی با حجم بارکاری بسیار پایین وجود دارند با توجه به بارکاری کم این دیتابیسها، اگر به ازای هر دیتابیس از سرور و یا ماشین مجزایی استفاده کنید، با چالشهای احتمالی زیادی روبه رو خواهید شد چالشهایی از قبیل:

1.ممکن است نیاز شود تعداد dbaها را افزایش دهید.

2.با توجه به حجم پایین بارکاری دیتابیسها، احتمالا از همه منابع سرور استفاده نخواهد شد و در صورت عدم استفاده از virtualization، ممکن است منابع زیادی به هدر برود.

3.در صورتی که سیاست سازمان به راه اندازی دیتاگارد باشد، باید برای هرکدام از دیتابیسها، دیتاگارد جداگانه ای راه اندازی شود که در این صورت، نگهداری سرورها و دیتاگاردها نیاز به هزینه بالایی خواهد داشت.

4.برای گرفتن بکاپ روزانه از دیتابیسها، باید مستقلا از همه آنها بکاپ گرفت که این کار برای تعداد بالای دیتابیس می تواند پرهزینه باشد.

با این فرض که نسخه اوراکل استفاده شده در این سازمان برابر با 11g است، دو راهکار جایگزین دیگر هم برای نگهداری این دیتابیسها وجود دارد که در ادامه چالشهای هر کدام از آنها را مورد بررسی قرار خواهیم داد.

راهکار اول: تجمیع همه دیتابیسها در قالب یک دیتابیس و ایجاد اسکیمای مجزا برای هر دیتابیس. تعدادی از معایب و چالشهای این راهکار را در ادامه می بینید:

1.با اهدای مجوز و یا نقش سطح بالا یه یک کاربر، آن کاربر می تواند دیتای همه اسکیماها و یا به عبارتی دیگر همه سامانه ها را ببینید و یا تغییر دهد.

2.در صورتی که کاربری منابع زیادی را از سیستم بگیرد، روی سامانه های دیگر هم اثر منفی خواهد گذاشت.

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

راهکار دوم: استفاده از چند instance و قرار دادن چند دیتابیس به صورت مجزا از هم در یک سرور. چالشهای این راهکار بسیار بدیهی است و مدیریت دیتابیسها در این محیط می تواند برای dba ایجاد چالش کند.

حال در اوراکل 12c، ویژگی جدیدی ارائه شد که نه تنها مشکلات مذکور را مرتفع می کند بلکه قابلیتهای جدیدی را هم به همراه دارد این ویژگی (pluggable database(PDB نام دارد.

(بیشتر…)