حفظ داده پیش از اقدام
از پوشه داده دیتابیس، فایل های MDF و LDF یا ibdata و لاگ های خطا نسخه می گیریم. روی دیتابیسی که احتمال خرابی دارد، بدون نسخه پشتیبان هیچ دستور تعمیری اجرا نمی کنیم.
شروع و ارزیابی
ارزیابی رایگان 5مشکل فوری
خدمات فوری 4پشتیبانی مستمر
قرارداد پشتیبانی 5پروژه ها
سرور و هاستینگ 6 شبکه و مجازی سازی 9 دواپس و اتوماسیون 5 امنیت و بازیابی 5 تجهیزات و لایسنس 2 اینترنت اشیا و هوشمندسازی 3بدون هزینه بفهمید وضعیت سرور، امنیت، بکاپ و سرعت سیستم هایتان چطور است.
سرور یا شبکه قطع است، سایت هک شده یا اطلاعات از دست رفته؟ همین حالا تماس بگیرید.
پشتیبانی و نگهداری ماهانه شبکه و سرور با زمان پاسخ مشخص در قرارداد.
نصب، کانفیگ، مدیریت و انتقال سرورهای لینوکس، ویندوز، کنترل پنل ها و ایمیل سرور.
طراحی و اجرای شبکه، میکروتیک، ویپ، اتصال شعب، مجازی سازی و ابر خصوصی.
شبکه و ارتباطات
مجازی سازی و ابر
کانتینر، کوبرنتیز، استقرار خودکار، زیرساخت به عنوان کد و مانیتورینگ پیشرفته.
امن سازی سرور، فایروال، بکاپ و DR، بازیابی از باج افزار و بررسی حملات.
مشاوره، تأمین و نصب سرور و تجهیزات شبکه، و لایسنس اورجینال نرم افزارهای سازمانی.
خانه، محیط کار و تجهیزات متصل؛ از انتخاب سناریو تا کنترل و پایش.
شروع و ارزیابی
مشکل فوری
پشتیبانی مستمر
پروژه ها
وقتی MySQL بعد از قطع برق بالا نمی آید، SQL Server اتصال ها را رد می کند یا دیسک سرور پر شده و برنامه ها یکی یکی متوقف شده اند، رفع خطای دیتابیس منتظر نمی ماند. ما پیش از هر عیب یابی از فایل های دیتابیس و لاگ ها نسخه می گیریم، چون اولویت با حفاظت از داده است. وقتی سرویس برگشت، اگر لازم باشد بهینه سازی دیتابیس را هم پیشنهاد می کنیم تا همین مشکل دوباره پیش نیاید.
رفع خطای دیتابیس و سرور خدمتی فوری برای دیتابیس از کار افتاده، کند یا قفل شده و مشکلات سیستم عامل لینوکس و ویندوز است که در آن حفاظت از داده ها بر هر اقدامی مقدم است. نمونه اش MySQL است که بعد از قطع برق بالا نمی آید، نرم افزار حسابداری که به SQL Server وصل نمی شود یا دیسک سروری که پر شده است. قبل از هر اقدامی، پیکوسیستم از پوشه داده، فایل های MDF و LDF یا ibdata و لاگ های خطا نسخه می گیرد. بعد خطاهای InnoDB و حالت Suspect در SQL Server را عیب یابی می کند، سراغ کوئری های طولانی، deadlockها و تنظیماتی مثل innodb_buffer_pool_size می رود و فضایی را که binary log یا transaction log گرفته اند به صورت امن آزاد می کند. تحویلی شما سرویسی است که دوباره کار می کند، به همراه گزارش علت، فهرست تغییرات کانفیگ و پیشنهاد بهینه سازی.
از پوشه داده دیتابیس، فایل های MDF و LDF یا ibdata و لاگ های خطا نسخه می گیریم. روی دیتابیسی که احتمال خرابی دارد، بدون نسخه پشتیبان هیچ دستور تعمیری اجرا نمی کنیم.
خطاهای InnoDB، جدول های crashed در MyISAM، حالت Suspect یا Recovery Pending در SQL Server و ناسازگاری های بعد از آپدیت را عیب یابی می کنیم.
کوئری های طولانی، deadlockها، ایندکس های ناقص و تنظیماتی مثل innodb_buffer_pool_size یا max server memory را یکی یکی نگاه می کنیم.
فایل های بزرگ مثل binary log، transaction log، لاگ هایی که چرخش ندارند و فایل های موقت را پیدا می کنیم و فضا را به صورت امن آزاد می کنیم.
کمبود رم و OOM Killer، خطای بوت، سرویس های systemd از کار افتاده و خطاهای Event Viewer در ویندوز سرور هم جزو این کار است.
بعد از innodb_buffer_pool_size، مقدار max_connections بیشترین اشتباه را دارد. هر اتصال بافرهای خودش مثل sort_buffer_size و join_buffer_size را می گیرد، پس عدد بزرگ همراه با بافرهای بزرگ در ساعت پربار رم را تمام می کند و OOM Killer سرویس MySQL را می بندد. اندازه redo log، که در نسخه های جدید با innodb_redo_log_capacity تنظیم می شود، هم روی سرعت نوشتن اثر مستقیم دارد.
از کپی کردن فایل my.cnf آموزش های قدیمی پرهیز کنید. Query Cache در MySQL 8.0 حذف شده و وجود query_cache_size در کانفیگ باعث می شود سرویس اصلاً اجرا نشود. تغییرات را یکی یکی اعمال کنید و اثر هر کدام را با pt-query-digest و slow query log بسنجید.
مقدار پیش فرض max server memory عملاً نامحدود است و SQL Server تا جایی که بتواند رم می گیرد. روی سروری که سرویس های دیگر هم دارد، این یعنی کمبود حافظه برای سیستم عامل و کندی کل سرور. مقدار cost threshold for parallelism هم به طور پیش فرض 5 است که برای بیشتر بارهای کاری جدید پایین است و کوئری های کوچک را بی دلیل موازی اجرا می کند.
خطای رایج دیگر، فعال بودن Auto Shrink یا اجرای Shrink زمان بندی شده است که فایل ها را کوچک و ایندکس ها را پراکنده می کند و دیتابیس دوباره مجبور به رشد می شود. به روز نبودن Statistics و نگهداری نشدن ایندکس ها هم از علت های رایج کندی تدریجی اند.
در لینوکس، دستور journalctl -b -1 لاگ بوت قبلی را نشان می دهد و برای ری استارت های ناگهانی اولین جای بررسی است. عبارت Out of memory: Killed process در خروجی dmesg یعنی کرنل پروسه ای را به خاطر کمبود رم بسته است. لاگ خطای MySQL معمولاً در /var/log/mysql یا /var/lib/mysql قرار دارد.
در ویندوز سرور، رویداد Kernel-Power با شناسه 41 و رویداد 6008 خاموش شدن غیرعادی را ثبت می کنند و رویداد 1001 نشان می دهد صفحه آبی رخ داده و فایل Minidump ساخته شده است. SQL Server هم لاگ خودش را در فایل ERRORLOG داخل پوشه Log محل نصب نگه می دارد.
وقتی توقف چند ساعته دیتابیس مستقیماً فروش یا تولید را متوقف می کند، بازیابی از بکاپ دیگر به تنهایی کافی نیست. در SQL Server گزینه ها Always On Availability Groups، Failover Cluster Instance و Log Shipping هستند. نسخه Standard فقط Basic Availability Group را با یک دیتابیس در هر گروه پشتیبانی می کند. در MySQL و MariaDB، Replication و Galera Cluster رایج اند.
High Availability جای بکاپ را نمی گیرد، چون دستور DROP یا حذف اشتباه داده در چند ثانیه روی همه نسخه ها تکرار می شود.
پیغام خطا، زمان شروع مشکل و تغییرات اخیر را می گویید. اگر اسکرین شات یا لاگ دارید، برایمان بفرستید.
از طریق دسترسی ریموت امن وارد می شویم و پیش از هر تغییری از داده ها و لاگ ها نسخه می گیریم.
علت را پیدا و رفع می کنیم. اقدام هایی که احتمال از دست رفتن داده دارند، فقط با تأیید شما انجام می شوند.
اتصال برنامه ها و سلامت داده را همراه شما تست می کنیم و بعد گزارش به دستتان می رسد.
رفع فوری سرویس را در لحظه بحران برمی گرداند. بهینه سازی دیتابیس کاری برنامه ریزی شده است که تحلیل کوئری ها، ایندکس گذاری و تنظیم کانفیگ بر اساس بار واقعی را در بر می گیرد. بعد از رفع مشکل، معمولاً بهینه سازی را هم پیشنهاد می کنیم تا بحران تکرار نشود.
کرش شدن MySQL لزوماً به معنای از دست رفتن داده نیست. InnoDB در بسیاری از موارد با recovery خودکار یا با حالت innodb_force_recovery دوباره بالا می آید. کار اشتباه در این مرحله، مثل پاک کردن فایل های ib_logfile، می تواند آسیب را جدی کند، پس تا بررسی ما سرویس را پشت سر هم ری استارت نکنید.
برای بیشتر مشکلات دیتابیس و سیستم عامل دسترسی ریموت امن لازم است. اگر سیاست شرکت اجازه دسترسی از بیرون نمی دهد، کار از طریق جلسه اشتراک صفحه با همکار شما یا حضور در محل هماهنگ می شود.
جست وجوهای مرتبط
فوری
برای قطعی کامل، تماس تلفنی سریع ترین راه است. اگر نمی توانید تماس بگیرید، فرم را پر کنید تا با شما تماس بگیریم.
همین حالا تماس بگیرید 09981213905