OVDB_INIT(8) InterNetNews Documentation OVDB_INIT(8)

ovdb_init - راه‌اندازی و بازیابی پایگاه داده overview در INN

ovdb_init [-r|-u]

این دستور باید پیش از آنکه هر فرآیند دیگری بتواند به پایگاه داده overview دسترسی یابد اجرا شود. ovdb_init معمولاً هنگام شروع سیستم اخبار به‌طور خودکار توسط rc.news فراخوانی می‌شود.

دستور ovdb_init مراحل زیر را انجام می‌دهد:

1.
محیط پایگاه داده را، در صورت لزوم، ایجاد می‌کند.
2.
اگر پایگاه داده بیکار باشد (و اگر گزینه -u مشخص نشده باشد)، یک بازیابی معمولی انجام می‌دهد. این بازیابی قفل‌های بی‌استفاده و مانده را حذف کرده، حافظه نهان استخر حافظه را دوباره ایجاد می‌کند و هرگونه آسیب ناشی از خرابی سیستم یا خاموش شدن نامناسب را ترمیم می‌نماید.
3.
اگر گزینه -u مشخص شده باشد، هرگونه ارتقای لازم را روی پایگاه داده انجام می‌دهد. بخش «ارتقا (UPGRADING)» را در زیر ببینید.
4.
فرآیندهای نگهداری و خانه‌داری پایگاه داده (ovdb_monitor) را در صورتی که از قبل در حال اجرا نباشند، راه‌اندازی می‌کند (مگر اینکه گزینه -r مشخص شده باشد).
5.
اگر readserver در ovdb.conf برابر true باشد و فرآیندهای readserver مربوط به ovdb (ovdb_server) از قبل در حال اجرا نباشند، آن‌ها را راه‌اندازی می‌کند (مگر اینکه گزینه -r مشخص شده باشد).

در صورتی که تمام مراحل با موفقیت انجام شوند، وضعیت خروج "0" برمی‌گرداند. در صورت بروز خطا، پیام‌ها در syslog یا stderr نوشته می‌شوند.

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

این دستور می‌تواند چندین بار اجرا شود.

فقط بازیابی را انجام می‌دهد. ovdb_monitor راه‌اندازی نمی‌شود.
هرگونه ارتقای مورد نیاز را انجام می‌دهد. تلاشی برای بازیابی صورت نمی‌گیرد. در صورت موفقیت ارتقا، ovdb_monitor راه‌اندازی می‌شود.

این گزینه حتی اگر نیازی به ارتقا نباشد نیز قابل استفاده است.

دو وضعیت وجود دارد که در آن‌ها پایگاه داده نیاز به ارتقا خواهد داشت:

  • شما کتابخانه Berkeley DB را به نسخه‌ای جدیدتر ارتقا دهید، برای مثال از 2.7.7 به 3.1.17. در این حالت، از متد "db->upgrade()" مربوط به Berkeley DB استفاده می‌شود.
  • شما ovdb را به نسخه اصلی (major) جدیدتری ارتقا دهید؛ یعنی از ovdb-1.0 (عرضه‌شده همراه با INN 2.3.0 تا INN 2.3.5) به ovdb-2.0 (از INN 2.4.0 به بعد).

در هر دو مورد، پایگاه داده در جا (in-place) ارتقا می‌یابد و ارتقا قابل بازگشت نیست. فرآیند ارتقا را پس از شروع متوقف نکنید، زیرا خطر خرابی غیرقابل جبران وجود دارد. تکمیل ارتقا ممکن است چندین دقیقه طول بکشد. اگر فرآیند ارتقا متوقف شد، دوباره آن را اجرا کنید.

در اینجا یک روش نمونه برای ارتقای پایگاه داده ایجادشده با Berkeley DB 2.7.7 جهت استفاده از Berkeley DB 3.1.17 آورده شده است:

1.
نسخه Berkeley DB 3.1.17 را کامپایل و نصب کنید؛
2.
دستور configure را در درخت سورس INN اجرا کرده و مطمئن شوید که دایرکتوری مناسب Berkeley DB را شناسایی می‌کند (مثلاً /usr/local/BerkeleyDB.3.1)؛
3.
دستور "make" را اجرا کنید؛
4.
سرویس INN را متوقف کنید (مثلاً با "rc.news stop") و حتماً تمام نمونه‌های nnrpd را نیز متوقف سازید؛
5.
دستور "make update" را برای نصب باینری‌های جدید اجرا کنید؛
6.
دستور "ovdb_init -u" را به عنوان کاربر news اجرا کنید؛
7.
سرویس INN را با دستور "rc.news" راه‌اندازی کنید.

نوشته‌شده توسط Heath Kehoe <hakehoe@avalon.net> برای InterNetNews.

ovdb(5), makehistory(8), rc.news(8).

2023-03-07 INN 2.7.4