نصب اوراکل 19c بر روی اوراکل لینوکس 6 با بروزرسانی GLIBC

همانطور که می دانید، اوراکل از نصب نسخه 19c بر روی سیستم عامل Oracle Linux 6.X پیشتیانی نمی کند این مسئله به پایین بودن نسخه GLIBC(GNU libc) موجود در این نسخه از سیستم عامل برمی گردد:

 [root@ol6 ~]# cat /etc/issue

Oracle Linux Server release 6.7

[oracle@ol6 home]$ ./runInstaller

/19c/home/perl/bin/perl: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by /19c/home/perl/bin/perl)

در متن خطا می بینیم که این مشکل به دلیل نبود GLIBC نسخه 2.14 رخ داده است. برای حل این مسئله، می توان GLIBC_2.14(و یا نسخه های بالاتر) را به این نسخه از سیستم عامل اضافه کرد که در ادامه این کار را انجام خواهیم داد.

(بیشتر…)

نگاهی به استثنائاتی در مورد پارامترهای PGA

در مطلب “بررسی پارامترهای PGA” با پارامترهایی آشنا شدیم که قرار است محدودیتی را برای مصرف PGA در سطح پروسس و یا instance ایجاد کنند. در این مطلب خواهیم دید که در بعضی از شرایط مقدار در نظر گرفته شده برای پارامترهای pga_max_size، pga_aggrigate_target_ و حتی پارامتر PGA_AGGREGATE_LIMIT، نمی تواند PGA مصرف شده توسط پروسسها را محدود کند و پروسسها تا جایی که سرور و محدودیتهای سیستم عاملی اجازه می دهد، از RAM و SWAP استفاده می کنند.

به عنوان نمونه، مطابق با داکیومنتهای اوراکل، حداکثر PGA مورد استفاده یک پروسس توسط پارامتر مخفی pga_max_size_ کنترل می شود و علاوه بر این پارامتر، مقدار PGA استفاده شده برای یک پروسس به تنهایی نمی تواند بزرگتر از مقدار تنظیم شده برای پارامتر pga_aggrigate_target  باشد.

(بیشتر…)

بررسی پارامترهای رسمی و مخفی مربوط به PGA

همانطور که می دانید PGA متشکل از قسمتهای مختلفی می باشد که میزان استفاده هر پروسس از هر کدام از این قسمتها را می توان با کمک پارامترهای نظیر sort_area_size، hash_area_size، bitmap_merge_area_size و… کنترل کرد.

با این حال از اوراکل 9i، پارامتر دیگری به نام PGA_AGGREGATE_TARGET اضافه شد که با مقداردهی آن، اندازه هر یک از قسمتهای PGA توسط خود اوراکل مدیریت می شود.

اوراکل تلاش می کند مجموع فضای PGA تخصیص داده شده(pga1+pga2+pga3+…) به پروسسها را به مقدار در نظر گرفته شده برای پارامتر PGA_AGGREGATE_TARGET محدود کند اما در مواقعی، به خصوص در زمان بالا رفتن بارکاری سیستم و یا پایین بودن مقدار پارامتر PGA_AGGREGATE_TARGET، ممکن است مجموع فضای PGA تخصیص داده شده، از مقدار تنظیم شده برای این پارامتر بیشتر شود.

از این رو، مقدار تعیین شده برای پارامتر PGA_AGGREGATE_TARGET صرفا به عنوان یک soft limit در نظر گرفته خواهد شد و حتی در شرایطی ممکن است فضای PGA تخصیص داده شده به یک پروسس، از مقدار تنظیم شده برای این پارامتر تجاوز کند!(مطلب “نگاهی به استثنائاتی در مورد پارامترهای PGA” را مطالعه کنید)

(بیشتر…)

توضیحی در مورد خطای bash- Argument list too long

خطای Argument list too long یکی از خطاهای رایج در محیط لینوکس می باشد که معمولا در زمان کار با تعداد زیادی از فایل در یک دایرکتوری رخ می دهد:

 [root@LinuxHost mydir]# rm –rf *.html

-bash: /bin/rm: Argument list too long

[root@LinuxHost mydir]# cp * /dir1

-bash: /usr/bin/cp: Argument list too long

[root@LinuxHost mydir]# ls -l *

-bash: /usr/bin/ls: Argument list too long

همانطور که از متن خطا مشخص است، تعداد آرگومانهای دستور(که به جای علامت ستاره  قرار می گیرند)، از حد مشخصی بیشتر است.

ls -l file1 file2 file3 … fileN

توضیح آنکه، به صورت پیش فرض، حداکثر طول آرگومانهای یک دستور در محیط لینوکس، برابر با مقدار ARG_MAX می باشد:

[root@LinuxHost  ~]# getconf ARG_MAX

2097152

(بیشتر…)

تفاوتهای Transparent Huge Page با standard Huge Page

Transparent Huge Page سعی می کند بصورت خودکار و با کمترین مداخله ادمین سیستم عامل وهمچنین صرف نظر از applicationای که در سرور در حال اجرا است، Huge Page را مدیریت کند.

این ویژگی(THP) برخلاف standard Huge Page به صورت پیش فرض در بسیاری از توزیع های لینوکس فعال است.

(بیشتر…)

اوراکل 12c-بهبودهایی در زمینه جمع آوری آمار Global Temporary Table

تا قبل از اوراکل 12c، رفتار اوراکل در زمان جمع آوری آمار برای جداول از نوع (global temporary table(GTT تفاوتی با جداول معمولی نداشت و این مسئله می توانست در مواردی چالش برانگیز باشد.

در اوراکل 12c بهبودهایی در این زمینه حاصل شد که در ادامه دو مورد از این بهبودها را مشاهده می کنید.

(بیشتر…)

توابع گروهی و گروه بندی در SQL

در این فصل توابع گروهی و روش های استفاده از آنها معرفی می شوند. این توابع به ازای هر مجموعه از سطرهای جدول یک نتیجه خاص برمی گردانند. همچنین  عبارت های Group By ، Having ، Order by و روش استفاده از آنها به همراه مثال توضیح داده می شوند.

(بیشتر…)

بررسی enq: TX – allocate ITL entry به همراه یک سناریو

دیتابیس اوراکل برای پیاده سازی مفاهیمی چون Data Concurrency و Read Consistency، مشخصات تراکنشها را در قسمتی از هدر بلاک ثبت می کند. این قسمت از هدر بلاک که به آن (Interested Transaction List(ITL هم گفته می شود، می تواند شامل تعدادی slot باشد.

تراکنشها برای تصاحب یک رکورد، باید slotای را در هدر بلاکی که رکورد در آن قرار دارد، در اختیار بگیرند و اطلاعاتی نظیر (transaction ID(XID و (undo block address(UBA و همچنین تعداد رکوردهایی که تراکنش در این بلاک قفل کرده را در این قسمت ثبت کنند البته هر slot صرفا به یک transaction تعلق دارد و هر transaction در هر بلاک، تنها می تواند یک slot را اشغال کند.

با انجام commit و rollback و متعاقب آن، پایان یافتن تراکنش، itl slot می تواند توسط تراکنش دیگری استفاده شود.

(بیشتر…)

توابع در SQL- توابع تبدیل نوع داده و توابع عمومی

توابعی که در این متن توضیح داده می شوند، داده های دریافتی از نوع کاراکتری، عددی یا تاریخ را به نوع دیگر تبدیل می کنند. در ادامه توابعی که مربوط به مقادیر NULL می باشند معرفی می گردند. همچنین روش استفاده از عبارات شرطی با منطق IF THEN-ELSE توضیح داده می شود.

(بیشتر…)