اوراکل 23ai –چند ویوی جدید برای بررسی مسائل پرفورمنسی Data Pump

در اوراکل نسخه 23ai، ویوهای جدیدی در زمینه Data Pump اضافه شده اند که می توان از طریق آنها دلایل کندی  اجرای Data Pump را شناسایی کرد. لیست این ویوها را در قسمت زیر می بینید:

(G)V$DATAPUMP_PROCESS_INFO
(G)V$DATAPUMP_PROCESSWAIT_INFO
(G)V$DATAPUMP_SESSIONWAIT_INFO

ویوی V$DATAPUMP_PROCESS_INFO اطلاعاتی را در مورد جابهای مربوط به Data Pump نمایش می دهد نظیر SESSIONID، SPID، PROGRAM و …

SQL> desc V$DATAPUMP_PROCESS_INFO
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 CUR_DATE                                           VARCHAR2(19)
 PROGRAM                                            VARCHAR2(84)
 SESSIONID                                          NUMBER
 STATUS                                             VARCHAR2(8)
 USERNAME                                           VARCHAR2(128)
 JOBNAME                                            VARCHAR2(128)
 SPID                                               VARCHAR2(24)
 SERIALNUMBER                                       NUMBER
 PROCESSID                                          NUMBER
 CON_ID                                             NUMBER

(بیشتر…)

اوراکل 21c –  تنظیم خصوصیت compression برای ایندکس در زمان import

به عنوان یک قابلیت جدید در اوراکل 12cR1 می توانستیم در زمان برگرداندن دامپ خصوصیت فشرده سازی را برای جداول فعال/غیرفعال کنیم. این کار از طریق پارامتر TRANSFORM در دستور impdp قابل انجام است:

SQL*Plus: Release 12.2.0.1.0 Production 
SQL> select compression from   dba_tables where  table_name = 'TBL1';
COMPRESS
--------
DISABLED
SQL> drop table usef.tbl1;
Table dropped.
 [oracle@oshost ~]$ impdp usef/a directory=drm dumpfile=test.dmp tables=usef.tbl1 TRANSFORM=TABLE_COMPRESSION_CLAUSE:\"ROW STORE COMPRESS ADVANCED\"
SQL> select compression,COMPRESS_FOR from dba_tables where  table_name = 'TBL1';
COMPRESS COMPRESS_FOR
-------- ------------------------------
ENABLED  ADVANCED

(بیشتر…)

بهبودهای اوراکل 21c برای TTS export/import

در اوراکل نسخه 21c، قابلیتهای جدیدی در زمینه transportable tablespace export/import ارائه شد که در ادامه متن به این قابلیتها خواهیم پرداخت.

بهبود اول: عملیات TTS export/import را نمی توان در نسخه 19c به صورت parallel اجرا کرد:

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

ORA-39002: invalid operation

ORA-39047: Jobs of type TRANSPORTABLE cannot use multiple execution streams.

(بیشتر…)

استفاده همزمان از EXCLUDE و INCLUDE در ابزارهای DataPump

از اوراکل نسخه 21c می توان پارامترهای EXCLUDE  و INCLUDE را در یک دستور بکار گرفت. در زمان استفاده همزمان از این دو پارامتر، اوراکل ابتدا پارامتر INCLUDE را در نظر گرفته و با پردازش مقدار آن، objectهایی که باید از آنها دامپ گرفته شود را مشخص می کند و در نهایت از بین این objectها، بر اساس پارامتر EXCLUDE، پردازش و فیلترینگ را انجام می دهد.

در ادامه مثالهایی را از نحوه استفاده همرمان این دو پارامتر مشاهده می کنید.

مثال 1: از همه جداولی که در اسکیمای usef قرار دارند و اسامی آنها با پیشوند TBL شروع می شود، دامپی گرفته شود به جز جدول TBL18:

(بیشتر…)

قابلیت Data Pump Checksum در اوراکل 21c

اوراکل در نسخه 21c این امکان را می دهد تا در هنگام گرفتن دامپ، checksumای در dump file قرار داده شود تا در هر زمان(به خصوص بعد از جابجایی)  بتوان اعتبار و صحت فایل دامپ را مورد بررسی قرار داد و با کمک این اطلاعات کنترلی از عدم خرابی dump fileها اطمینان حاصل کرد.

به این منظور، پارامتر CHECKSUM به لیست پارامترهای Data Pump اضافه شده و برای استفاده از این ویژگی باید در کنار دستور expdp پارامتر CHECKSUM را برابر با مقدار YES قرار داد:

(بیشتر…)

تست قسمتی از عملیات TTS بدون down time(اوراکل 19c)

برای انجام عملیات Transportable Tablespaces، باید در زمان اجرای دستور expdp و انتقال دیتافایلهای tablespace به سرور مقصد(و یا تهیه بکاپ از دیتافایلها)، tablespace را در حالت read only قرار داد(در دیتابیس مبدا) و اگر در حین اجرای دستور expdpء، tablespace در حالت read write(online) قرار داشته باشد، دستور با خطای زیر متوقف خواهد شد:

ORA-29335: tablespace ‘TBS01’ is not read only

Job “SYS”.”SYS_EXPORT_TRANSPORTABLE_01″ stopped due to fatal error at Wed Jan 20 10:32:48 2021 elapsed 0 00:00:14

(بیشتر…)

مستثنی کردن اطلاعات ستونهای از نوع LOB در دیتاپامپ

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

راهکار چیست؟

مستثنی کردن اطلاعات ستونهای از نوع LOB در زمان انجام عملیات export از اوراکل نسخه 12c به راحتی قابل کنترل است این کار با ایجاد ویو و استفاده از پارامتر views_as_tables قابل انجام است اما برای برگرداندن دامپ حاوی اطلاعات LOB، نمی توان از این راهکار استفاده کرد و در این صورت استفاده از پارامتر REMAP_DATA راهگشا خواهد بود.

(بیشتر…)

اوراکل 12cR2- مروری بر دو بهبود ساده در دیتاپامپ

اوراکل 12c قابلیتهای را در زمینه Data Pump ارائه کرد که قبلا بعضی از آنها را مورد بررسی قرار داده ایم. در این متن به دو بهبود ساده اوراکل 12cR2 در این زمینه خواهیم پرداخت.

(بیشتر…)

آشنایی با مفهوم Editioning و پارامترهای آن در دیتاپامپ

احتمالا تاکنون هنگام ایجاد یک آبجکت مانند ویو، با این خطا مواجه شده اید:

ORA-00955: name is already used by an existing object

همانطور که می دانید این خطا زمانی رخ می دهد که آبجکتی با نام مورد نظر قبلا در بانک موجود باشد.

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

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

اوراکل از نسخه ی 11g به بعد، قابلیت جدیدی با عنوان editioning را به پایگاه داده خود افزوده است.

(بیشتر…)

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

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

(بیشتر…)