ریکاوری استندبای تا یک تاریخ یا scn مشخص

برای ریکاوری استندبای(با این فرض که استندبای عقب یا در حالت delay قرار دارد) تا یک تاریخ یا scn، مشخص می توان از دستور زیر استفاده کرد:

SQL> ALTER DATABASE RECOVER automatic standby database until time ‘2017-05-15 06:15:47’;

Database altered.

در این صورت با رسیدن ریکاوری به زمان تعیین شده، پیامی مشابه با پیام زیر، در alert log قابل مشاهده خواهد بود:

Incomplete Recovery applied until change 41254778 time 05/15/2017 06:15:47

Media Recovery Complete (DBSTEST)

Completed: ALTER DATABASE RECOVER automatic standby database until time ‘2017-05-15 06:15:47’

فراخوانی 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>

چالشهای دیتاگارد در محیط Multitenant

پرسش: در محیط Multitenant، با ایجاد یک pdb جدید، چه اتفاقی برای دیتاگارد رخ خواهد داد؟ آیا دیتاگارد از حالت ریکاور خارج خواهد شد؟ چگونه میتوان در زمان انجام عملیات pdb cloning  و یا remote hot clone ، دیتاگارد را در حالت همسان با بانک اصلی نگه داشت؟ و …

در این متن قصد داریم تا به این دسته از سوالات پاسخ دهیم و شیوه های مختلف ایجاد یک pdb و همچنین نحوه اثر گذاری ان را بر روی دیتاگارد، مورد بررسی قرار دهیم.

(بیشتر…)

INHERIT PRIVILEGE

قبلا در مورد invoker right و definer right مطلبی را ارائه کردیم(ادرس مطلب) و نشان دادیم که استفاده از عبارت AUTHID CURRENT_USER چه مزیت امنیتی ای را به همراه دارد اما استفاده از invoker right در زمانی که مجوزهای invoker از definer بیشتر باشد، نقایصی را هم به لحاظ امنیتی در برخواهد داشت که در ادامه با ارائه مثالی، به این نقصان خواهیم پرداخت.

(بیشتر…)

مجوز alter user در اوراکل 12c

با اهدای مجوز alter user به یک کاربر در اوراکل 11g، ان کاربر می تواند تغییراتی چون تغییر پسورد را برای کاربر sys اعمال کند. مثال زیر را ببینید:

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 12 12:57:22 2018

SQL> create user usef identified by a;

User created.

SQL> grant connect,resource to usef;

Grant succeeded.

SQL> grant alter user to usef;

Grant succeeded.

SQL> conn usef/a

Connected.

SQL> alter user sys identified by a;

User altered.

در اوراکل 12c، این امکان برای کاربر usef از بین خواهد رفت:

SQL*Plus: Release 12.2.0.1.0 Production on Tue Jun 12 13:29:04 2018

SQL> alter user vahid identified by a;

User altered.

SQL>  alter user sys  identified by a;

ORA-01031: insufficient privileges

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

برای تغییر نام یک کاربر در اوراکل، تا قبل از نسخه 11g، دستور مشخصی وجود نداشت و برای انجام این کار، نیاز بود تا از عملیات پرهزینه ای چون expdp/impdp، exp/imp و … استفاده کرد که البته استفاده از این روشها در بسیاری از محیطها، بسیار دشوار و تا حدودی نشدنی بود.

(بیشتر…)

رفع گپ استندبای در اوراکل 18c

برطرف کردن گپ استندبای از اوراکل 10g با کمک incremental backup قابل انجام است البته به صورت کاملا دستی! انجام این کار نیازمند تعیین شماره scn، تهیه بکاپ از بانک اصلی(بصورت incremental)، ارسال فایل به سرور استندبای و …. بود از اوراکل 12cR1، بهبودهایی در این زمینه صورت پذیرفت و قسمتی از این عملیات به صورت خودکار قابل انجام است ولی کماکان نیاز بود با طی چند مرحله این کار انجام شود:

(بیشتر…)

ایجاد SQL Profile به صورت دستی

برای اعمال نظر در مورد execution plan پرس و جویی که اصلاح متن ان امکان پذیر نیست، می توان از sql profile کمک گرفت و از طریق ایجاد ان، هینتهایی را به این پرس و جو اعمال کرد. در ادامه همراه با یک مثال ساده، اثر استفاده از sql profile را بررسی خواهیم کرد.

(بیشتر…)

اجرای exp/expdp در محیط data guard

برای تهیه دامپ در محیط data guard، می توان از ابزار Exp بصورت مستقیم و از ابزار Expdp به صورت غیرمستقیم(با کمک database link) استفاده کرد همچنین با تبدیل data guard به snapshot standby، هم می توان مجددا از ابزار Expdp به صورت مستقیم بهره گرفت.

در ادامه به بررسی این سه روش خواهیم پرداخت.

(بیشتر…)