مشابه دستور tail در محیط ویندوز

همانطور که می دانید، برای مشاهده انلاین یک فایل در محیط لینوکس، می توان از دستور tail به همراه سوییچ f استفاده کرد(البته دستور tail کاربردهای دیگری هم دارد):

tail -f /u01/app/oracle/admin/db/diag/rdbms/db/db/trace/alert_db.log

همچنین این کار با کمک دستور less به همراه سوییچ F هم قابل انجام است.

(بیشتر…)

توقف اجرای دستور یک کاربر(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 بدون خطا استارت می شود و پس از ان بانک اطلاعاتی ایجاد خواهد شد.

انواع 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

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

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

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

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

تنظیم پارامترها در سطح پرس و جو از طریق هینت OPT_PARAM

همانطور که می دانید بعضی از پارامترها قابلیت تغییر در سطح session را دارند و برای تغییر این پارامترها می توان از دستور alter session استفاده کرد:

alter session set parameter_name=value;

حال ممکن است نیاز باشد بعضی از این پارامترها را صرفا در سطح یک دستور خاص تغییر داد نه در سطح کل session.

برای این کار می توان از هینتی به نام OPT_PARAM استفاده کرد که ساختار ان به صورت زیر می باشد:

opt_param(<parameter_name> [,] <parameter_value>)

برای مثال، در پرس و جوی زیر، پارامتر optimizer_features_enable را به مقدار 11.2.0.4 تغییر می دهیم:

select /*+ opt_param(‘optimizer_features_enable’,’11.2.0.4′)*/ * from tbl1;

نکته: البته این هینت همه پارامترها را پشتیبانی نمی کند. نمونه هایی که از پارامترهایی که توسط این هینت پشتیبانی می شوند:

optimizer_index_caching
optimizer_index_cost_adj
hash_join_enabled
optimizer_dynamic_sampling
optimixer_features_enable
optimizer_mode
optimizer_secure_view_merging
star_transformation_enabled

گزینه ALTERNATE در پارامتر log_archive_dest_n

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

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

برای این کار می توان از گزینهALTERNATE در پارامتر log_archive_dest استفاده کرد.

(بیشتر…)