Category Archives: ADMINISTRATION

آشنایی و مدیریت JOBها

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

ادامه مطلب… →

Oracle Lock Management

زمانی که در یک بانک اطلاعاتی کاربران متعددی مشغول خواندن و نوشتن هستند، ممکن است دو کاربر به صورت همزمان قصد اصلاح یک شی را داشته باشند، و بطور بدیهی در صورت عدم کنترل این دسترسی، ممکن است داده ای از بین رفته و یا داده های ان شی ناسازگار شوند. برای مدیریت و کنترل این دسترسی همزمان، اوراکل از مکانیزمی به نام lock استفاده می کند.

ادامه مطلب… →

ویژگی های جدید اوراکل در نسخه 12c

بانک اطلاعاتی اوراکل با هر نسخه جدیدی که ارائه می کند معمولا بسیاری باگهای ایجاد شده در نسخه های قبلی را رفع و همراه با آن ویژگی های جدیدی را هم عرضه می کند به همین منوال، در نسخه 12c، بیش از 500 ویژگی جدید را ارائه کرده است که در این مقاله سعی داریم تا بعضی از این ویژگی ها را مورد بررسی قرار دهیم البته از مهمترین ویژگی این نسخه، Pluggable Database می باشد که در مقاله دیگری در مورد ان مطالبی آورده شد و در این مقاله به این ویژگی مهم نخواهیم پرداخت(مقاله مذکور در سایت www.usefzadeh.com موجود می باشد).

ادامه مطلب… →

MATERIALIZED VIEW

همانطور که می دانید ویو(view) ذخیره پرس و جو در بانک اطلاعاتی به یک اسم خاص می باشد که عمده  کاربرد آن در امنیت و استقلال منظقی داده ها می باشد ویوها هیچ فضایی را برای ذخیره داده مصرف نمی کنند و با هر بار اجرا، پرس وجو را هم اجرا می کنند. همانند ویو، شی دیگری نیز وجود دارد که شامل یک پروس و جو می باشد که برخلاف ویو، خروجی پرس و جو را هم در جایی ذخیره می کند و در مواقع ضروری می توان آن را بروز کرد این شی Materialized View نام دارد.

ادامه مطلب… →

PLUGGABLE DATABASE

همانطور که می دانید تا قبل از اوراکل 12c، این امکان وجود داشت تا اطلاعات هر کاربر به صورت فیزیکی مستقل از دیگر کاربران ذخیره شود و نیز از نظر امنیتی این اطلاعات دور از دسترس دیگر کاربران قرار بگیرد و در صورت لزوم این قابلیت وجود داشت تا اطلاعات کاربر به بانک اطلاعاتی دیگری منتقل شود و از بانک جاری حذف شود به طور مثال ممکن بود از طریق Transportable Tablespace ، tablespace مربوط به کاربر را در صورت عدم وابستگی به دیگر tablespaceها، به بانک دیگری منتقل کرد ولی در عین حال ساختار موجود در نسخه های قبلی بسیار مستعد اختلاط بود و همه کاربران به یک data dictionary واحد وابسته بودند و همچنین انتقال بخشی از اطلاعات به بانک دیگر، با محدودیتهایی مواجه بود.

ادامه مطلب… →

LARGE OBJECT SEGMENTS

برای ذخیره داده های بدون ساختار در بانک اطلاعاتی اوراکل، ابتدا نوع داده LONG و LONG RAW ارائه شد که LONG برای ذخیره کاراکترهای با حجم زیاد و LONG RAW برای فایلهای باینری(صوت، تصویر و ..) استفاده می شد(و البته می شود) این نوع داده دارای محدودیتهای بسیاری بودند که شاید به همین دلیل اوراکل در نسخه 8i، نوع داده (large object)LOB را معرفی کرد که بسیاری از محدودیتهای LONG و LONG RAW را برطرف می کند از جمله این رفع محدودیتها می توان به موراد زیر اشاره کرد:

ادامه مطلب… →

SMON در یک نگاه

همانطور که می دانید یکی از کارهای مهم smon، پاک کردن temporary segmentها می باشد temporary segment در permanent tablespaceها با دستورات زیر ایجاد می شوند:

ادامه مطلب… →

تغییر و بازیابی پسورد

فرض کنید فردی تنها پسورد یوزر sys را از بین یوزرهای بانک در اختیار دارد و در عین حال قصد دسترسی به یوزر دیگری را دارد تا برای آن یوزر، تغییراتی را اعمال کند

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

ادامه مطلب… →

EXPDP/IMPDP

ABORT_STEP

Used to stop the job after it is initialized. This allows the master table to be queried

before any data is exported.

Syntax

ABORT_STEP=[n | -1] Default: Null

Example

expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr ABORT_STEP=-1

ادامه مطلب… →

Upgrade/Downgrade to/from oracle 12c

ارتقا نسخه اوراکل به 12c، به روشهای مختلفی قابل انجام است که هر کدام بسته به شرایطی ممکن است مطلوب تر باشند و همه این روشها را می توان در دو دسته upgrade(In Place Upgrade) و migration(Out of place Upgrade) قرار داد به عبارتی دیگر می توان از روشهای upgrade و یا  migration برای این کار بهره گرفت منظور از upgrade، اصلاح data dictionary به طوری که با نسخه جدید اوراکل سازگار باشد ولی در روشهای migration، می توانیم data dictionary بانک فعلی را نادیده بگیریم و تنها داده کاربری را به بانک جدید که دارای data dictionary نسخه جدید است، منتقل کنیم و در این صورت ممکن است سیستم عامل، کارکترست، ساختار بانک اطلاعاتی و … هم تغییر کنند البته migration به دلیل اینکه با اطلاعات کاربر سروکار دارد، ممکن است مدت زمان زیادی را از dba بگیرد ولی در عوض ممکن است downtime بانک را به حداقل برساند(بطور مثال در زمان استفاده از goldengate).

ادامه مطلب… →

بازیابی سریع datafile با کمک file descriptor لینوکس

در صورت حذف اتفاقی datafile از روی سیستم عامل لینوکس، می توانیم با طی مراحلی، datafile حذف شده را برگردانیم(البته با اقدام فوری).البته این کار تا زمانی که بانک اطلاعاتی کماکان در حال اجرا باشد، قابل انجام است در غیر این صورت، لینکی که file descriptor به آن اشاره می کند، برای همیشه حذف خواهد شد.

ادامه مطلب… →

بازیابی دیتافایل با آرشیولاگ

فرض کنید دیتافایلی که جدیدا به بانک اضافه شده بنا به دلایلی از بین رفته باشد در این صورت اگر آرشیوها اززمان ایجاد دیتافایل موجود باشند، این امکان وجود دارد که این دیتافایل را بازیابی کرد.

ادامه مطلب… →

نصب دوباره em

برای راه اندازی Enterprise Manager در بسیاری از سیستم ها ممکن است به مشکل برخورد کنیم که می توانیم با استفاده از دستورات زیر، تمامی پیکربندی قبلی را حذف کنیم و دوباره Enterprise Manager را با استفاده از dbca و یا amca راه اندازی کنیم. پس دستوراتی که در این قسمت می بینیم، تنها بستر را برای راه اندازی مجدد emca آماده می کنند.

ادامه مطلب… →

تاثیر log strand بر اندازه آرشیولاگ

از اوراکل نسخه 9i به بعد این امکان وجود دارد تا log buffer به چند قسمت مساوی تقسیم شود و هر قسمتآن به قسمتی از redo log مپ شود و به این طریق انتفال اطلاعات صورت گیرد به این ویژگی public redo strand می گویند.

ادامه مطلب… →

بازیابی متاداده در ASM

در محیط asm این امکان وجود دارد تا از متاداده مربوط به دیسک گروه ها بکاپ تهیه کنیم و در صورتی که به هر دلیلی دیسک گروه ها را از دست دادیم، از این بکاپ برای بازیابی آنها استفاده کنیم:

ادامه مطلب… →

table reorganization

معمولا بعد از مدتی کار بر روی جداول و یا در پی اتفاقاتی خاص، ممکن است که نیاز شود تا جدولی خاص از یک tablespace و یا کل objectهای tablespace را دوباره سازماندهی کنیم tablespace reorganization معمولا به عنوان یک امر خطیر در حیطه وظایف dba محسوب می شود. آنچه که در این قسمت قصد داریم در مورد آن مطالبی را ارائه کنیم، دلایل نیاز به reorganization و چگونگی انجام آن می باشد.

ادامه مطلب… →

cursor_shring و bind variable

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

ادامه مطلب… →

Block Corruption

block corruption در بانک اطلاعاتی اوراکل خطای بسیار معروفی است که ممکن است سبب از دست رفتن داده شود این خطا معمولا به خاطر مشکلات سخت افزاری یا سیستم عاملی رخ می دهد و در صورت نداشتن backup سالم از قسمت خراب شده به ناچار باید از اطلاعات ذخیره شده در آن قسمت، صرف نظر کنیم. این اتفاق به دو شکل ممکن است رخ دهد:

ادامه مطلب… →