پیدا کردن مسیر JAVA_HOME

خب اگه شما هم مثل من حافظه خوبی نداشته باشید یا به سروری وصل شدید و ادمین مسئول نصب داکیومنت بهتون نداده باید خودتون آستینها رو بالا بزنید

یکی از موارد خیلی مبهم تو سروهایی که اپلیکیشن خودش جاوا رو نصب میکنه پیدا کردن مسیر دایرکتوری جاواست

مثلا فرض کنید نیاز دارید با استفاده از keytool به لیست certificateهای نصب شده دسترسی داشته باشید یا certificateای رو اضافه کنید

به عنوان مثال نیازه از دستور زیر استفاده بشه:

keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts

خب اینجا باید مسیر JAVA_HOME$ رو داشته باشیم که یا باید به داکیومنتهای نصب مراجعه کنیم یا از دستور زیر برای پیدا کردن JAVA_HOME سیستم استفاده کنیم:

jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'

خب در آخر به نتیجه دلخواهمون میرسیم:

keytool -list -keystore /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/jre/lib/security/cacerts

نکته: بهتره بعد از پیدا کردن مسیر اون رو به صورت یک متغیر در پروفایل کاربر تعریف کنیم.

نکته: پسورد دیفالت keystore جاوا

Enter keystore password: changeit

۱۶ شهریور ۹۶ ، ۱۳:۴۴ ۰ نظر
مهدی غفاری

حذف آرشیو لاگ‌ها با استفاده از RMAN

اگه دیسک شما پر شده شما باید بک‌آپ‌ها و آرشیو لاگ‌های قدیمی رو پاک کنید یا به tape انتقال بدید. اگه نیاز دارید آرشیو لاگ‌ها رو پاک کنید می‌تونید از دستورات زیر در RMAN استفاده کنید. البته توصیه میکنم بعد از گرفتن بک‌آپ یا انتقال آرشیوها به گارد اینکار رو انجام بدید و درکل حواستون به خطرات اینکار باشه

گرفتن لیست آرشیو لاگ‌ها

RMAN> list archivelog all;
RMAN> list copy of archivelog until time ‘SYSDATE-10’;
RMAN> list copy of archivelog from time ‘SYSDATE-10’
RMAN> list copy of archivelog from time ‘SYSDATE-10’ until time ‘SYSDATE-2’;
RMAN> list copy of archivelog from sequence 1000;
RMAN> list copy of archivelog until sequence 1500;
RMAN> list copy of archivelog from sequence 1000 until sequence 1500;

پاک‌کردن آرشیو لاگ‌ها

RMAN> delete archivelog all;
RMAN> delete archivelog until time ‘SYSDATE-10’;
RMAN> delete archivelog from time ‘SYSDATE-10’
RMAN> delete archivelog from time ‘SYSDATE-10’ until time ‘SYSDATE-2’;
RMAN> delete archivelog from sequence 1000;
RMAN> delete archivelog until sequence 1500;
RMAN> delete archivelog from sequence 1000 until sequence 1500;

اگه خواستید از این دستورات در اسکریپت استفاده کنید و به پیفام زیر بر نخورید:

از دستور noprompt استفاده کنید تا پیغام yes-no رو نبینید.

RMAN> delete noprompt archivelog until time 'SYSDATE-10';

حالا اگه موقع حذف آرشیولاگها به مشکل زیر برخورد کردید:

RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=+FRA/dwh/archivelog/2017_08_17/thread_1_seq_103136.56752.952282449 thread=1 sequence=103136
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=+FRA/dwh/archivelog/2017_08_17/thread_1_seq_103137.56751.952282463 thread=1 sequence=103137
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=+FRA/dwh/archivelog/2017_08_17/thread_1_seq_103138.56748.952282479 thread=1 sequence=103138
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=+FRA/dwh/archivelog/2017_08_17/thread_1_seq_103139.56744.952282493 thread=1 sequence=103139
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=+FRA/dwh/archivelog/2017_08_17/thread_1_seq_103140.56740.952282509 thread=1 sequence=103140

می‌تونید از force استفاده کنید:

RMAN> delete force noprompt archivelog until time 'SYSDATE-7';

خودکارسازی فرآیند

برای خودکارسازی فرآیند من از ۲ اسکریپت زیر استفاده کردم و با استفاده از سرویس cron اسکریپتها رو برای اجرای هفته‌ای زمانبندی کردم:

دریافت اسکریپت RMAN
حجم: 132 بایت

دریافت اسکرپت شل لینوکس
حجم: 423 بایت

منبع:

http://www.fatihacar.com/blog/delete-archivelog-using-rman-in-oracle

۱۴ شهریور ۹۶ ، ۲۱:۲۹ ۰ نظر
مهدی غفاری

پیدا کردن مپ دیسکهای ASM

فکر کنید به سروری لاگین کردید ولی مپ درایوهای ASM رو بهتون ندادن خب تو این شرایط به راحتی با اسکریپت زیز می‌تونید خروجی رو داشته باشید:

#!/bin/bash

export ORACLEASM='/etc/init.d/oracleasm'

echo "ASM Disk Mappings"
echo "----------------------------------------------------"
for f in `$ORACLEASM listdisks`
do
dp=`$ORACLEASM querydisk -p $f | head -20 | grep /dev | awk -F: '{print $1}'`
echo "$f: $dp"
done
۱۳ شهریور ۹۶ ، ۲۱:۱۷ ۰ نظر
مهدی غفاری

بروزرسانی سرور دیتاگارد در حالتی که فایل‌های آرشیو وجود ندارند

خب اول روی سرور دیتا گارد دستور زیر را اجرا می کنیم تا آخرین SCN دیتاگارد را بدست می‌آوریم:

SQL> SELECT CURRENT_SCN FROM V$DATABASE;

CURRENT_SCN
-----------
1752252019

عملیات ریکاوری را روی دیتاگارد با دستور زیر متوقف می کنیم:

ادامه مطلب...
۰۵ شهریور ۹۶ ، ۱۴:۱۹ ۱ نظر
مهدی غفاری

پروژه درس هوش‌مصنوعی (Support Vector Machine)

یک پروژه برای درس هوش‌مصنوعی داشتیم که موضوعش درباره ماشین های بردار پشتیبان بود

ادامه مطلب...
۰۲ شهریور ۹۶ ، ۱۸:۲۸ ۰ نظر
مهدی غفاری

نحوه راه‌اندازی خودکار Agent در ODI 11g موقع استفاده از OPMN در Linux/Unix

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

این اسکرپت بر روی ODI ورژن 11.1.1.3.0 تا 11.1.1.9.99 تست و ساپورت شده (Release 11gR1) و قابل استفاده در اکثر توزیع‌ها هستش

اسکریپت زیر رو در مسیر /etc/init.d/ قرار بدید و مالک فایل حتماً کاربر root باشه.

ادامه مطلب...
۰۸ تیر ۹۶ ، ۱۴:۰۵ ۰ نظر
مهدی غفاری

حذف آرشیولاگها در ASM به صورت دستی از طریق ASMCMD

لاگین به سرور با کاربر سیستم‌عامل grid

ورود به ابزار asmcmd از طریق خط فرمان لینوکس با تایپ دستور asmcmd

(در این ابزار دستورات پایه خط فرمان همانند خط فرمان لینوکس قابل استفاده هستند)

به ترتیب برای حذف آرشیولاگها از دستورات زیر استفاده میکنیم:

[grid@mdc-dwh-pri ~]$ asmcmd
ASMCMD> cd fra/dwh/archivelog
ASMCMD> ls
2017_06_28/
2017_06_29/
ASMCMD> rm -rf *
۰۸ تیر ۹۶ ، ۰۵:۵۴ ۰ نظر
مهدی غفاری

استفاده از IPTables برای بستن ترافیک SSH به غیر از یک IP خاص

خب با این عنوان مشخصه میخوایم چیکار بکنیم

ولی برای این که واضحتر بشه من یه ip استاتیک خونه دارم میخوام فقط از این ip بتونم به سرورهای اینترنتی‌ام SSH بزنم و اینجوری جلوی اتک‌های DDOS و دیکشنری روی SSH رو بگیرم 

خط زیر رو برای اضافه کردن آی پی مجاز به لیست سفید اجرا کنید:

iptables -A INPUT -p tcp -s YOUR.IP.HERE --dport 22 -j ACCEPT

یک قانون برای بلاک کردن تمام ترافیک عبوری از پورت ۲۲ ایجاد کنید:

iptables -A INPUT -p tcp --dport 22 -j DROP

قوانین رو ذخیره کنید:

iptables-save
service iptables save

اگه نیاز داشتید یک ip به پورت 22 دسترسی داشته باشه اول از دستور زیر برای حذف قانون قبلی استفاده کنید:

iptables -D INPUT -p tcp --dport 22 -j DROP
۲۳ خرداد ۹۶ ، ۲۱:۲۵ ۰ نظر
مهدی غفاری

دوباره خوانی fstab بدون ریستارت ماشین

اگه شما یه سطر جدید توی fstab وارد کردید به طور معمول باید یکبار ماشین لینوکستون رو ریستارت کنید که کار چندان دوستانه‌ای نیست.

یه راه سریع برای خوندن مقادیر جدید فایل fstab مسیر /etc/fstab/ استفاده از دستور زیر هستش:

mount -a

شاید باورتون نشه ولی همین دستور ساده منو از درخواست داون تایم برای یک سیستم‌عملیاتی در مخابرات نجات داده Cool 

پی نوشت: دوست عزیزمون وحید معانی توضیحات زیر رو اضافه کرده‌اند:

"هدف از fstab برای استفاده زمان بوت ماشین هست. حتماً لزومی به استفاده از moutn -a یا ریبوت کردن ماشین نیست.

شما دیوایس رو دستی mount کنید و fstab رو برای ریبوت‌های آتی آپدیت داشته باشید کفایت می‌کنه"

۱۶ خرداد ۹۶ ، ۱۱:۲۷ ۱ نظر
مهدی غفاری

حذف زبانهای اضافی از OBIEE 11g

یه درخواستی سمت ما اومد که زبانهای اضافیه صفحه لاگین این سیستم رو برداریم

تو صفحه لاگین OBIEE 11g اگه دقت کرده باشید تو قسمت انتخاب زبانها یه لیست کشویی از انواع زبانها داره:

ادامه مطلب...
۱۶ خرداد ۹۶ ، ۰۰:۳۸ ۰ نظر
مهدی غفاری