اخرین بار چه زمانی کاربر usef به بانک login کرده است؟؟؟ در اوراکل 12c، بدون تنظیم هیچ پارامتر اضافه ای، به راحتی می توان به این سوال پاسخ داد:
select LAST_LOGIN,username from dba_users where username=’USEF’;

……….آموزش، مشاوره و پشتیبانی……….
اخرین بار چه زمانی کاربر usef به بانک login کرده است؟؟؟ در اوراکل 12c، بدون تنظیم هیچ پارامتر اضافه ای، به راحتی می توان به این سوال پاسخ داد:
select LAST_LOGIN,username from dba_users where username=’USEF’;

در اوراکل 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، با ایجاد یک pdb جدید، چه اتفاقی برای دیتاگارد رخ خواهد داد؟ آیا دیتاگارد از حالت ریکاور خارج خواهد شد؟ چگونه میتوان در زمان انجام عملیات pdb cloning و یا remote hot clone ، دیتاگارد را در حالت همسان با بانک اصلی نگه داشت؟ و …
در این متن قصد داریم تا به این دسته از سوالات پاسخ دهیم و شیوه های مختلف ایجاد یک pdb و همچنین نحوه اثر گذاری ان را بر روی دیتاگارد، مورد بررسی قرار دهیم.
در اوراکل 12c، اجرای دستور duplicate در سطح یک pdb امکان پذیر است منتها با این محدودیت که برای انجام duplicate، لازم است تا cdb جدیدی هم ایجاد شود در غیر این صورت، اجرای دستور با خطا مواجه خواهد شد:
قبلا در مورد invoker right و definer right مطلبی را ارائه کردیم(ادرس مطلب) و نشان دادیم که استفاده از عبارت AUTHID CURRENT_USER چه مزیت امنیتی ای را به همراه دارد اما استفاده از invoker right در زمانی که مجوزهای invoker از definer بیشتر باشد، نقایصی را هم به لحاظ امنیتی در برخواهد داشت که در ادامه با ارائه مثالی، به این نقصان خواهیم پرداخت.
از اوراکل 18c،با plug کردن یک pdb به cdb دیگر، امکان استفاده از بکاپهای قدیمی این pdb در cdb جدید امکان پذیر است. در ادامه با یک مثال، خواهیم دید که چگونه می توان از بکاپ pdb18c که ماقبل عملیات plug تهیه شده است، استفاده کرد و دیتافایلهای از دست رفته ای را بدون از دست دادن حتی رکوردی(چه قبل از plug و چه بعد از ان) برگرداند.
زمان اجرای دو پرس و جوی زیر را با هم مقایسه کنید:
SQL> set timing on
پرس و جوی اول:
SQL> select /*+FULL(TBL1)*/ count(*) from tbl1;
COUNT(*)
———-
176000000
Elapsed: 00:00:02.33
با اهدای مجوز 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 و … استفاده کرد که البته استفاده از این روشها در بسیاری از محیطها، بسیار دشوار و تا حدودی نشدنی بود.
شیوه بروزرسانی از راه دور pdb در اوراکل 12c قبلا مورد بررسی قرار گرفت(ایجاد و بروزرسانی pdb به صورت از راه دور) در اوراکل 18c قابلیت جدیدی در این زمینه ارائه شد که امکان تغییر نقش pdb مبدا و مقصد و به عبارت دیگر، switchover بین این pdbها را هموار می کند.