اضافه کردن مخزن و حافظه “مدیریت حافظه به صورت اتوماتیک، امکانی است برای اینکه مدیر پایگاه اطلاعات به کارهای دیگر خود رسیدگی کند.” مدیر بانک اطلاعاتی برای مدیریت فضای دیسک زمان زیادی را صرف میکند.برای زیاد کردن سرعت1/O ، اطلاعات را به همراه مدیریت دیسک های فیزیکی در سرتاسر این دیسکها گسترش میدهیم. اکثر اوقات این کار توسط مدیر سیستم عامل، کسی که بهصورت منطقی حجم را مدیریت میکند (LVM Logical Volume Manager)، برای کامباین کردن تعداد زیادی دیسک فیزیکی داخل یک حجم منطقی که مورد استفاده Oracle Database است، انجام میشود. زمانی که فضای منطقی ما حجمش از فضای فیزیکی زیادتر میشود، باید تعطیلات را صرف اضافه کردن یک درایو جدید به فضای قبلی کنیم و اطلاعات را مجدداً درون همه درایوها بهصورت متعادل پخش کنیم تا بهصورت نرمال و اولیه خود برگردد. این مراحل حجم کاری بسیار زیادی را برعهده مدیر پایگاه دادهها میگذارد. در پایگاه دادههایOracle10g یک امکان جدید به نام Automatic Storage Management (ASM)به وجود آمده که در این مقاله ما به شناخت ASM میپردازیم: ASM چیست؟ ASMترکیبی است از مدیریت حجم منطقی و فایل سیستم هایی که درون پایگاه اطلاعاتی ما ذخیره میشوند. در نسخههای قبلی اوراکل مدیریت این حجم ها توسط LVM صورت میگرفت، از قبیل تعریف کردن گروهی دیسک. این عملیات در Oracle 10g توسطASM صورت میگیرد. به این صورت میتوانData File ها ،Control Fileها وLog File ها را روی گروه های تعریف شده جاسازی کرد. ASM بهگونهای عمل میکند که فایل سیستم های اوراکل را میسازد و اطلاعات را در سرتاسر دیسک های موجود پخش میکند. ASM به گونهای طراحی شده است که اطلاعات را برای ما در چندین دیسک ذخیره کند و همچنین اطلاعات روی دیسکها را اضافه یا حذف کند که تمام این کارها به صورت متعادل و موزون انجام میگیرد.در صورتی که LVM نمی تواند چنین کاری را انجام دهد. همچنینRaw Device ها (یا قسمت های دیسک که OSهیچ قسمتبندی بر روی آن انجام نداده) را میتواند به صورت خیلی مناسب قسمتبندی کند. تقسیمبندی و مدیریتStorage های ASM توسط نوع جدیدی ازInstance صورت میگیرد که به آنASM Instance میگویند. یکASM Instance ، برای تمامی Instance های پایگاه داده های روی ASM Instance, Server را مدیریت میکند.Instance پایگاه دادهها اطلاعات مورد نیاز خودش را می خواند و مینویسد، اماASM Instance ، دادهها و اطلاعات را در زمان متعادل کردن Operation ها میخواند و مینویسد. اولین مرحله برای استفاده ازASM ، ساختن ASM Instance رویDatabase Server است. دومین مرحله، ساختنData Files و بقیه فایل های Database روی Disk Group های ساخته شده است. Creating An ASM Instance ساختنASM Instance : اگرOracle Database نصب شده رویServer ما، Oracle 10g باشد، ساختن ASM Instance به راحتی صورت میگیرد. برای ساختنASM Instance کافی است که روی یکی از صفحات Check Box, Database Creation Assistant مربوط را انتخاب کنیم (DCA)،Database Creation Assistant خودشASM Instance را به خوبی Database میسازد و ازASM Instance به خوبی استفاده میکند. برای ارتقای دیتا بیس از نسخههای پایینتر به10g و برای انتقال تمامی قسمت های Database به ASM باید نکات زیر را مدنظر بگیریم: 1- ساختنASM Instance به صورت دستی 2 -داشتن دانش ساختDisk Group ساخت ASM Instance به صورت دستی به راحتی صورت می گیرد. با ساختن کلیه مسیر اجرایی برای Instance ساختASM Instance شروع میشود.به طور مثال اگر اسمDatabase Instance موجود Oracle 10g باشد و تمامDump فایل ها و پارامتر فایلها در مسیر C:/Oracle/admin10g باشد برای ساخت ASM Instance دایرکتوری جدیدی میسازیم. C:/ Oracle/admin/asm10، که10 ASM نشان دهنده و مشخص کننده اسمASM Instance است. مرحله بعدی، ساختن پارامتر فایل است. بیشتر پارامترهای موجود در پارامتر فایلInstance Database روی ASM Instanceتاثیری ندارد، در نتیجه این فایل میتواند به راحتی و خیلی سریع ساخته شود. پارامتر فایل را با اسمinitasm 10.ora و با دستورات زیر میسازیم: : Instance-type پارامتر جدیدی است که برای متمایز کردن Database Instance وASM Instance از آن استفاده میشود. : Asm- disk group مشخص کننده درایوی است کهASM Instance از این درایو برای ذخیره اطلاعات استفاده میکند. 11.1x- : این نمادی است که در (UNC) Universal Naming Convention قرار گرفته و درNetwork استفاده میشود. (.11) این نماد مشخص کننده ASM در حال اجراست. (:x) این نماد که به صورت پارامتر عمل میکند مشخص کننده درایو ما است که میتواند به صورت D: یا E: نوشته شود. به طور کلی نشان دهنده Location ما است. میتوان به جای استفاده از “:11.1x از ”11.1D:” یا ”11.1E:—” استفاده شود اما استفاده از نماد به صورت پارامتر به مراتب راحتتر و بهتر است. اگر سیستم عامل موجود در روی Server مورد نظر ما ویندوز باشد نیاز به ساخت Windows Service داریم. برای اجرای Instance جدید این کار را توسط ابزار OraDIM انجام میدهیم که این امکان را به ما میدهد تا همزمان Service, Instance ها را برای ما بسازد. Drive مورد نظر برای استفاده ASM Trorage را توسط ابزار asmTool که به همراه Oracle Database 10g نصب میشود، معرفی میکنیم. میتوان asmTool را قبل یا بعد ازStart کردنASM Instance اجرا کنیم. استفاده ازServer Parameter فایل،ASM Instance را فعال میکند تا به صورت اتوماتیک اسم Disk Group جدید را درونASM- Disk Group ثبت کند. در نتیجهDisk Group هایی که در پارامترASm-Disk Group نامشان ذکر شده باشد، به صورت اتوماتیک در هر زمان Start ,+ASM Instance شود، Start میشوند. بعد ازStart شدن ASM Instance تمام Instance های Database روی Server به صورت اتوماتیکASM Instance را پیدا میکنند.
Creating Disk Group ساختنDisk Group : | ||||||||||||||||||||||||
یکی از امکانات ASM این است که زمانی که به ASM Instance وصل هستیم میتوان Disk Group اضافه یا حذف کنیم.تنها مشکل این است که باید با کاربری کهgrant ،Sysdba دارد بهDatabase وصل شویم و همچنین برای پی بردن به اینکه به کدامیک ازDisk ها وصل شدهایم برای اضافه یا حذف کردنDisk Group میتوانیم از جدول V$ASM- Instance گزارش بگیریم. Disk Group ای که مثلا با نام My Dataروی Database ،Oracle 10g ساخته می شود می تواند شامل چند عدد دیسک باشد. کلمه Normal Redundancy امکانMirroring را روی فایل هایGroup Disk می دهد.اگر دیسک ها به صورت خارجی توسط Raid مدیریت شود، یا زمانی که Mirroring روی تمامی فایل ها اهمیت چشمگیری نداشته باشد، از امکان External Redundancy استفاده میکنیم. دیسک گروهMy Data شامل دو Failure Group است به صورتی کهDrive های موجود ما fوg هستند که روی Drive هایH وMirroring I صورت میگیرد و هرگز درایوF روی Mirroring نمیشود. پس میتوان فهمید که Disk group ،My Data از 4 دیسک تشکیل شده است که روی کدام درایو F ،g ،H و I تعریف شده است و اینDisk group از دو Failure Group تشکیل شده که هر کدام از اینFailure Group ها کنترل دو درایو را در اختیار دارند. پس g ، Fتحت کنترل یک Failure Group هستند و I ، Hتحت کنترل Failure Group دیگر. به این دلیل g mirroring وF رویI ،H صورت میگیرد. | ||||||||||||||||||||||||
Placing Data on a Disk Group | ||||||||||||||||||||||||
قرار دادن دادهها روی Disk Group: | ||||||||||||||||||||||||
قرار گرفتنobject های جدید روی Disk Group ساده است. میتوان در زمان ساخت Data base فایلها و Redolog member ها اسمDisk Group را درFile name ذکر کرد. برای مثال: Create Tablespace geo- names siz: e 100 M "+ My Data" Data file (+) علامت قبل از اسمDisk Group نشان دهنده اسم گروه است نهOperating System Filename. به این ترتیب هرObject ای که درون heo-name ,Tablespace ساخته شود، روی دیسک گروه My Data ساخته میشود. | ||||||||||||||||||||||||
Adding Or Removing Storage | ||||||||||||||||||||||||
اضافه کردن یا حذف کردن مخزن: | ||||||||||||||||||||||||
میتوان به راحتی دیسکی را به Disk Group اضافه یا حذف کنیم. برای اضافه کردن دیسک به گروه ابتدا دیسک مورد نظر را باید به Server (یا بهStorage Network یا (Disk Array اضافه کنیم وUser نصب کننده دیسک را بهUser ای که نرم افزارOracle Database را نصب کرده تغییر دهیم. مرحله بعد اضافه کردن دیسک به صورتLogic ای است که توسط دستورAfter Disk Group دیسک جدید را به ASM Instance اضافه میکنیم. به طور مثال برای اضافه کردن دو دیسک بهMy Data دستورات زیر را مینویسیم: After Disk Group My Data Add Fail group my data 01 disk ":j." Fail group my data 01 disk ":k." هیچ الزامی نیست که به همه Failue Group ها درDisk Group دیسک اضافه کنیم. میتوان فقط به یکی از Failure Group ها دیسک اضافه کنیم و بقیه را به حالت خود رها کنیم، اما اضافه کردن دیسک به همهFailure Group ها به مراتب بهتر است، به این دلیل که تعادل فضاها در یک سطح قرار می گیرند. وقتی دیسکی به گروه اضافه میشود،ASM به صورت اتوماتیک دادههای ذخیره شده در گروه را مجدداً بالانس میکند. برای مثال اگر 30درصد از فضای دیسک را دادهها اشغال کرده باشند این داده ها در تمام درایوها پراکنده و پخش میشوند. در این روشO/I به مراتب کمتر صورت میگیرد تا زمانی که فقط 30درصد از فضایTable Space ها اشغال شده، باشند. برای حذف کردن دیسک از Disk Group از دستورAfter Disk Group Drop استفاده میکنیم. بعد از حذف کردن تمامی دیسک هایی که میخواستیم حذف شوند توسط دستورAfter Disk Group Rebalance مجددا Instanceًرا بالانس میکنیم. بعد باید منتظر باشیم تا ASM تمام داده های موجود روی دیسک را حذف کند. | ||||||||||||||||||||||||
Recovering From a Disk Failure | ||||||||||||||||||||||||
برگرداندن تمام اطلاعات از Disk Failure:وقتی درایوی به مشکل برمیخورد ASM به صورت اتوماتیک از Disk Group حذفش میکند و مجدداً هر فایل Mirror شده که در زمان از بین رفتن Drive ، از بین رفته باشد را میسازد و اطلاعاتش را از اول بالانس میکند تا زمانی که رویDisk Group فضای خالی داریم ASM شروع میکند به مجدد Mirror کردن اطلاعات از درایو ازبین رفته وDatabase Instance هم بیکار میماند تاASM کارش تمام شود. | ||||||||||||||||||||||||
Life Get Easier | ||||||||||||||||||||||||
این مقاله بیشتر روی رویه Command-lineای تمرکز دارد، به دلیل اینکه درک کردن ASM بسیار مهم است. اما ASM توسط Enterprise Manager Oracle (OEM) وGrid Control هم به طور کامل ساپورت میشود . OEM تنها برای اضافه یا حذف Disk Group به کار نمیرود، بلکه میتوان OEM را به نحوی Configure کرد تا زمانی که یک دیسک از بین رفت و یا Disk Group با کمبود فضا مواجه شد، برای مدیر بانک اطلاعاتی ایمیل بفرستد و ما را در جریان Failure رخ داده، بگذاردASM . این قدرت را دارد که کارdba را به مراتب راحت تر کند. |
Oracle 10g Available | ||||||
|