از اوراکل 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 در دیتابیس جدید.
نتایج اجرای موفقیت:
در داکیومنت های بعد سعی خواهیم کرد روشهای تهیه پشتیان و بازگردانی آن را توضیح دهیم.