آموزش پشتیبان گیری اوراکل (Imp/Exp Oracle)

نوشته شده توسط :
آموزش پشتیبان گیری اوراکل (Imp/Exp Oracle)

 

از اوراکل 11g  به بعد، اوراکل با استفاده از یک syntax متفاوت از نسخه های قبلی اوراکل اقدام به export  و  import داده است. در واقع، دو راه از Importing and Exporting وجود دارد:

Import/Export  برای بعضی از جداول (tables) در اسکیما.

Import/Export تمام اسکیماها (including objects, tables, views, functions,...)

 

بررسی  Import/Export از اسکیما

در ابتدا ، شما نیاز به تعریف یک دایرکتوری که به یک مسیر واقعی  در روی دیسک سخت قرار دارد اشاره کند. در واقع، شما فقط یک بار این  عمل را انجام می دهید و می توانید آن را در نوبت دیگر استفاده کنید.

به عنوان مثال، یک پوشه DBA  با عنوان MY_BACKUP_DIR  و آن را متصل می کنیم به C:/oraclebackup folder

در ابتدا لاگین کنید به Sqlplus با یوزر system 

- ساخت دایرکتوری با نام MY_BACKUP_DIR و آن را به دایرکتوری واقعه ای متصل کنید

- اطمینان حاصل کنید که مسیر C:/oraclebackup وجود داشته باشد.

;'create  directory  MY_BACKUP_DIR  AS  'C:/oraclebackup

دایرکتوری سیستم کاربران ایجاد شده است. فقط کاربران که دارای اختیار DBA  هستند می توانید از آن استفاده کنید. همچنین می توانید دسترسی  استفاده از آن را به دیگر کاربران اعظا نمایید.

;grant  read,write  on  directory  MY_BACKUP_DIR  to  Some_User

شما می توانید کوئری زیر را برای دیدن اشیاء موجود در دایرکتوری  را تماشا کنید.

;Select  Directory_Name,Directory_Path  From  Dba_Directories

نتیجه :

 

1- دستور Expdp

     استفاده کنید  از expdp  برای  تهیه یا ایجاد پشتیبان (export) از کل اسکیما.

     برای export  شما نیاز دارید به باز کردن cmd و رفتن به مسیر bin اوراکل.

cd  C:\DevPrograms\db11g\product\11.2.0\dbhome_1\BIN

سپس دستور زیر را برای ایجاد فایل export اجرا کنید.

expdp  system/admin DIRECTORY=MY_BACKUP_DIR  DUMPFILE= learningsql.dmp  SCHEMAS=learningsql  LOGFILE=learningsql.log

توضیح دستور فوق به شرح زیر است:

Expdp = دستور ایجاد فایل export

System/admin = نام ماربری system  وپسورد آن

MY_BACKUP_DIR = دایرکتوری که فایل پشتیبان در آن قرار می گیرد.

learningsql.dmp = نام فایل پشتیبان

learningsql = نام اسکیمایی که قسط گرفتن فایل پشتیبانی از آن را داریم

learningsql.log = نام فایل توضیحات و لاگ های ایجاد شده.

نتیجه :

نکته : شما می توانید به صورت همزمان از تمام یا تعدادی از اسکیما ها پشتیبان تهیه نمایید به عنوان مثال :

expdp  system/admin  DIRECTORY=MY_BACKUP_DIR  DUMPFILE= multi.dmp  SCHEMAS=learningsql,simplehr  LOGFILE= multi.log

 

2- دستور Impdp

در ابتدا شما نیاز دارید یک کاربر ایجاد کنید که آن به یک اسکیما متصل است پس به sqlplus  لاگین کنید.

و دستور زیر را اجرا کنید.

;create  user  learningsql2  identified  by  1234

در اصل شما این دستور یک اسکیمای خالی ایجاد کرده اید.

در ادامه ما اقدام به بازگردانی  (import)  از فایلی dump در اسکیمای  که ایجاد نموده ایم می کنیم .  در واقع، در یک فایل dump می تواند  شامل یک یا چندین  اسکیما باشد. پس زمانی که شما اقدام به عمل (import) می کنید ، شما نیاز به مشخص کردن نام اسکیما منبع در فایل dump را دارید و همچنین نام اسکیمای که ایجاد کرده اید.

در ادامه cmd  را باز کنید و وارد دایرکتوری bin اوراکل شوید.

cd C:\DevPrograms\db11g\product\11.2.0\dbhome_1\BIN

اجرای  دستور  impdp :

            impdp  system/admin  DIRECTORY=MY_BACKUP_DIR  DUMPFILE=learningsql.DMP  REMAP_SCHEMA=learningsql:learingsql2  LOGFILE=learningsql_imp.log

توضیح دستور فوق به شرح زیر است:

impdp = دستور ایجاد فایل import

System/admin = نام ماربری system  وپسورد آن

MY_BACKUP_DIR = دایرکتوری که فایل پشتیبان در آن قرار می گیرد.

learningsql.dmp = نام فایل پشتیبان

REMAP_SCHEMA=learningsql:learingsql2 =  این قسمت برای مپ کردن اسکیمای منبع در مقصد است. 

learningsql_imp.log = نام فایل توضیحات و لاگ های ایجاد شده.

در حقیقت دستور بالا  این معنی را رساند: 

عمل import  را از فایل dump به نام learningsql.DMP  و از اسکیمای  learningsql  به اسکیمای learningsql2 در دیتابیس جدید.

نتایج اجرای موفقیت:

در داکیومنت های بعد سعی خواهیم کرد روشهای تهیه پشتیان و بازگردانی آن را توضیح دهیم.