دیتابیس اوراکل

PDB Unplug and Plugin in Oracle Database 12c

جمعه, ۲۰ مهر ۱۳۹۷، ۱۲:۳۱ ب.ظ

در موارد مختلفی شاید نیاز داشته باشیم که یک PDB را از یک root container جدا و آن را به یک root container دیگر متصل کنیم.



در اوراکل 12.1 برای انجام این کار باید ابتدا PDB را به صورت یک "xml." فایل unplug کنیم.

alter pluggable database PDB1 close immediate;

alter pluggable database PDB1 unplug into '/home/oracle/pdb1/pdb1.xml';


بعد این pdb1.xml را به همراه دیتافایل های مربوطه به مکان جدید منتقل و به root container جدید متصل میکنیم. 

نکته 1) دیتافایل ها را به مسیری مشابه مسیر دیتافایل ها در سرور اصلی منتقل میکنیم. 

create pluggable database PDB1 using '/home/oracle/pdb1/pdb1.xml' ;

alter pluggable database PDB1 open;


اگر بخواهید مسیر دیتافایل ها را تغییر دهید میتوانید یا پارامتر db_create_file_dest را ست کنید یا با استفاده از دستور زیر این کار را انجام دهید:

create pluggable database PDB2 using '/home/oracle/pdb1/pdb1.xml' 

file_name_convert=('/u02/app/oracle/oradata/pdb1/','/u01/app/oracle/oradata/pdb2/');


از اوراکل 12.2 میتوانیم PDB را به صورت یک "pdb." که یک archive file است، unplug کنیم که این فایل علاوه بر metadata ، شامل همه دیتافایل های مربوط به آن PDB هم میشود. این ویژگی جدید علاوه بر اینکه انتقال فایل بین سرورها را ساده تر میکند، خطاهای انسانی را نیز کاهش میدهد.

alter pluggable database PDB1 close immediate;

alter pluggable database PDB1 unplug into '/home/oracle/pdb1/pdb1.pdb';


فایل ''pdb1.pdb'' را به سرور جدید منتقل و دستور زیر را اجرا میکنیم.

create pluggable database PDB1 using '/home/oracle/pdb1/pdb1.pdb' ;

alter pluggable database PDB1 open;


نکته 2) plugin کردن یک PDB به یک CDB شبیه به ایجاد یک PDB جدید است. پس باید ابتدا مطمئن شویم که این PDB با CDB جدید compatible است یا نه ، که میتوانیم با استفاده از دستور زیر این کار را انجام دهیم:

set serveroutput on

declare

  l_result boolean;

begin

  l_result := dbms_pdb.check_plug_compatibility(

                pdb_descr_file => '/home/oracle/pdb1/pdb1.pdb',

                pdb_name       => 'pdb1');

  if l_result then

    dbms_output.put_line('compatible');

  else

    dbms_output.put_line('incompatible');

  end if;

end;


نکته 3) اگر بخواهیم pdb را مجددا به همان cdb قبلی متصل کنیم و دیتافایل ها آنجا موجود باشند ، میتوانیم با استفاده از دستور زیر این کار را انجام دهیم.

create pluggable database pdb1 using '/home/oracle/pdb1/pdb1.xml' 

nocopy 

tempfile reuse;


  • منابع

  • راهله شاکری

pluggable database

plugin pdb

unplug pdb

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی