توقف اجرای دستور یک کاربر(CANCEL SQL)

برای توقف اجرای دستور یک کاربر در اوراکل 11g، می توان از دستور kill session استفاده کرد که سبب خروج کاربر از بانک هم خواهد شد. از اوراکل 12cR2 این قابلیت بوجود امد تا بدون اخراج کاربر از بانک، صرفا دستور در حال اجرای ان کاربر را متوقف نمود.

(بیشتر…)

نصب اوراکل 18c در محیط non-Exadata

همانطور که مطلع هستید، اوراکل 18c صرفا در محیط exadata قابل استفاده می باشد حال اگر قصد نصب این نرم افزار در محیط  non-Exadata را داشته باشید، این کار مشابه نصب نسخه های قبلی اوراکل قابل انجام است ولی در زمان ایجاد بانک اطلاعاتی(به طور دقیق تر، در زمان استارت instance)، با خطای زیر مواجه خواهید شد:

ORA-12754: Feature ‘startup’ is disabled due to missing capability ‘Runtime Environment’.

برای جلوگیری از رخ دادن این خطا، می توان از پارامتر مخفی _exadata_feature_on در زمان اجرای دستور dbca استفاده کرد:

dbca -createDatabase -initParams “_exadata_feature_on=true”

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

TDE در اوراکل نسخه 11g

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

(بیشتر…)

انواع Checkpoint

همانطور که می دانید با رخ دادن checkpoint در اوراکل، dirty bufferهای موجود در بافرکش توسط پروسس DBWR از حافظه به دیسک نوشته خواهند شد و همچنین هدر دیتافایل و کنترل فایل توسط پروسس CKPT بروز خواهد شد. به عبارتی دیگر، در زمان checkpoint دو اتفاق زیر و یا یکی از این دو رخ خواهد داد:

(بیشتر…)

ممانعت از ثبت پیام در alert log

در صورتی که به هر دلیلی به این نتیجه رسیده باشید که از ثبت پیامهای اوراکل در فایل alert log جلوگیری کنید(در محیط لینوکس)، می توانید این کار را به سادگی و با ایجاد یک soft link بر روی این فایل انجام دهید. برای انجام این کار، ابتدا فایل alert log را حذف می کنیم:

[root@hkm4 ~]# cd /u01/oracle/diag/rdbms/db11g/db11g/trace/
[root@hkm4 trace]# rm -rf alert_db11g.log

بلافاصله و قبل از ایجاد مجدد این فایل توسط بانک، soft linkای را از این فایل به /dev/null/ ایجاد می کنیم:

[root@hkm4 trace]# ln -s /dev/null alert_db11g.log
[root@hkm4 trace]# ls -l
lrwxrwxrwx 1 root root 9 Mar 14 11:58 alert_db11g.log -> /dev/null

با این کار، از ثبت هرگونه پیام در فایل alert log جلوگیری خواهیم کرد. همچنین برای حذف این soft link، باید از دستور زیر استفاده کرد:

[root@hkm4 trace]# unlink alert_db11g.log

دستور rman checksyntax

در صورتی که قصد داشته باشیم بدون اجرای یک دستور در محیط rman، ان را به لحاظ syntax مورد بررسی قرار دهیم، می توانیم از محیط rman checksyntax استفاده کنیم.

مثال زیر را ببینید:

[oracle@trac1 ~]$ rman checksyntax
Recovery Manager: Release 11.2.0.4.0 – Production on Sun Mar 4 22:04:23 2018

RMAN> backup database;
The command has no syntax errors

RMAN> crosscheck archivelog all;
The command has no syntax errors

همانطور که می بینید، هر دو دستور به لحاظ syntax، بدون مشکل هستند.

اختصاص فضا به جدول از یک دیتافایل مشخص

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

این کار در زمان ساخت جدول و یا بعد از ایجاد آن هم ممکن است. برای مثال با اجرای دستور زیر، جدول tbl1 حداکثر می تواند به اندازه 5 مگابایت از دیتافایل test2.dbf را مصرف کند:

alter table tbl1 ALLOCATE EXTENT(DATAFILE ‘/acfs/test2.dbf’ size 5m);