از ویکیپدیا: در عصر کلاسیک، وخشور یا وخشگر یا هاتف یا اوراکل (به انگلیسی: Oracle) واسطهای بود که گمان میرفت بتواند اندرزها و مشاورههای بخردانه بدهد یا پیشگویی و پیشبینی و غیبگویی کند یا ملهَم از وقایع آینده باشد و به نوعی مورد عنایت خدایان قرار گرفته باشد.
اولین چیزی که باید بدونیم اینه که بانکاطلاعاتی اوراکل (دیتابیس اوراکل) محصول شرکتی است به نام شرکت اوراکل و این شرکت ایران رو تحریم کرده و ما از داخل ایران حتی نمیتونیم محصولات اوراکل رو دانلود کنیم. همچنین اوراکل یکی از گرونترین بانکهای اطلاعاتی جهانه.
البته این گرونی بابت خود محصول اوارکل نیست و تو فاز توسعه (Development) محصول مجانیه.
ولی وقتی وارد فاز (Production) میشید باید برای خرید لایسنس اقدام کنید، البته این لایسنس فقط برای پشتیبانی محصوله.
نکته: بانکاطلاعاتی پیچیدهای مثل اوراکل حتماً احتیاج به پشتیبانی از سمت خود شرکت اوراکل رو داره.
شرکت اوراکل در دهه ۷۰ میلادی توسط شخصی بنام لارنس (لری) الیسون تأسیس شد. اولین مشتری شرکت اوراکل CIA بوده و امروزه اوراکل یکی از بزرگترین و قدرتمندترین شرکتهای حوزه It محسوب میشه، این در صورتیه که شرکت اوراکل PeopleSoft رو خریده Sun Microsystems رو خریده چون Sun رو خریده پس هم صاحب Java و هم Mysql شده همچنین Weblogic رو خریده و به همین شدت داره توسعه پیدا میکنه تا جایی که امروزه شرکت اوراکل خطوط هوایی داره و جزوی از سهامداران شرکت تویوتا است.
نکته: از این رو که بودجه CIA پشت شرکت اوراکله در سازمانهای نظامی ایران (مثل وزارت دفاع، سپاه و ...) از دیتابیس اوراکل استفاده نمیشه.
نکته: از این به بعد منظور من از اوراکل بانکاطلاعاتی اوراکله
پروژههای خوبی تو ایران روی بستر اوارکل بسته شده به عنوان چند نمونه میشه به پروژه: یکپارچهسازی سیستمهای هوایی ایران، کارت ملی هوشمند، پروژه هواپیمایی IATA و همچنین اکثر بانکها اشاره کرد.
رقیب اصلی اوراکل رو میشه DB2 محصول شرکت IBM دونست.
اوراکل توانایی سرویسدهی همزمان به چندین نمونه(Instance) را داره که این قابلیت را (RAC (Real Application Cluster میگن.
نکته: DB2 و اوراکل بالاترین سقف پوششدهی transaction ها رو روی یک سختافزار خاص دارن و محدودیت transaction ندارن.
نکته: یادمون باشه خیلی از مواقع عاقلانهترین کار اینه که دیتابیس یه پروژه رو sqlserver, mysql یا postgresql ببندیم ولی عموماً روی سقف دادههای بالا و transaction های خیلی زیاد اوراکل دستتون رو بازتر میذاره و بهتر جواب میده.
( یه مثالی میزنم شاید جالب باشه: آدم هیچوقت روانی نیست وسایل یه اتاق رو با کامیون ۱۸ چرخ جا به جا کنه یا وسایل یه دانشگاه رو با یه وانت جا به جا کنه یادمون باشه هر tools ای برای کاری ساخته شده و اوراکل و DB2 هم معمولاً برای سقفهای دادهای وحشتناک بالا یا ذخیرهسازیهای بسیار زیاد مثل wearhouse ساخته شدهان)
در مورد sqlserver هم میشه گفت نسبتاً به اوراکل نزدیک شده و ورژنهای آخرش نسیتاً قابل مقایسه با اوراکل است. (چون به عنوان مثال اصلاً نمیشه ورژن sqlserver 2000 رو با 9i اوراکل مقایسه) ولی دیتابیس اوراکل تقریباً یه stop ای کرده و sqlserver داره بهش میرسه.
به عنوان مثالی کاملتر یه مفهومی تو اوراکل از ورژن 8 بود برای مدیریت cpu و ram هر session ای که به دیتابیس وصل میشه (profile) که این مفهوم تو ورژنهای جدید sqlserver به وجود اومده و امکان پروفایل برای هر session هست.
البته با تمام این حرفها میشه گفت sqlserver آینده خوبی داره ولی توی جاهایی که اطلاعات با حجم بالا و transactionهای سنگینی موجوده قطعاً اوراکل و DB2 حرف اول رو میزنن.
چرا از DB2 استفاده نمیکنیم: چون DB2 بهترین performanse خودش رو روی mainframe میده و این اشتباه محضه که بیایم و DB2 رو روی یک سرور معمولی نصب و استفاده کنیم.
ذات دیتابیس اوراکل یک RDBMS است ولی بدون کانفیگ خاصی قابل تبدیل به ORDBMS هم هست.
نکته: اوراکل تنها RDBMS جهانه که قابلیت تبدیل به ORDBMS رو هم داره.
نکته: DB2 ذاتاً یک ORDBMS ه که همونطور که شاید بدونید همهی ORDBMSها خودشون RDBMS هم هستند.
خب یه ذره بیشتر راجع به بانکاطلاعاتی اوراکل: بالاترین ISO امنیتی رو فعلاً این بانک داره و بعد از اوراکل DB2
اوراکل بینظیره تو خیلی از مسائل مثل پشتیانگیری، توی پوششدهی transactionها توی یک سختافزار واحد
البته یکی از مشکلات اوراکل نسبت به sqlserver اینه که خیلی خیلی سنگینه به عنوان مثال شما با ۴ گیگ رم وقتی اوراکل رو با یه مخزن نصب میکنید سیستمعاملتون قطعاً بال بال میزنه و به طور کامل تمام منابع سیستم رو به خودش اختصاص میده
ورژنهای پیشنهادی من از اوراکل ورژنهای 9i و 12c است. البته انتخاب ورژن بستگی زیادی به منابع و نوع کار شما داره.
اوراکل با ۲ زبان برنامهنویسی C, Java نوشته شده.
اوراکل برای تمام سیستمعاملهای مهم جهان برای بحث سرور ورژن اختصاصی داره این سیستمعاملها عبارتنداز:
Windows, Solaris, Linux
نکته: تا امروز شرکت اوراکل نسخهای از دیتابیس خودش رو برای سیستمعامل Mac ارائه نداده
اوراکل از ۳ زبان پشتیبانی میکنه:
SQL, PL/SQL, SQLJ
نکته: هر بانکاطلاعاتی لهجه خاص خودش رو برای sql داره و حتماً باید قبل از نوشتن دستورات sql به لهجه بانکاطلاعاتیتون توجه کنید.
برای کار با زبان sqlj حتماً باید جاوا رو تا سطح قابل قبولی بلد باشید. همچنین PL/SQL سینتکسی مشابه با زبانهای Ada, Pascal داره.
نکته: به غیر از اوراکل بانکاطلاعاتی DB2 هم از SQLJ پشتیبانی میکنه و در حقیقت هم IBM بنیانگذار SQLJ بوده.