پیش از آنکه وارد زمینه معماری و مفهوم های پایگاه داده اوراکل ۱۱ به پیش و ۱۲ به بالا شویم، می بایست تا اندازه ای در باره وظیفه سرپرست پایگاه داده گفتگو کنیم. کاربران پایگاه داده اوراکل را می توانیم به دو یا سه یا چهار گروه دسته بندی کنیم. دسته ای همان برنامه نویس هایی هستند که هسته پایگاه داده (DBMS) و دیگر مولفه های آنرا نوشته اند. آنها دیدی جدا از دیگر کاربران دارند و بیشتر به الگوریتم ها و شیوه هایی برای انجام روند کاری پایگاه داده توجه دارند.

گروه دیگر، سرپرست های پایگاه داده هستند که باید پایگاه داده را به گونه ای نگهداری و پشتیبانی کنند که همواره بدون از کار افتادن روند کاری پایگاه داده و از دست رفتن داده ها، به دیگر کاربران سرویس دهی را انجام دهد. در این دوره مفاهیمی را آموزش می دهیم که هر سرپرست پایگاه داده باید با آنها آشنا باشد. همچنین در همین نوشته شما را با کارهای متفاوتی که یک سرپرست باید برای نگهداری و پشتیبانی از پایگاه داده انجام دهد، آشنا می کنیم.

گروه دیگر برنامه نویس های پایگاه داده اوراکل هستند که با زبان های SQL و PL/SQL آشنایی داشته و این زبان ها را برای همکنش (تعامل) با پایگاه داده به کار می برند. همچنین ممکن است که از زبان های SQL و PL/SQL در دیگر زبان ها، مانند جاوا، پی اچ پی، پایتون یا سی شارپ نیز کمک گفته شود، تا بتوانیم با پایگاه داده همکنش (تعامل) داشته باشیم.

آشنایی با زبان SQL

آموزش پی اچ پی ۷

کارهای سرپرست و برنامه نویس پایگاه داده رابطه ای

در این نوشته می خواهیم کوتاه شده و چکیده وار کارهایی که یک سرپرست پایگاه داده باید انجام دهد را فهرست کنیم. کارهای یک سرپرست و یا برنامه نویس پایگاه داده می بایست با آنها آشنا باشند را می توانیم به دسته های زیر دسته بندی کنیم. برخی از آنها ویژه مدیر و برخی دیگر ویژه برنامه نویس پایگاه داده است.

  • امنیت (Security)
  • دستر پذیری بالا (High Availability)
  • رایانش گرید (Grid Computing) و رایانش ابری (Cloud Computing)
  • انبار داده ها و هوش تجاری (Data Warehousing and Business Intelligence)
  • یکپارچه سازی اطلاعات اوراکل (Oracle Information Integration)

امنیت

زمینه امنیت خودش شامل زیر دسته هایی می شود که همگی در کنار یکدیگر برای پشتیبانی و نگهداری داده ها از دسترسی های ناروا (غیر مجاز) به داده ها جلویگری شود. بنابراین نخستین گام برای ایجاد امنیت، احراز هویت (Authentication) که بوسیله نام کاربری و گذرواژه انجام می شود. سپس باید بررسی شود که کاربر وارد شده، به کدام از شی های پایگاه داده، کدام فرمان های SQL دسترسی دارد و آیا دسترسی آن به گونه Administrator است یا نه؟ همچنین در پایگاه داده های رابطه ای سامانه RBACK (یا Role Based Access Control) به کار گرفته شده است تا به جای واگذاری هر کدام از Privileges ها به کاربر، چندین Privileges در درون یک نقش (Role) گروه بندی کرده و سپس آن نقش را به کاربر واگذار می کنند. به طور نمونه می توانیم یک نقش برای انجام کارهای اداره کردن User Account ها داشته باشیم، تا آن کاربر بتواند فرمان های SQL را برای ایجاد کاربران انجام دهد.

در این دوره ما به روش ایجاد کاربران، نقش ها و واگذاری آنها به کاربران می پردازیم.

رویکرد دیگر برای ایجاد امنیت و نگهداری و نگهبانی (حفاظت) از داده ها، به کارگیری رویکرد رمزنگاری (Encryption) است تا بتوانیم بوسیله کلید امنیتی (Secret Key) و الگوریتم های رمزنگاری، داده ها را به قالب (فرمت) ناخواندنی (Unreadable) تبدیل کنیم. در کنار رمزنگاری خود داده ها بر روی دیسک، می توانیم رمزنگاری را بر روی شبکه نیز پیاده سازی کنیم. هکرها بوسیله گوش دادن بر روی شبکه، می توانند داده ها را بخوانند، پس بهتر است تا بستر شبکه نیز رمزنگاری را به کار برده باشد، تا از دست رفتن داده ها، پیش گیری شود.

دسترس پذیری بالا

یکی از مهمترین کارهایی که سرپرست باید انجام دهد، پشتیبان گیری (Backup) از داده های پایگاه داده است تا بتوانیم آنها را در زمان بروز ایراد و از دست رفتن داده ها به کار ببریم تا سپس پایگاه داده به زمانی در گذشته بازگردد که در آن به درستی کار می کرده و همه داده ها بوده اند. برای این منظور اوراکل ابزاری به نام RMAN (یا Recovery Manager) را فراهم کرده است.

در کنار به کارگیری رویکرد RMAN برای نگهداری و پشتیبانی گیری و بازیابی (Recovery) از داده ها، باید از خود سرورهای اوراکل نیز در برابر از دست رفتن شبکه و دسترسی نداشتن به سرور از سوی کاربران (کلاینت ها) پیش گیری کنیم. اوراکل برای این چنین زمان هایی نیز رویکرد و راهکاری را فراهم کرده است که RAC یا Real Application Cluster نامیده می شود. در مطلب معماری اوراکل – مفهوم instance در اوراکل تا اندازه ای در مورد RAC آموزش داده شده است. RAC شامل چندین Instance و یک پایگاه داده رابطه ای است که هر Instance درون یک رایانه جدا در حال کار است و در صورتی که یکی از این رایانه ها و از این رو یکی از Instance ها از کار بی افتند، پس رایانه های دیگری هستند که پاسخ گوی درخواست های ورودی کاربران (کلاینت ها) باشند. پس در RAC به جای پیش گیری از دست رفتن داده ها، از کار افتادن سرور ها پیش گیری می شوذ تا همواره اوراکل پاسخ گوی درخواست های ورودی باشد.