بررسی سناریو های مهاجرت (migrate)  و ارتقا ( upgrade ) در پایگاه داده اوراکل

مقدمه :یکی از مهمترین فعالیت های یک راهبر پایگاه داده اوراکل، بروزنگهداشتن پایگاه داده چه از لحاظ نسخه و امکانات و چه از لحاظ سخت افزار و سیستم عامل می باشد.در این مستند ابتدا به بررسی این عملیات ها می پردازیم و در ادامه در هر قسمت برخی از راهکارها را معرفی و ارزیابی خواهیم کرد.مهاجرت (migrate) و یا ارتقا ( upgrade ) :مهاجرت، به عملیات انتقال پایگاه داده به سرور جدید را مهاجرت گویند. در این سناریو نسخه پایگاه داده تغییر نمی کند اما ممکن است نسخه سیستم عامل و حتی خود سخت افزار تغییر کنند.ارتقا، به عملیات تغییر نسخه پایگاه داده به نسخه جدیدتر ارتقا گویند.عملیات ارتقا می تواند در همان سرور جاری انجام پذیرد و صرفا نسخه پایگاه داده اوراکل ارتقا یابد.در اکثر اوقات ارتقا و مهاجرت همزمان با یکدیگر انجام می شوند، اما باید به این نکته توجه کرد این دو عملیات از یکدیگر می توانند مجزا باشند.در ادامه برای هر کدام از عملیات های نامبرده، روش های اجرایی را نام خواهیم برد.مهاجرت :روش های اجرایی این عملیات را ابتدا به 2 دسته تقسیم می کنم:1- مهاجرت با امکان توقف بلند مدت سرویس2- مهاجرت بدون امکان توقف سرویس ( و یا توقف خیلی کوتاه مدت)مهاجرت با امکان توقف بلند مدت سرویس:در این سناریو با توجه به اینکه به اندازه بازه زمانی مورد نیاز می توان سرویس را متوقف کرد، راهکارهای زیادی وجود دارد و قاعدتا پیچیدگی و مخاطرات این راهکارهای این سناریو بسیار کم می باشند. در ادامه برخی از این راهکارهای مطرح می گردند.- انتقال دستی datafile ها و controlfile و parameter fil. در این روش نرم افزار پایگاه داده با همان نسخه بر روی سرور جدید نصب می گردد ( با حفظ همان مسیرهای جاری) و سپس فایل های نامبرده به مسیر های خود در سرور جدید منتقل می شوند.- استفاده از Rmanbackup . در این سناریو backup گرفته شده در سرور جدید restore و recover می شود.- استفاده از Transportable Tablespaces . در این روش tablespace ها به سرور جدید منتقل می شوند. این روش از سرعت مناسبی برخوردار می باشد.- استفاده از datapump و export/import معمولی. در این روش داده ها به صورت منطقی منتقل می شوند و عملا اشیا در این سناریو از اول ساخته می شوند و با توجه به این قابلیت، بعد از این عملیات پایگاه داده به صورت بهینه تری عمل خواهد کرد.مهاجرت بدون امکان توقف سرویس ( و یا توقف خیلی کوتاه مدت):در این سناریو امکان توقف سرویس وجود ندارد به همین دلیل روش هایی که در این سناریو مورد استفاده قرار می گیرند از پیچیدگی و مخاطرات بیشتری برخوردار خواهند بود.- استفاده از سناریو دیتاگارد ( physical standby) ، در این روش ابتدا یک سرور standby راه اندازی می گردد و سپس در زمان مناسب عملیات switchover انجام می پذیرد و سامانه ها به سرور primary جدید متصل خواهند شد.- استفاده از Goldengate : در این سناریو یکبار داده ها به صورت کلی به پایگاه داده جدید منتقل می شوند و سپس بااستفاده از goldengate آنها بروز می شوند و در زمان مناسب عملیات switchover انجام می پذیرد و سامانه ها به سرور جدید متصل خواهند شد.ارتقا :در این سناریو مجددا امکان و عدم امکان توقف سرویس در راهکارهای قابل ارائه تاثیر خواهد گذاشت. لازم به توضیح می باشد.1- ارتقا با زمان توقف سرویس2- ارتقا بدون زمان توقف سرویسارتقا با زمان توقف سرویس- استفاده از datapump و export/import معمولی- استفاده از ابزار DBUA- استفاده از ابزار autoupgrade- استفاده از rman backup. در این سناریو بعد از بازیابی backup ها درپایگاه داده با نسخه جدید، با استفاده از دستورalter database open resetlogs upgrade;پایگاه داده را open کرده و اسکریپت CATUPGRD.SQL را اجرا کرده و سپس برای invalid object ها این اسکریپت را اجرا خواهیم کرد UTLRP.SQL.- استفاده از سناریو unplug و plug در معماری multitenantارتقا بدون زمان توقف سرویسدر این سناریوها، اکثرا ارتقا همراه با مهاجرت خواهد بود.- استفاده از سناریو logical standby- استفاده از ابزار Goldengate ( از محبوبترین روش ها به لحاظ کاربردی و انعطاف پذیر بودن )- استفاده از سناریو RAC ( اعمال patch ها جدید و ارتقا OS و GI)همانطور که اشاره شد مهاجرت و ارتقا دو عمل جداگانه می باشند که در اکثر مواقع به همراه یکدیگر اجرا می گردند. البته راهکارهای متعدد دیگری باتوجه به نیازمندی های محیطی می توان داشت که در این مستند به آنها اشاره نشده است.در ادامه باید به این نکته اشاره کرد از پارامترهای تاثیر گذار در انتخاب هر کدام از راهکارها، حجم پایگاه داده و تعداد کاربر همزمان می باشد.شرکت توسعه فناوری اطلاعات آرتاراد با سابقه نزدیک به 30 سال تجربه در حوزه پایگاه داده اوراکل و تجربه اجرای سناریوهای مهاجرت و ارتقا ( با زمان توقف و بدون زمان توقف ) در بیش از 300 سایت عملیاتی را دارد. لذا آماده ارائه خدمات ( اجرایی، مشاوره و آموزش ) در این زمینه می باشد.