مشاوره و پشتیبانی #پایگاه داده #هوش تجاری

کانال تلگرام

سلام

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

 

::در قند اوراکل::همرسانی‌های مهدی غفاری::

https://telegram.me/sweetoracle

 

مهدی غفاری

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

رفع مشکل Warning: ORA-16826: apply service state is inconsistent with the DelayMins property

امروز تو یکی از سایتهام به مشکل زیر در DGMGRL خوردم

DGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> show configuration;
Configuration - primary
Protection Mode: MaxAvailability
Databases:
orcl - Primary database
orcldg - Physical standby database
Warning: ORA-16826: apply service state is inconsistent with the DelayMins property

Fast-Start Failover: DISABLED
Configuration Status:

WARNING

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

برگذاری ورکشاپ تخصصی مدیریت پایگاه داده اوراکل

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

https://evand.ir/events/oracle

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

ساخت مخزن آفلاین برای YUM

شاید نیاز داشته باشید برای نصب پکیج‌های پیشنیاز اوراکل از مخازن آفلاین درون DVD توزیع خودتون استفاده کنید و یا شایدم برای نصب پیش‌نیازهای اوراکل نیاز به نصب پکیج‌هایی داشته باشید و تو سایتتون امکان دسترسی ماشین به اینترنت رو نداشته باشید و یا اگه هم داشته باشید با مشکلاتی رو به رو باشید مثلاً استفاده از VPN یا Proxy که اگه توزیعتون اوراکل لینوکس هم باشه برای دسترسی به مخازن آنلاین اوراکل کارتون دو چندان میشه

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

مرحله اول

اولین کارمون اینه که از DVD توزیع دایرکتوری مخازن رو در مسیری لوکال کپی کنیم

بعد از mount‌دیسک چه به صورت خودکار یا با دستور زیر

mount -t auto /dev/dvd /mnt

یا ماونت به صورت مستقیم از روی iso دیسک

mount -o loop /path/to/iso /mnt

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

[root@primary Desktop]# cp -R /mnt/Packages/ .
[root@primary Desktop]# mv Packages/ dvd

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

فارسی سازی نوشته‌های OBIEE

یه مدت درگیر فارسی سازی رشته‌های obiee 11.1.1.9.0 شدم و خب الان موقع مناسبیه که نتایج کارها رو به اشتراک بذارم
ادرسی که می‌تونید فولدر دانلودی رو اونجا کپی کنید بسته به نوع مسیرهایی که برای نصب دادید میتونه متفاوت باشه در کل دنبال مسیرهایی با همچین ساختاری باشید

/middleware/Oracle_BI1/bifoundation/web/msgdb/
ORACLE_HOME\bifoundation\web\MS-DOS
ORACLE_INSTANCE\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obipsn\msgdb

 

نکته: برای راست به چپ کردن صفحه فایلها رو تو قسمت زبان عربی کپی کنید

دریافت
حجم: 380 کیلوبایت

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

نحوه پیدا کردن سایز دیسک های سیستم عامل از طریق PL/SQL

برای اینکار هیچ پکیج PL/SQl از قبل نوشته شده ای وجود نداره برای رسیدن به نتیجه باید یک external table ساخت و با استفاده از یک pre-processor اطلاعات مورد نیاز رو برگردوند متاسفانه این pre-processor ما براساس پلتفرم کار میکنه

برای سیستم عاملهای یونیک بیس و خانواده لینوکس:

step0:
[oracle@localhost]$ df -B 1 /usr
Filesystem 1B-blocks Used Available Use% Mounted on
/dev/sda3 24770654208 22113492992 1398870016 95% /
step1: 
[oracle@localhost ~]$ cat /tmp/demo/demo.dat
/usr
step2: 
[oracle@localhost ~]$ cat /tmp/demo/df.sh
#!/bin/bash
/bin/df -B 1 `/bin/cat ${1}` | /bin/awk 'NR == 2 {print $4}'
step3: 
create or replace directory DEMO as '/tmp/demo'
step4: 
CREATE TABLE
df
(
free NUMBER
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY DEMO
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE CHARACTERSET WE8MSWIN1252
NOBADFILE
NOLOGFILE
PREPROCESSOR demo:'df.sh'
FIELDS TERMINATED BY "|" LDRTRIM
REJECT ROWS WITH ALL NULL FIELDS
(
free CHAR
)
)
LOCATION
(
'demo.dat'
)
)
REJECT LIMIT UNLIMITED
;
step5: 
SQL> select * from df;

FREE
----------
1398870016

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

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

عوض کردن DB_NAME دیتابیس با استفاده از NID

یکی از مشکلاتی که ممکنه براتون پیش بیاد اینه که بعد از ساخت دیتابیس جدید بخواین به هر علتی DB_NAME رو به مقداری دیگه تغییر بدید

درسته که تغییر DBID با nid، اثرات غیرقابل برگشتی روی توانایی‌های بک‌آپ و ریکاوری داره، اما تغییر DB_NAME دیتابیس به‌طور چشمگیری پیامدهای کمتری داره، چون:

  1. بک‌آپ‌هایی که قبلاً گرفته شده‌اند را بی‌اعتبار نمی‌کنه
  2. آرشیولاگ‌هایی که قبلاً ساخته شده‌اند را بی‌اعتبار نمی‌کنه
  3. به open کردن پایگاه داده به وسیله‌ی ریست‌لاگ نیازی نداره

خب بیایید db_name پایگاه داده را بدون تغییر dbid دیتابیس تغییر بدیم. (نکته: در هر حال باید حواستان به اثرات احتمالی هم باشه) 

SQL> shutdown immediate;
Database dismounted.
ORACLE instance shut down.

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

آموزش دوره‌های SQL Fundamentals و Develop PL/SQL

در هفته‌های گذشته دوره‌های آموزشی  SQL Fundamentals و Develop PL/SQL Program Units را در سازمان فناوری اطلاعات شهرداری مشهد با موفقیت به اتمام رساندم. بدینوسیله از همه دوستانی که در مدت 50-60 ساعت برگذاری دوره بنده را تحمل کردند تشکر میکنم.

سرفصلهای دوره‌های فوق که براساس نیازهای سازمان سفارشی‌سازی شده بود.

Oracle Database 11g: SQL Fundamentals

دریافت سرفصل‌ها
حجم: 48.2 کیلوبایت

Oracle Database 11g: Develop PL/SQL Program Units

دریافت سرفصل‌ها
حجم: 194 کیلوبایت

 

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

نگاهی بر معماری Oracle Data Guard - قسمت اول

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

 

بعد از کامل کردن این سری از اسلایدها شما قراره:

  • کامپوننت‌ها و اجزای دیتاگارد رو بشناسید
  • اختلاف بین physical standby و logical standby رو بدونید
  • فواید پیاده‌سازی دیتاگارد رو بشناسید

نکته: کلاً وقتی دیتاگارد راه میندازیم یعنی ۲ تا سرور داریم یکی سرور اصلی primary و یکی سرور دیتاگارد که بهش standby می‌گیم (چون همیشه آماده به خدمته)

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

رفع کرش ناگهانی Oracle Developer Suite 10.1.2.0.2

چند روز پیش دوستی درخواست پچ‌های زیر رو برای سیستم‌عامل ویندوز ۳۲ بیتی داده بود:

patch 5983622, patch 7047034, patch 10396165

در مورد کاربرد این پچ‌ها ایشون اینجور توضیح داده‌اند:

هنگام کار با oracle developer suite 10.1.2.0.2 فرم به صورت خودکار stop working می داد و به اصطلاح crash می کرد به همین دلیل نیاز به patchها ی مطرح شده داشتم

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

My Metalink Server

OneDrive

۰۷ مرداد ۹۵ ، ۱۱:۴۸ ۰ نظر
مهدی غفاری

تغییر اسم اینترفیس شبکه لینوکس از طریق udev

مثلاً فکر کنید سیستم‌عامل ما کارت شبکه رو با اسم wlan0 شناخته ولی ما میخوایم اسم رو به wl0 تغییر بدیم یا بعد از clone گیری از ماشین مجازی تو محیط‌های مجازی‌ساز ممکنه براتون این مشکل پیش بیاد که کارت شبکه‌های ماشین قدیمی تو فایلهای config باقی مونده باشه و سیستم‌عامل شما کارت شبکه‌های جدید رو با شماره‌های بعدی اسم گذاری کرده باشه این در حالیه که موقع راه‌اندازی کلاستر اوراکل اسم اینترفیس‌های شبکه باید یکسان باشند

خب بهترین روش برای عوض کردن اسم دیوایس‌ها از طریق udev ه (udev یه دیوایس منیجر برای کرنل لینوکس‌ه)

در ابتدای راه‌اندازی udev سخت‌افزارها رو میشناسه و براشون طبق استاندارد اسم گذاری میکنه و هر دیوایس رو به صورت یک فایل زیر dev/ قرار میده. udev به طور کلی جانشین devfs و hotplug شده البته هر کدوم از اینها میتونن دیوایس‌ها رو در دایرکتوری dev/ مدیریت کنند و تمام رفتارهای user space کرنل رو بسنجن تا وقتی یک دستگاه جدید add یا remove (به صورت hotplug یا به هر صورت دیگه‌ای) میشه firmware دستگاه رو لود کنند.

نام‌گذاری و مرتب‌سازی کارت‌های شبکه به طور غیر قابل پیش‌بینی اتفاق در هر reboot اتفاق میوفته در کرنل‌های جدید هم اسم‌گذاری کارت‌های شبکه به طور کامل تغییر کرد.

مرحله اول: پیدا کردن MAC آدرس کارت‌های شبکه

# ifconfig -a | grep -i --color hwaddr

مثالی از خروجی:

eth0      Link encap:Ethernet  HWaddr b8:ac:6f:65:31:e5
pan0      Link encap:Ethernet  HWaddr 4a:71:40:ed:5d:99
vmnet1    Link encap:Ethernet  HWaddr 00:50:56:c0:00:01
vmnet8    Link encap:Ethernet  HWaddr 00:50:56:c0:00:08
wlan0     Link encap:Ethernet  HWaddr 00:21:6a:ca:9b:10

MAC آدرس‌ها رو یادداشت کنید.

مرحله دوم: تغییر نام کارت شبکه

برای عوض کردن اسم eth0 به wan0 باید فایل 70-persistent-net.rules رو تو مسیر /etc/udev/rules.d/ پیدا و ویرایش کنید:

# vi /etc/udev/rules.d/70-persistent-net.rules

اسم کارت‌های شبکه ماشین شما در این فایل لیست شده، دنبال خطی باشید که میخواین ویرایشش کنید:

# PCI device 0x14e4:0x1680 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:ac:6f:65:31:e5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

تو این مثال ما میخوایم اسم eth0 رو به wan0 تغییر بدیم پس تو آخر خط "NAME="eth0 رو با "NAME="wan0 عوض می‌کنیم.

# PCI device 0x14e4:0x1680 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:ac:6f:65:31:e5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"

حالا فایل رو save کنید و ماشین رو reboot کنید.

تنظیمات جدید رو ببینید:

# ifconfig -a
# ifconfig wan0
# ifconfig -a | less
# ip addr show

همچنین اگه بعد از reboot و طی بررسی‌هاتون دیدید که فایلی برای اینترفیستون توی مسیر /etc/sysconfig/network-scripts/ وجود نداره یک فایل با نام اینترفیس مثلاً ifcfg-eth0 با مقادیر زیر بسازید:

DEVICE=eth0
HWADDR=08:00:27:76:74:BD
TYPE=Ethernet
#UUID=540e14f4-907c-4bb9-9f59-e5e45c64414d
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp

منبع

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