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

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

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

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

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

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

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

(بیشتر…)

آشنایی با معماری اوراکل

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

پایگاه داده اوراکل در نگاه کلی به دو مفهوم اصلی تقسیم می شود :

1.ساختار database ( فضای دیسک )

2.ساختار instance ( فضای RAM )

عکس زیر یک نمونه از معماری اوراکل را نشان می دهد.

همانطور که قابل مشاهده است ساختار اوراکل به دو قسمت اصلی یعنی instance و database)storage structures) تقسیم شده است.

(بیشتر…)

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

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

(بیشتر…)

ارسال unified audit trail به syslog و Event Viewer(اوراکل 18c/19c)

در اوراکل 18c، پارامتری به نام UNIFIED_AUDIT_SYSTEMLOG اضافه شد که امکان نوشتن unified audit trail را در محیط سیستم عامل فراهم می کند با این قابلیت می توان فیلدهای کلیدی unified audit trail را در محیط لینوکس به syslog و در محیط ویندوز به Event Viewer فرستاد.

SQL>  show parameter unified_audit_systemlog

NAME                                   TYPE       VALUE

————————————    ———- ———-

unified_audit_systemlog             string

قصد داریم با طی چند مرحله، این قابلیت را در محیط لینوکس پیکربندی کنیم.

(بیشتر…)

پارامترهای REMAP در ابزار IMPDP

بطور معمول و پیش فرض در هنگام import داده ها در بانک مقصد، جداول با همان نام قبلی و در همان schema و tablespace بارگذاری می شوند، مگر آنکه با استفاده از برخی پارامترها نام و مکان آنها را تغییر دهیم که در ادامه با این پارامترها آشنا می شویم.

(بیشتر…)

برگشت خودکار سرویس به preferred instance در اوراکل 19c

همانطور که می دانید در محیط RAC و در زمان ایجاد یک سرویس، می توان preferred instance و available instance را مشخص کرد در این صورت، سرویس بصورت پیش فرض در preferred instance اجرا خواهد شد.

اگر به هر دلیلی preferred instance دچار مشکل شود و یا به صورت کلی، نود مربوط به آن، از دسترس خارج شود، سرویس هم به available instance منتقل خواهد شد و حتی با استارت مجدد preferred instance، اصطلاحا failbackای برای این سرویس رخ نخواهد داد و سرویس کماکان در همان available instance به کارش ادامه خواهد داد و برای انتقال ان به  preferred instance، باید به صورت دستی، عملیات relocate را انجام داد.

(بیشتر…)

کنترل دیتای null در زمان استفاده از order by(با کمک عباراتNULLS LAST و NULLS FIRST)

قصد داریم لیستی از جداول موجود در بانک را بر اساس تعداد رکوردی که دارند، به صورت نزولی نمایش دهیم به این جهت، با فرض بروز بودن statisticها، به سراغ ویوی dba_tables خواهیم رفت وبا کمک عبارت order by desc، خروجی را بر اساس ستون num_rows مرتب می کنیم.

select owner,table_name,num_rows from dba_tables order by num_rows desc;

(بیشتر…)

پارامترهای کنترل job در ابزار EXPDP و IMPDP

همانطور که در مطلب “آشنایی با Data Pump” اشاره شد، پروسس master برای انجام عملیات، jobای را  ایجاد می کند که در طول عملیات export/import ، می توان با ارجاع به نام آن job، عملیات مربوطه را کنترل نمود. برای مثال می توان اجرای دستورات را موقتا متوقف کرد و یا بعد از توقف، عملیات را مجددا از سر گرفت.

قصد داریم در این متن پارامترهای مربوط به مانیتور و کنترل jobها را شرح دهیم.

(بیشتر…)