منبع اصلی نوشتار زیر در این لینک قرار دارد

رفع مشکل 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

ادامه مطلب

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

کانال تلگرام

سلام

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

 

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

https://telegram.me/sweetoracle

 

مهدی غفاری

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش دوره‌های 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 Database 11g – قسمت سوم

نگاهی بر معماری Oracle Database 11g – قسمت اول

نگاهی بر معماری Oracle Database 11g – قسمت دوم

LGWR

کار background process log writer اینه که تمام redo entryها رو که توی log buffer نوشته میشه رو توی redo log file بنویسه

LGWR تعداد نداره یعنی همیشه یکی است و اگه این background process پایین بیاد دیتابیس کلاً shutdown میشه

زمانهای نوشتن:

  • اگر کاربر دستور commit رو بزنه
  • وقتی که 1/3 redo log buffer پر بشه
  • قبل از شروع نوشتن بافر در دیسک توسط DBW
  • هر ۳ ثانیه یکبار

سرعت نوشتن LGWR بسایر بیشتر از DBW ه چون فقط به انتهای یک فایل باینری redo entryها رو میبره

LGWR به صورت چرخشی بین redo log file ها عمل میکنه که بهش log witch میگیم

ادامه مطلب

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

نگاهی بر معماری Oracle Database 11g – قسمت اول

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

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

یادتون باشه اگه معماری اوراکل رو خوب ندونید برای tuning اون نمیتونید مانور زیادی انجام بدید. پس اول باید معماری رو خوب بلد باشیم که چه اتفاقهایی تو سیستم میوفته بعد برای tun‌ کردن دیتابیس اقدام کنیم.

ادامه مطلب

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

مروری اجمالی بر سخت‌افزاری‌های مورد نیاز کلاستر – قسمت دوم

همیشه اینو یادتون باشه اگه io خیلی زیادی دارید best practice اینه که نوع OS شما windows / linux نباشه و بهتره از سخت‌افزارهای RACK Oracle/Sun و OS Sun Solaris استفاده کنید همچنین استفاده از IBM AIX و HP-UX هم توصیه میشه

اوراکل توی چند ساله اخیر اومد گفت که دیگه نسخه 11g به بعد رو برای HP-UX نمیده پس بهتره از Oracle Sun Solaris استفاده کنید

یادتون باشه بسته به TPSهاتون (transaction per seconds) باید سرور رو مشخص کنید مثلاً سرورهای dl محدودیت‌هایی از لحاظ آدرس‌دهی و معماری دارند چون intel بیس‌اند پس در شرایطی که tpsهاتون وحشتناک زیاده (مثلاً در هر ثانیه ۱۰ تا رکورد insert بشه) از dl استفاده نکنید

معمولاً در سازمان‌ها مخلوطی از سرورها با برندهای مختلف رو استفاده می‌کنن مثلاً برای core banking‌ از HP-UX و ماشین‌های IBM و برای سیستم مالی از سرورهای dl و لینوکس استفاده می‌کنن

یادتون باشه برای DBA فرقی نمیکنه نوع سیستم‌عامل چیه و کامل بلد بودن لینوکس برای کار با همه سیستم‌عامل‌ها کفایت میکنه

هارد دیسک

هر هاردی یک صفحه دیسک داره که بهش می‌گیم plate و به خود اون دیسک میگن platter پس ممکنه یک هارد چندین plate داشته باشه

تقسیم‌بندی بالا که به صورت sector و track است بیشتر intel بیسه ولی توی IBM تقسیم‌بندی‌ها عوض میشه و به صورت بلاک/بلاک هستش

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

همچنین سرعت خوندن اطلاعات در مرکز سریعتره چون چرخش دیسک سریعتره

ادامه مطلب

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

Fetching last record from a table

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

آیا دستوری وجود داره که بشه باهاش آخرین رکورد از جدول رو بدست آورد؟

با تشکر

حسن

 

تعریف تو از آخرین رکورد چیه؟

می‌دونی که آخرین رکورد درج شده در جدول می‌تونه اولین رکورد‌ی باشه که توسط “select * from t” بازگشت داده میشه یا ممکنه صدمی باشه، ممکنه هزارمی باشه، در واقع می‌تونه هر رکورد‌ای باشد.

یادت باشه رکوردها در هیچ ترتیب خاصی ذخیره و بازگردونی نمیشن.

ولی اگه آخرین رکورد درج شده را می‌خوای، باید یک فیلد timestamp یا sequence ای برای هر رکورد‌ای که درج می‌شه موقع درج رکورد مشخص کنی اینجوری «آخرین» رکورد رو میتونی داشته باشی یادت باشه این تنها راه است.

یادت باشه تنها راه برای انجام این کار اینه که ستونی داشته باشی که بتونی مرتبش کنی تا «آخرین» رکورد رو پیدا کنی.

 

Rowid و rownum به دلایل زیر کار نمی‌کنند:

Rowid کار نمیکنه. چون داده‌اش بر پایه‌ی ترکیبی از شماره file/block/slot سرور فعلی است. یادت باشه ما از rowid ها دوباره استفاده می‌کنیم، حتی می‌تونیم تغییرشون بدیم (مثلا پارتیشن‌بندی جداول). پس ممکنه که Extent شماره‌ی 1 رو در فایل 55 و Extent شماره‌ی 2 رو در فایل 2 داشته باشید. Extent 4 حتی ممکنه در بلوک 555 از فایل 3 باشه، حتی ممکنه Extent 5 در بلوک 2 از فایل 3 باشه. rowidها قابل مرتب کردن نیستند.

 

Rownum هم کار نمیکنه چون یک ستون منطقیه(در جدول درج نشده) و با هر select شماره ردیف رکوردهای select مربوط رو برمیگردونه

منبع

ادامه مطلب