ساختن Storage Group
در مقاله ساختار داده ای در DB2 توضیح داده شد که گروه ذخیره سازی (Storage Group) تعدادی دیسک منطقی است که برای DB2 با یک اسم منطقی تعریف شده است. در این بخش نحوه ساختن یک گروه ذخیره ساز را آموزش میدهیم. لازم به ذکر است که دیسکهای منطقی در سیستم عامل z/OS دارای اسمهای ۶ کاراکتری و یک آدرس منطقی ۴ کاراکتری هستند. ۴ کاراکتر آدرس از نوع یک رشته عددی در مبنای ۱۶ است. در ادامه تعریف یک گروه ذخیره ساز را می آموزیم:
قانون اول: تمام نوشتههای حروف بزرگ و پررنگ شده ساختار اصلی دستورها هستند که باید بدون تغییر نوشته شوند.
قانون دوم: تمام نوشتههای حروف کوچک نامهایی هستند که باید بر اساس طراحی سیستم خود قرار دهید.
CREATE STOGROUP storagegroup-name (VOLUMES (diskname1, diskname2 ,… , diskname n VCAT catalog-name |
توضیح ساختار:
همانطور که در قانون اول گفته شد، حروف بزرگ ساختار دستور هستند و بدون تغییر باید باقی بمانند. برای نوشتن نام گروه ذخیره ساز میتوانید اسمی را به دلخواه انتخاب کنید. معمولا در نامگذاری حروفی استفاده میشود که با دیدن نام، مشخص شود آن شیء چه کابردی دارد. در قسمت VOLUMES همان اسامی منطقی دیسک/ها را قرار میدهیم.
در صورتی که فقط یک دیسک منطقی داشته باشید درون پرانتز فقط نام یک دیسک را مینویسید و در صورت داشتن چندین دیسک نام آنها را با کاما از هم جدا میکنید. در قسمت VCAT نامی را قرار میدهیم که مایل هستیم دیتاستهای فضاهای فیزیکی ما (فضای جدولی و فضای ایندکسی) با آن نام شروع شوند. همانطور که قبلا توضیح داده شد دیتاستها با چند تکه نام شناخته میشوند. مهمترین قسمت از نام آنها شروع کننده نام است که با نام HLQ شناخته میشود.
هر نامی در قسمت VCAT قرار دهید در آینده فضاهای فیزیکی که بر روی این گروه ذخیره ساز تعریف مینمایید، دیتاستهایی که خواهد ساخت، با آن نام شروع خواهد شد.
مثال: اسکریپت ایجاد گروه ذخیره ساز، با نام TESTSG که دارای دو دیسک منطقی با نامهای DSK001, DSK002 است را بسازید. برای HLQ دیتاستهای منابع فیزیکی این گروه ذخیره ساز نام DSNCAT1 را قرار دهید.
پاسخ:
CREATE STOGROUP TESTSG (VOLUMES (DSK001,DSK002 VCAT DSNCAT1 |
برای دیدن مقاله “ساختارهای داده ای در DB2 (قسمت اول)” اینجا کلیک کنید.
ویرایش Storage Group
تا اینجا یک گروه ذخیره ساز را ساخته اید. در این قسمت نحوه ویرایش یک گروه ذخیره ساز، که مایل به تغییر آن هستید را بازبینی میکنیم.
همانطور که میدانید تغییرات ساختاری با دستور ALTER قابل انجام است. در یک گروه ذخیره ساز میتوانید دیسکهای تعریف شده را حذف یا اضافه کنید.
به ساختار زیر توجه نمایید:
ALTER STOGROUP storagegroup-name (ADD/REMOVE VOLUMES (diskname1, diskname2,…, diskname n |
برای دیدن مقاله “ساختارهای داده ای در DB2 (قسمت دوم)” اینجا کلیک کنید.
توضیح ساختار:
همانطور که گفته شد از دستور ALTER برای ویرایش استفاده مینماییم. برای اضافه کردن یک/چند دیسک از دستورADD VOLUMES و برای حذف یک/چند دیسک از گروه ذخیره ساز از REMOVE VOLUMES استفاده مینماییم.
نکته: دقت داشته باشید دیسکی که حذف یا اضافه میکنید حتما بصورت منطقی در سیستم تعریف شدهباشد و اسم آن موجود باشد. زیرا در حین اجرای اسکریپت، کنترلی بر روی نام دیسک وجود ندارد. همچنین نمیتوانید VCAT ویرایش نمایید.
مثال: گروه ذخیره ساز با نام TESTSG که در مثال قبل دارای دو دیسک منطقی با نامهای DSK001, DSK002 بود را با شرح زیر ویرایش کنید:
- ابتدا دیسک DSK002 را حذف کنید.
- سپس دیسک DSK003 را اضافه نمایید.
پاسخ:
ALTER STOGROUP TESTSG ;(REMOVE VOLUMES (DSK002
ALTER STOGROUP TESTSG ;(ADD VOLUMES (DSK003 |
همانطور که مشاهده میکنید در یک مرحله دیسک DSK002 را حذف کرده و در مرحله بعدی DSK003 را اضافه کرده ایم. ترتیب انجام مهم نیست.
پاکسازی Storage Group
در صورتی که مایل به پاکسازی یک گروه ذخیره ساز هستید، میتوانید از طریق دستور DROP اینکار را انجام دهید. دقت کنید که پاکسازی یک گروه ذخیره ساز صرفا تعریف منطقی آن را در پایگاه داده پاک میکند و بر روی دیسکهای سیستمی هیچ پاکسازی انجام نمیشود.
به ساختار زیر توجه فرمایید:
;DROP STOGROUP storagegroup-name |
توضیح ساختار:
برای پاکسازی یک گروه ذخیره ساز، کافیست نام آن را در اختیار داشته باشید. دستور DROP STOGROUP را وقتی همراه با نام آن گروه ذخیره ساز استفاده نمایید کاملا گروه ذخیره ساز پاکسازی میشود.
برای دیدن مقاله “ساختارهای فیزیکی در DB2 ” اینجا کلیک کنید.
مثال: گروه ذخیره ساز با نام TESTSG را از سیستم حذف کنید.
پاسخ:
;DROP STOGROUP TESTSG |