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

۳ مطلب با موضوع «12C» ثبت شده است

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


1- در ابتدا باید یک auxiliary instance ایجاد کنیم. که این کار را میتوانیم روی همان سرور یا سرور دیگری انجام دهیم.

--Create password file for auxiliary instance

$ cd $ORACLE_HOME/dbs

$ orapwd file=orapwtest password=m#12345678 entries=5

 

--Create init file for auxiliary instance

$ vi inittest.ora


نکته 1) برای ایجاد کردن init file میتوانید از روی spfile دیتابیس source یک  pfile ایجاد کنید و بعد از ایجاد تغییرات لازم از آن به عنوان init file برای  auxiliary instance استفاده کنید.

 

2- در مرحله بعدی باید auxiliary instance را nomount کنید.


$ export ORACLE_SID=TEST 

$ echo $ORACLE_SID

$ sqlplus / as sysdba

SQL> startup nomount pfile=/u01/app/oracle/product/12.2.0/db_1/dbs/inittest.ora;

 

3- در این مرحله با استفاده از دستور RMAN duplicate میتوانیم PDB مورد نظر را بازیابی نماییم.


$ rman auxiliary sys/m#12345678

RMAN> duplicate database to 'TEST' pluggable database PDB1

2> UNTIL TIME "TO_DATE ('15-10-2018 04:40:00','dd-mm-yyyy hh24:mi:ss')"

3> backup location '/home/oracle/back/';


نکته 2) باید بکاپ تمام  archiveهایی که میخواهیم recover کنیم در مسیر بکاپ ها موجود باشد.

 

4-  بعد میتوانیم با استفاده از دستورات زیر PDB1 را از root container auxiliary instance جدا کنیم و به root container که میخواهیم متصل نماییم.


--auxiliary instance

SQL> alter pluggable database PDB1 close immediate;

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

 

--target database

SQL> create pluggable database PDB1 as clone using '/home/oracle/pdb1.pdb';

SQL> alter pluggable database PDB1 open;



Attachments

RMAN Log Output from the DUPLICATE Process

  • راهله شاکری

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


  • راهله شاکری

تا قبل از اوراکل 12C ، ماکزیمم سایزی که برای data typeهای VARCHAR2, NVARCHAR2 ,RAW میشد در نظر گرفت به صورت زیر بود:


 VARCHAR2 : 4000 bytes -   

NVARCHAR2 : 4000 bytes -   

RAW : 2000 bytes -   


از اوراکل 12C ، ماکزیمم مقادیر این پارامترها به صورت زیر تغییر پیدا کرده است :


   - VARCHAR2 : 32767 bytes

   - NVARCHAR2 : 32767 bytes

   - RAW : 32767 bytes


برای اینکه بتوانید از مقادیر جدید این پارامترها در اوراکل 12C  استفاده کنید باید مقدار پارامتر  MAX_STRING_SIZE  را از STANDARD  به  EXTENDED  تغییر دهید .


   CONN / AS SYSDBA

   SHUTDOWN IMMEDIATE;

   STARTUP UPGRADE;

   ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;

   @$ORACLE_HOME/rdbms/admin/utl32k.sql

   SHUTDOWN IMMEDIATE;

   ;STARTUP   

   

نکته 1)  شما نمیتوانید مجددا مقدار پارامتر MAX_STRING_SIZE را از EXTENDED  به STANDARD  تغییر دهید.

نکته 2)  در صورت تغییر سایز DataTypeها نمی توانید مجددا سایز رو به مقدار قبلی تغییر بدهید.

  • راهله شاکری