maniei.ir

maniei.ir

یاد من باشد فردا حتما باور این را بکنم، که دگر فرصت نیست و بدانم که اگر دیر کنم ،مهلتی نیست مرا و بدانم که شبی خواهم رفت و شبی هست، که نیست، پس از آن فردایی
maniei.ir

maniei.ir

یاد من باشد فردا حتما باور این را بکنم، که دگر فرصت نیست و بدانم که اگر دیر کنم ،مهلتی نیست مرا و بدانم که شبی خواهم رفت و شبی هست، که نیست، پس از آن فردایی

مقایسه فنی مهم‌ترین بانک‌های اطلاعاتی جهان؛ Oracle و SQL Server

 
شرکت مایکروسافت مدعی است که ابزارهای جدیدی برای مدیران بانک‌های اطلاعاتی یا همان DBAها در نسخه جدید SQL Server 2005 قرار داده است که بسیار خوب توانسته است مشکلات نسخه قبلی آن را مرتفع نماید، اما جالب اینجا است که همه امکاناتی که SQL Server 2005 به تازگی برای DBAها فراهم کرده است، از نسخه Oracle 8i در نرم‌افزار اوراکل موجود بوده است.


درباره نصب این دو نرم‌افزار باید گفت که نصب اوراکل از SQL Server هنوز بسیار مشکل‌تر است و کار کردن با آن سخت‌تر؛ و شاید این دلایل باعث می‌گردد برخی از برنامه‌نویسان به سمت SQL Server بروند. DBA شدن در بانک‌اطلاعاتی SQL Server کار سختی نیست. کافی است مدتی با آن نرم‌افزار کار کرده باشید، و چند ماهی تجربه داشته باشید. ولی DBA شدن حرفه‌ای در اوراکل کار بسیار دشواری است. 

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

از لحاظ قیمت (البته نه در ایران که اکثراً قانون کپی‌رایت را رعایت نمی‌کنند) قیمت SQL Server کمتر از اوراکل است و سرویس‌های ارائه شده توسط SQL Server را می‌توان در صورت لزوم خریداری نمود، ولی اوراکل تقریباً شما را از تمام چیزهایی که در بانک‌های اطلاعاتی می‌خواهید، بی‌نیازمی‌نماید؛ البته بهای آن گران است.

مقدمه

بدون‌شک می‌توان گفت که بانک‌های اطلاعاتی اوراکل و SQL Server، از مهم‌ترین بانک‌های اطلاعاتی امروز به شمار میآیند. این سؤال که کدام یک از این دو از دیگری بهتر است، ممکن است فکر بسیاری از برنامه‌نویسان و شرکت‌های تولید کننده نرم‌افزار را مشغول کرده باشد.

از طرفی مایکروسافت، به عنوان غول نرم‌افزاری ادعا می‌کند که SQL Server از اوراکل‌ ساده‌تر و بهتر است. اوراکل هم از سوی دیگر می‌گوید محصول او از خیلی جهات بر SQL Server برتری دارد.

این مقاله سعی دارد به سؤالات شما در مورد تفاوت‌های فنی این دو بانک اطلاعاتی تا حدی جواب دهد.  در ابتدای این مقاله معماری این دو بانک اطلاعاتی با هم مقایسه می‌گردد، سپس کامپوننت‌های شبکه هر دو بانک اطلاعاتی با یکدیگر مقایسه می‌شوند.

در این مقاله امکانات مرتبط با کارایی پایگاه‌های اطلاعاتی‌ (Performance)، ابزار (Utility) و Replication در بانک‌های اطلاعاتی بسیار بزرگ یا همان VLDB یا Very Large Data Bases و OLTP یا Online Transaction Processing مورد بررسی قرار خواهند گرفت و ابزارهای جدید SQL Server 2005 که در حقیقت سعی دارد با اوراکل رقابت کند، مورد بررسی قرار خواهند گرفت‌.‌

معماری بانک اطلاعاتی

در اوراکل هر دیتابیس شامل تمامی امکانات پایگاه رابطه Relational Database ،Instance (پروسه‌های پایگاه داده‌های اوراکل و بافرها، فایل‌های تنظیمی مانند config.ora و init.ora، لوگ‌های بازگشت به حالت قبلی یا Redo Logs؛ SYSTEM Teblespace و دیگر انتخاب‌های دلخواه است.

در نسخه جدید SQLServer، دیتابیس در واقع به گروهی از اسکیما (Schema)های پایگاه داده گفته می‌شود که به صورت فیزیکی در فایل‌ها ذخیره می‌شوند. دیتابیس‌ها به دو صورت تعریف شده از طرف کاربر (user defined) و تعریف شده از طرف سیستم (system defined) تقسیم می‌شوند.

در SQL Server یک نمونه یا Instance می‌تواند چندین دیتابیس را پشتیبانی نماید و در هر کامپیوتر چندین Instance می‌تواند با هم کار کند.

وقتی SQL Server را راه‌اندازی می‌کنید، دیتابیس‌هایی همچون MD یا Msdb database، Model Database (برای پشتیبانی کردن Agentها) و Tempdb Database (پایگاه اطلاعات موقت مانند پایگاه موقت اوراکل OracleTemp Tablespace؛ البته با این تفاوت که در SQL Server خود کاربران می‌توانند این پایگاه‌ها را درست کنند، ولی در اوراکل این امکان وجود ندارد)، به صورت پیش‌فرض ساخته می‌شوند.

در SQL Server برای این‌که بتوانیم اطلاعات خود را به صورت فیزیکی غیرمتمرکز (Distribute) نگه‌داریم، هر دیتابیس می‌تواند از چندین Filegroup پشتیبانی نماید. با این کار می‌توان به راحتی از اطلاعات کپی پشتیبان گرفت.  همان‌طور که در شکل 1 مشاهده می‌کنید، در SQL Server، دیتابیس‌ها در واقع همان کار tabalespaceها در اوراکل را دارند. 

شکل 1

اگر به شکل 1 نگاه کنید، می‌بینید که در هر دو بانک‌ اطلاعاتی، کاتالوگ سیستم وجود دارد. هر پایگاه اطلاعاتی یا دیتابیس در اوراکل یک سیستم کاتالوگ مرکزی یا دیکشنری داده ‌‌(Data Dictionary) را در قسمت SYSTEM Tablespace اجرا می‌کند، ولی در SQL Server 2005 هر دیتابیس سیستم کاتالوگ خود را درست می‌کند.

این سیستم کاتالوگ اطلاعاتی همچون اشیای پایگاه داده (مانندTable ،View و Procedure)، اطلاعات کاربران و دسترسی‌های آن‌ها، Constraintsها، User-Defined data type و Snapshot definition را شامل می‌شود.

البته اطلاعاتی همچون اسامی دیتابیس‌ها، اطلاعات سرور، مدیریت پیغام‌ها و Stored Proceduresهای سیستم درMaster Database وجود دارند.

نکته اینجاست که  SQL Server 2005 ،objectهای سیستم در این Master Database قرار نمی‌گیرند. این  آبجکت‌ها در دیتابیس‌های مخفی سیستم به نام resource database یا پایگاه اطلاعات منابع سیستم ذخیره می‌گردند.

در واقع‌ سیستم کاتالوگ‌ها در SQL Server 2005 منابعی هستند برای استخراج اطلاعات دیتابیس‌ها و این کاتالوگ‌ها را کاربران نیز می‌توانند مشاهده کنند.

برای حصول اطمینان از کارایی و سلامت سرور در DMV، SQL Server 2005 یا Dynamic Management Views استفاده می‌شوند؛ درست شبیه اوراکل که از viewهای $ V برای کنترل کارایی استفاده می کند.

اجزای تنظیم کننده شبکه

شکل 2

شکل 2 ساختار اجزای تنظیم کننده شبکه در این بانک‌های اطلاعاتی را نشان می‌دهد. در اوراکل  کامپوننتی به نام Oracle Net Service وجود دارد که عامل ارتباطی سرور اوراکل با کلاینت‌های آن است.

اوراکل این کار را با استفاده از پروتوکل TNS یا Transparent Network Substare انجام می‌دهد، اما در SQL Server این کار توسط پروتکل‌های شبکه موجود در کلاینت و سرور انجام می‌گیرد.

البته در  SQL Server 2005  فناوری جدیدی به نام SNAC یا SQL Server Native Client، معرفی گردیده که در واقع ترکیبی است از ODBC و OLEDB در یک تابع کتابخانه‌ای. SNAC توانایی پشتیبانی TDS یا Tabular Data Stream و Net Lib را برای پروتکل‌های گوناگون در SQL Server دارد.

ساختار فیزیکی و منظقی ذخیره اطلاعات

شکل 3 نگاهی مقایسه‌ای دارد به دو بانک اطلاعاتی اوراکل و SQL Server از لحاظ ساختار اطلاعاتی. همان طور که در این شکل می‌بینید، در SQL Server اندازه صفحات (8kb، (page size است که واحد پایه ورودی/ خروجی به شمار می‌رود.

هر صفحه فقط متعلق به یک آبجکت، مانند data ،index ،GAM  و.. است. SQL Server برای افزایش کارایی این صفحات آن‌ها را در دسته‌های هشت‌تایی قرار می‌دهد که به آن Extent می‌گوییم. این Extentها می‌توانند به چند آبجکت متفاوت تعلق داشته باشند.

شکل 3

هر Extent  که تمام صفحاتش آبجکت‌های مانند هم داشته باشد Uniform نامیده می‌شود و به Extentهایی که آبجکت‌های یکسانی ندارند، Mixed می‌گویند.

SQL Server در دیتابیس‌های خود از Filegroupها استفاده می‌کند تا کنترل فضاهای فیزیکی جداول و ایندکس‌ها را در اختیار کامل داشته باشد. این Filegroupها از یک یا چند فایل تشکیل شده‌اند و اطلاعات موجود در آن می‌تواند در تمام فایل‌های آن Filegroup ذخیره شود.

با استفاده از Filegroup می‌توان جداول بزرگ را در چند فایل ذخیره نمود و از این طریق کارایی ورودی/ خروجی را بالا برد، می‌توان عملیات کپی پشتیبان و بازآوری جداول را انجام داد و داده‌هایی مانند تصویرو فایل‌های متنی بزرگ را در فایل‌های جدا ذخیره نمود.

برخلاف SQL Server، بانک اطلاعات اوراکل از Tablespaceهایی تشکیل شده است که خود از Data File تشکیل شده‌اند. این Data Fileها در واحدهایی به نام Block طبقه‌بندی می‌شوند که مدیر بانک اطلاعاتی (DBA) می‌تواند اندازه آن را وقتی که در حال ساخت دیتابیس است تعیین کند. برخلاف SQL Server، در اوراکل وقتی یک شیء در Tablespace تولید می‌شود، کاربر می‌تواند فضای آن را مشخص کند.

مقایسه SQL Server 2005 و Oracle 10g 

اگر چه SQL Server 2000 یکی از قوی‌ترین بانک‌های اطلاعاتی است و خیلی از شرکت‌ها و سازمان‌های بزرگ امروزه از آن به عنوان پایگاه داده‌های خود استفاده می‌کنند، چند محدودیت هم دارد. یکی از محدودیت‌های SQL Server 2000 در طریقه قفل کردن یا Locking Strategy است.

در MS SQL 2000 مانند اوراکل می‌توان دسترسی همزمان به پایگاه را محدود کرد و آن را به اصطلاح قفل نمود.  ولی در MS SQL 2000 امکان Deadlock خیلی زیاد است؛ مخصوصاً در CTF یا Correct Transactional Flows.
 
از طرف دیگر، اعمال تغییر در بانک‌های  اطلاعاتی  به صورت آنلاین یکی دیگر از محدودیت‌های آن است. البته با استفاده از DBCC INDEXDEFRAG در SQL Server 2000 می‌توان قسمتی از ایندکس‌ها را به صورت آنلاین تغییر داد، ولی نه به صورت کامل.

(البته  این مشکل در  SQL Server 2005 تا حدی حل شده است). در اوراکل از نسخه 1/8 تا به حال، امکان تغییر و جابه‌جایی جداول و ایندکس‌ها وجود دارد؛ بدون این‌که به exclusive lock نیاز داشته باشیم. البته ناگفته نماند که نسخه‌های 2/9 اوراکل در این قسمت دارای اشکالات و باگ‌هایی نیز بوده‌اند، ولی این اشکالات در نسخه آخر اوارکل برطرف شده است.

در ادامه، ساختار و امکانات هر دو بانک‌اطلاعاتی Oracle 10g و SQL Server 2005 با یکدیگر مقایسه می‌گردند.

مدیریت بانک اطلاعاتی

SQL Server 2005 مانند دیگر محصولات مایکروسافت قسمت مدیریت ساده و شکیلی دارد که می‌توان با آن به راحتی کار کرد و با استفاده از خط دستور در SQLCMD، ابزار مدیریتی DAC یا‌ Dedicated Administrator Connection را اجرا نمود. همچنین می‌توان از قابلیت Policyها برای کاربران و صاحبان بانک‌های اطلاعاتی استفاده نمود.

گذشته از پیچیدگی‌های موجود در اوراکل، قابلیت‌های مدیریتی آن بسیار بیشتر از MS SQL است. اوراکل سیستم رمزدهی بسیار قدرتمندی دارد که از نسخه 7 به بعد همراه آن بوده است. در اوراکل می‌توان امکان ارتباط با User و سپس با Schema خاص را به راحتی امکانپذیر نمود.

مثلاً  فرض کنید که با کاربر Sys2 به اوراکل متصل هستید و می‌خواهید روی DB2 Schema  کار کنید. کافی است دستور زیر را وارد کنید:
                                                                               ;ALTER SESSION SET CURRENT_SCHEMA=DB2

سیستم LOCKING

یکی از قابلیت‌هایی که در نسخه جدید SQL Server به آن اضافه شده است، قابلیت SI یا Snapshot Isolation است که در حقیقت قابلیت نسخه‌برداری از ردیف (row)های جداول است. با این کار در موقع بروزآوری جداول، امکان انتخاب همزمان اطلاعات آن جدول نیز وجود دارد.

در اوراکل چیزی شبیه این مکانیزم وجود دارد که به آن Oracle Flashback Query می‌گویند. البته بین این دو مکانیزم تفاوت‌هایی نیز وجود دارد: اوراکل از Undo Segment برای برگشت به رکورد قبلی استفاده می‌کند. در صورتی که SQL Server 2005 از TempDB استفاده می‌کند.

MetaData در اوراکل مانند جداول مدیریت می‌گردد. در نتیجه در زمان اجرای درخواست‌ها چند DDL یا Data Definition language می‌توانند به صورت همزمان به فعالیت مشغول باشند، ولی در SQL Server 2005، فعالیت DLLها مستقیماً روی جداول انجام می‌پذیرد.

در اوراکل عملیات Locking در DB Block انجام می‌پذیرد، ولی در SQL Server این کار در هر ردیف جدول انجام می‌شود. البته مایکروسافت ادعا می‌کند که این کار باعث افزایش سرعت و کارایی جداول می‌گردد، ولی وقتی سرعت و کارایی آن را با اوارکل مقایسه می‌کنیم، می‌بینیم که هر دو  از کارایی یکسانی برخوردارند.

تغییر ساختاری  آنلاین

همان‌طور که قبلاً بحث شد، قبل از نسخه جدید SQL Server 2005 تنها از طریق DBCC Indexdefrag می‌توانستیم مثلاً ایندکس را عوض کنیم (البته باید ازExclusive lock  استفاده می‌کردیم)، ولی اکنون این مشکل حل شده است و می‌توان همزمان با بازسازی چند ‌DDL را نیز اجرا نمود.

در اوراکل می‌توان حتی تمام ساختار جداول و ایندکس‌ها را بدون Exclusive lock تغییرداد. البته برای اتمام عملیات باید از Momentary lock استفاده شود.

Partitioning و Clustering 

نسخه جدید SQL Server به تازگی قابلیت جداسازی فیزیکی جداول و ایندکس‌ها را پیدا کرده است. در اوراکل قابلیت Partitioning به چند صورت امکانپذیر است و DBA می‌تواند بر اساس range ،list و hash این کار را انجام دهد.

حتی می‌توان این کار را در دو رده انجام داد. مثلاً می‌توانیم جدولی را به دو قسمت براساس list جداسازی کنیم و هر کدام از قسمت‌ها را بر اساس hash دوباره جداسازی نماییم. این قابلیت اوراکل را می‌توان در جداولی که رکوردهای زیادی دارند، به کار برد. البته این قابلیت در SQL Server 2005 وجود ندارد، ولی می‌توان آن را شبیه‌سازی نمود.

SQL Server 2005 در Partitioning از قابلیتی مانند اوراکل برخوردار نیست. با این حال راه‌حل ساده‌تری را ارائه می‌کند. در SQL Server 2005 می‌توان با استفاده از UDF یا User Defined function این کار را انجام داد.

در مورد Clustering ،SQL Server 2005 پشتیبانی خوبی دارد، ولی طراحی و مدیریت این کار سخت است و کارایی زیادی نیز ندارد. از طرف دیگر اوارکل RAC/GRID را در نسخه 10g ارائه کرده است که می‌توان از آن به عنوان امتیازی مسلم در مقابل SQL Server 2005 نام برد. اوراکل همچنین از سیستمی جدید به نام ASM یا Automatic Storage Management استفاده می‌کند که در Clustering مورد استفاده قرار می‌گیرد.

ایندکس و Tuning

ساختار مرتب‌سازی و ایندکس در SQL Server 2005 هنوز بر اساس BTree است و در مقابل indexing قدرتمند در اوراکل ساختاری نسبتاً دارد. اوراکل هم از BTree استفاده می‌کند، ولی از سیستم indexing به نام Bitmap نیز هم استفاده می‌کند که در جست‌وجوی ستون‌هایی با انتخاب کم بسیار خوب عمل می‌کند.

اضافه بر این اوراکل از Oracle key based cluster نیز در ایندکس استفاده می‌کند که کارایی بانک‌اطلاعاتی در انتخاب رکوردهایی انتخابی از چند جدول مرتبط با هم با ستون‌های مشابه را بالا می‌برد.

در اواکل و SQL Server هر دو می‌توان برای Functionهایی که روی ستون‌های جدول است، ایندکس درست کرد و در هر دوی آن‌ها می‌توان MV یا Materialized view تهیه نمود. MVها در حقیقت viewهای آماده هستند که می‌توان از آن به جای متصل کردن چند جدول استفاده کرد.

SQL Server 2005 در مقایسه با  اوراکل 10g، در aggregation و functionها محدودیت‌هایی دارد. مثلاً در index view نمی‌توانیم از Distinct ،NOT و ... استفاده کنیم و امکان مثلاً Sum کردن نیست.

کپی پشتیبان و بازیابی اطلاعات

همان‌طور که قبلاً نیز اشاره شد در نسخه‌های قبلی SQL Server نمی‌توانستیم به صورت آنلا‌ین از اطلاعاتمان کپی بگیریم، ولی در نسخه جدید SQL Server 2005 مدیران بانک‌های اطلاعاتی می‌توانند به راحتی عملیات کپی و بازیابی اطلاعات را به صورت آنلاین انجام دهند.

در حالی که سرور در حال کار کردن است. اوراکل نیز  ساختاری شبیه این را با استفاده از Tablespaceها انجام می‌دهد. البته در Tablespaceهای اوراکل نمی‌توان اطلاعات قبلی را در Tablespace بازیابی نمود و از آن‌جایی که در هر Tablespace یک Metadata وجود دارد، این Tablespaceها نمی‌توانند کامل باشند.

البته اوراکل دارای ابزار بازیابی اطلاعات کاملی است و می‌تواند با کمک گرفتن از Redo logها این کار را آسان کند.
اوراکل با استفاده از logical dump‌هایی که می‌سازد، می‌تواند مشکلی که باعث نیاز به بازیابی می‌شود را  شناسایی کند. البته SQL Server هم ابزارهایی مانند DBCC PAGE و DBCC LOG دارد که مانند ابزارهای اوراکل عمل می‌کند.

انتقال و‌ ورود اطلاعات (Export  and  Import)

یکی از امکانات جدید Oracle 10 g برای انتقال یا صادر کردن اطلاعات به data pump معروف است. data pump ساختاری binary دارد. اوراکل این کار را توسط دو گزینه که برای صادر و دو گزینه برای وارد کردن اطلاعات دارد، انجام می دهد. این دو گزینه exp/data و imp/data هستند.

اضافه بر این، در اوراکل ابزار sqlldr نیز وجود دارد که اختصاصاً برای import کردن اطلاعات متنی به کار می‌رود. از طرف دیگر SQL Server2005 دارای دو گزینه برای export و import است؛ به نام‌های bcp و Bcp .DTS می‌تواند اطلاعات را (به صورت متنی) import یا export  کند و حتی می‌تواند اطلاعات را به فرمتی ذخیره کند که بانک‌های اطلاعاتی دیگر نیز بتوانند از آن استفاده کنند.

DTS نیز یکی از پر سرعت‌ترین ابزارهای انتقال اطلاعات در SQL Server است که در مقایسه با اوراکل بسیار سریع‌تر و کار با آن آسان‌تر می‌باشد. اوراکل نیز در نسخه جدید خود از ابزار ‌WisdomForce FastReader استفاده می‌کند که می‌تواند با سرعت زیاد کار export و import را انجام دهد و اطلاعات را با فرمت متنی آماده سازد. از این ابزار می‌توان برای انتقال اطلاعات بین اوراکل و بانک‌های اطلاعاتی دیگر مانند MS SQL ،2DB ،Sybase استفاده نمود.

امکانات موجود برای برنامه‌نویس‌ها
یکی از امکاناتی که اوراکل در اختیار برنامه‌نویسان قرار می‌دهد، امکان استفاده از Exception Handling است که توسط PL/SQL قابل دسترسی است. در SQL Server 2005 نیز این امکان توسط Transcat-SQL مهیا شده است.

در مبحث Queuing ،SQL Server 2005 ابزاری به نام Server Broker دارد که می‌تواند امکان استفاده از Queing را برای برنامه‌نویسان فراهم سازد، اما در اوراکل ابزاری قوی به نام Oracle Advanced Queuing وجود دارد که کار Queing را به صورت کامل انجام می‌دهد.

SQL Server 2005 می‌تواند کمک بیشتری به برنامه‌نویسان بکند؛ زیرا از NET. استفاده می‌کند، ولی بر خلاف آن، هسته اوراکل از جاوا درست شده است و مستقیماً فقط می‌تواند توسط PL/SQL اجرا شود. در نتیجه در SQL Server 2005 می‌توانیم به صورت مستقل از دستورات NET. استفاده کنیم.

از طرف دیگر از آنجا که جاوا هسته اوراکل را تشکیل می‌دهد، نگهداری آبجکت‌های جاوای درون اوراکل درست مانند نگهداری یک سرور جاوا می‌باشد، ولی SQL Server 2005 تنها در برخی قسمت‌ها مانند اشکال‌یابی از NET trigger. استفاده می‌کند و حجم سنگینی ندارد.

امکانات ویژه  SQL Server 2005

- ‌SQL Server 2005 :Replication ابزار Replication بسیار قدرتمندی دارد که می‌تواند از اوراکل به SQL Server یا بلعکس Replication انجام دهد.

- Notification: در SQL Server 2005 سرویس Notification یکی از سرویس‌هایی است که می‌توان با آن در ‌Alertهایی مانند Stock Market استفاده نمود.

- Reporting Services: یکی از امتیازات SQL Server 2005 در مقایسه با اوراکل، داشتن سرویس گزارش‌های داخلی است که با استفاده از آن می‌توان انواع گزارش‌ها را استخراج نمود. البته اوراکل هم دارای Oracle IAS است که کار گزارش‌گیری را حتی قوی‌تر از SQL Server انجام می‌دهد، ولی مانند SQL Server 2005 در داخل بانک اطلاعاتی نیست و به صورت خارجی عمل می‌کند. همچنین خرید آن نیز هزینه زیادی خواهد داشت.

- Identity: در اوراکل نمی‌توان به صورت خودکار کلید اصلی یا Primary key را تعریف کرد. در صورتی در SQL Server2005  این امکان وجود دارد. البته اوراکل دارای Sequence است، ولی نگهداری این Sequenceها توسط مدیر سیستم کار آسانی نیست.

امکانات ویژه ‌Oracle 10g

- Auditing: در اوراکل این کار با استفاده از پارامتر جدید audit_trail=db_extended, init.ora انجام می‌پذیرد که می‌توان از تمامی جست‌وجوها به همراه مقادیر ورودی هر یک از آن‌ها اطلاعات ذخیره کرد. این کار در SQL Server2005 تنها با استفاده از Trace امکانپذیر است. آن هم نمی‌تواند مقادیر Bind شده اطلاعات را نشان دهد و استفاده از آن نیز می‌تواند کارایی سرور را تا حد زیادی پایین بیاورد.

- Logminer: در‌ اوراکل ابزاری به نام Logminer وجود دارد که می‌تواند تاریخچه تمامی DML یا DDLهای کل پایگاه اطلاعاتی را به ما بدهد. SQL Server2005 این ابزار را ندارد، ولی می‌توان از Lumigent Log Explorer برای مشاهده برخی از این تاریخچه استفاده کرد.

- Flashback Query: این امکان در نسخه جدید Oracle 10g عرضه گردید و با کمک آن می‌توان اطلاعات از دست رفته را بازیابی کرد.

- Rollback Statistics: در اوراکل اگر عملیاتی سنگین در وسط کار انجام نپذیرد، می‌توان آن را Rollback کرد. Rollback statistics می تواند به شما بگوید چه زمانی طول خواهد کشید که Rollback انجام شود و عملیات پایان پذیرد. کافی است جست‌وجوی زیر را به کار ببرید:
V$FAST_START_TRANSACTIONS
این قابلیت در SQL Server2005 وجود ندارد.  

- AWR یا Automatic Workload Repository تصور کنید که بانک اطلاعاتی شما بسیار حجیم است، ترافیک زیادی دارد و جوابگویی آن به کلا‌ینت‌ها کُند شده است. با استفاده از AWR در Oracle 10g می‌توانیم مشکل را بررسی کنیم و تشخیص دهیم چه مشکلی در سیستم وجود دارد. اوراکل این کار را با استفاده از درست کردن Viewهای زیر انجام می‌دهد.
v$sysmetric_history for v$sysmetric
v$active_session_history for v$active_session
v$waitclassmetric_history for v$waitclassmetric
v$session_wait_history for v$session_wait
v$servicemetric_history for v$servicemetric

- پشتیبانی از OO یا Oracle :Object Oriented قابلیت‌های شیءگرا (object oriented) دارد. برای همین، این بانک اطلاعاتی را می‌توان بانک اطلاعاتی رابطه‌ای شیءگرا نیز نامید. با استفاده از این قابلیت، برنامه‌نویسان می‌توانند Class و Objectهای برنامه شیء‌‌گرای خود را مستقیماً به جداول بانک اطلاعاتی Map  کنند.

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد