بازیابی دیتافایل بانک اصلی از استندبای

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

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

این کار در نسخه 12c، تنها با استفاده از یک دستور در محیط RMAN، قابل انجام می باشد:

(بیشتر…)

عبارت Multisection در backp as copy

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

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

(بیشتر…)

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

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

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

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

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

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

رفع گپ استندبای با کمک شبکه در اوراکل 12c

از اوراکل 10g می توان با استفاده از incremental backup، گپ ایجاد شده بین بانک اصلی و دیتاگارد را برطرف کرد منتهی ابتدا می بایست این بکاپ به صورت دستی از بانک اصلی گرفته شده و سپس از بانک اصلی به کمک سیستم عامل به سرور گارد منتقل و در نهایت ریکاوری شود.

در اوراکل 12c، نقش سیستم عاملی dba حذف شده و با حداقل درگیری dba و تنها با استفاده از چند دستور ساده، گپ ایجاد شده بین بانک اصلی و دیتاگارد برطرف خواهد شد:

(بیشتر…)

اجرای دستورات 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;

  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 را ندارد.

(بیشتر…)