Join methods

زمانی که یک دستور با چندین شرط join اجرا می شود، عمل join در هر لحظه تنها بین دو جدول آن دستور انجام خواهد شد یعنی به عبارت دیگر، عمل join یک عمل باینری می باشد حال برای تعیین ترتیب join بین جداول، باید حالات مختلفی توسط اوراکل بررسی شود که این کار می تواند وقت زیادی را از سیستم بگیرد برای جلوگیری از این اتلاف وقت، می توان ترتیب پیوند را با استفاده از هینت ORDERED تعیین کرد یعنی با استفاده از این هینت در درون دستور، ترتیب پیوندها بر اساس ترتیب جداول در عبارت from تعیین شوند.

(بیشتر…)

cascaded standby

در صورتی که قصد داشته باشیم برای یک بانک اطلاعاتی چند استندبای داشته باشیم ولی از طرفی با محدودیتهایی همانند شبکه روبرو باشیم، می توانیم از ویژگی cascaded standby استفاده کنیم یعنی از استندبای موجود یک استندبای جدید ایجاد کنیم به طوری که استندبای جدید هیچ ارتباط مستقیمی با بانک اصلی نداشته باشد و همه اطلاعات از استندبای اول به آن منتقل می شود. برای انجام این کار، می توانیم از active duplicate استندبای اول بهره مند شویم.

(بیشتر…)

data pump و RAC

در محیط RAC، این امکان وجود دارد تا از چند instance برای اجرای data pump بهره گرفته شود. برای این کار باید شرایط زیر رعایت شود:

  1. دایرکتوری که فایل دامپ قرار است در آنجا قرار گیرد، در فضای مشترک بین نودها ایجاد شود.
  2. پارامتر cluster به y و پارامتر parallel به مقداری بیشتر از یک تنظیم شود.
  3. Logها در مسیر local مربوط به نودها ایجاد شوند.

(بیشتر…)

واقعی کردن شماره آرشیوها در ویوی v$archived_log

در صورتی که ویوی مربوط به حداکثر شماره آرشیو، یک عدد غیرمرتبط یا عددی مربوط به آرشیولاگ old incarnation را نشان می دهد، برای اینکه عدد واقعی را به ما نشان دهد و اعداد قدیمی را پاک کند، سه روش ممکن می باشد:

(بیشتر…)

cursor_shring و bind variable

وقتی که اوراکل دستوری را اجرا می کند، سعی دارد تا فرم قابل اجرای دستور اجرا شده(که plan آن مشخص شده) را در library cache نگهدارد تا در صورت امکان از آن استفاده مجدد کند حال اگر این فرم پارس شده برای دستور دیگری مورد استفاده قرار بگیرد می گویند یک soft parse انجام شده است و در صورتی که اوراکل مجبور شود یک فرم جدید قابل اجرا(که در library cache موجود نیست) برای دستور وارده بسازد، hard parse صورت گرفته است.

(بیشتر…)

enq: TM – contention

Enqueue ها کنترل دسترسی همزمان به یک شی واحد توسط چند نفر را بر عهده دارند تا به شی مورد نظر آسیبی وارد نشود و یکپارچگی آن حفظ شود پس از این نظر یک قابلیت مفید برای پیشبرد کار ما هستند ولی باید ساختار بانک اطلاعاتی طوری باشد که رقابت دو فرد برای دسترسی به یک شی به حداقل ممکن برسد تا wait هم کمتر رخ دهد. نمونه ای از waitای که بواسطه مدیریت Enqueue ایجاد می شود، enq: TM – contention می باشد که در اینجا سعی داریم تا علل رخ دادن آن و نحوه جلوگیری از آنرا به طور مختصر بیان کنیم.

(بیشتر…)

بازیابی کنترل‏ فایل با dbms_backup_restore

به صورت معمول در هنگام بازیابی بکاپ RMAN ، برای بازیابی کنترل فایل از روشهایی نظیر CONTROLFILE AUTOBACKUP  و کاتالوگ استفاده می شود حال زمانی را فرض کنید که به هر دلیلی امکان استفاده از اینروشها برای بازیابی کنترل فایل ممکن نیستند(مخصوصا به خاطر خطا در زمان بکاپ گیری) در این حالت ممکناست استفاده از پکیج dbms_backup_restore کارساز باشد.

(بیشتر…)