استفاده از DataBaseLink در ابزارهای expdp/impdp

گاهی بدلایل مختلف، مانند عدم فضای کافی یا عدم دسترسی مستقیم به سیستم عامل، امکان تهیه دامپ بر روی ماشین/سرور مبدا مهیا نمی باشد. در این مواقع datapump این امکان را فراهم نموده تا فایل دامپ را بر روی یک ماشین/سرور دیگر ایجاد کنیم یا اطلاعات را بدون ایجاد فایل دامپ، مستقیما بر روی بانک مقصد بارگذاری نماییم. برای این منظور از ارتباط database link بین دو بانک اطلاعاتی استفاده می شود.

(بیشتر…)

پارامترهای INCLUDE، EXCLUDE و QUERY در expdp/impdp

در زمان استفاده از Data Pump، می توان در چهار سطح FULL/TABLESPACE/SCHEMA/TABLES عملیات export/import را انجام داد در مواردی ممکن است نیاز باشد تا objectهای خاصی را مستثنی کرد و یا صرفا بعضی از این objectها را در این عملیات شرکت داد، در این صورت می توان از سه پارامتر INCLUDE، EXCLUDE و QUERY استفاده کرد که در ادامه به بررسی آنها می پردازیم.

(بیشتر…)

آشنایی با Data Pump

اوراکل با ارائه نسخه 10g، تکنولوژی قدرتمندی به نام Data Pump را ارائه کرد با استفاده از این تکنولوژی می توان حجم زیادی از اطلاعات را از دیتابیس استخراج کرد یا از یک بانک به بانک دیگر منتقل نمود.

Data Pump از نظر عملکرد همانند ابزارهای exp/imp قدیمی است ، ولی از نظر روش انجام کار، متفاوت است. exp/imp سنتی مبتنی بر کلاینت هستند در حالی که Data Pump کاملا مبتنی بر سرور پیاده سازی شده است.

(بیشتر…)

Substitution Variableهای جدید برای expdp/impdp

در زمان تهیه دامپ به صورت همروند، خروجی دامپ در فایلهای متعددی قرار خواهد گرفت که در نسخه های قبل از 12cR2، اسامی هر کدام از این فایلها با کمک متغیر %U و با یک شماره از هم متمایز می شد به عبارت دیگر، ایجاد دامپ همروند تنها از طریق این Substitution Variable قابل انجام بود:

 expdp \’sys/sy AS SYSDBA\’  directory=dr dumpfile=dump_%U.dmp schemas=usef parallel=4

 Export: Release 11.2.0.4.0 – Production on Sun Apr 15 16:33:35 2018

Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:

/u01/oracle/dump_01.dmp

/u01/oracle/dump_02.dmp

/u01/oracle/dump_03.dmp

(بیشتر…)

پارامتر remap_directory در دستور impdp

قبل از برگرداندن دامپ به صورت کامل(full=y)، باید مسیر دیتافایلها را ایجاد نمود در غیر این صورت، عملیات بازیابی در هنگام ایجاد tablespace با خطا متوقف خواهد شد:

ORA-39083: Object type TABLESPACE:”TBS2″ failed to create with error:
ORA-01119: error in creating database file ‘/db/oradata/datafile/tbs02.dbf’

(بیشتر…)

غیرفعال سازی logging بهنگام impdp

برای بهبود سرعت برگرداندن اطلاعات dumpfile، می توان از پارامتر logging به هنگام اجرای دستور impdp استفاده کرد و با تنظیم این پارامتر(که از اوراکل 12c ارائه شد) به مقدار DISABLE_ARCHIVE_LOGGING:Y، مانع از ایجاد آرشیولاگ در زمان impdp شد:

 impdp directory=usef dumpfile=c.dmp schemas=usef  TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y

Import: Release 12.1.0.2.0 – Production on Tue Jul 5 15:02:28 2016

. . imported “USEF”.”COM_LOC”                      533.490 MB    226333 rows

در صورت استفاده از data guard در چنین محیطی، اطلاعات import شده به سمت data guard منتقل نخواهند شد و با رجوع به این جدول در محیط data guard، با خطای زیر مواجه خواهیم شد:

select count(*) from usef.com_loc

ORA-01578: ORACLE data block corrupted (file # 6, block # 555)

ORA-01110: data file 6: ‘/u02/oradata/usef2/datafile/users.258.916411623’

ORA-26040: Data block was loaded using the NOLOGGING option

البته اگر دیتابیس در حالت force logging قرار داشته باشد، امکان استفاده از چنین ویژگی ای وجود ندارد(معمولا قبل از راه اندازی data guard، اوراکل تاکید دارد تا این گزینه فعال شود).

 این ویژگی در سطح ایندکس هم قابل استفاده می باشد:

TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y:INDEX