nz manualvacuum 指令

nz manualvacuum 指令會對您的 NPSaaS 執行個體中的所有資料庫執行全面的清理與重新建立索引操作。 此維護操作透過移除過時資料及重建索引,有助於釋放磁碟空間並優化資料庫效能。 此指令首次出現在 nzcli 版本 11.3.1.3 中。

概觀

手動抽真空操作是一項關鍵的維護任務,其目的在於:

  • 停止 NPS 系統(nzstop
  • 建立目錄資料的備份
  • 對所有資料庫執行清空與重新建立索引操作
  • 重新啟動 NPS 系統(nzstart

在此操作期間,系統將無法使用;根據您的資料庫大小,此操作可能需要相當長的時間。

必要條件

在執行手動抽真空操作之前,請確保:

  • 您擁有對 NPSaaS 實例的管理員存取權限
  • 您已下載並設定了 nz 命令列工具的版本 11.3.1.3 或更高版本
  • 您已設定所需的環境變數(APISERVER_URLNZ_USERNZ_PASSWORD ),或已準備好將其作為命令選項提供
  • 您已排定維護時段,因系統在維護期間將無法使用
  • 您有足夠的磁碟空間來備份目錄

語法

nz manualvacuum [options]

選項

選項 說明
-apiserver <APISERVER> API 伺服器的 URL。 可透過 APISERVER_URL 環境變數進行設定。(必填)
-u <USER> NPS 使用者名稱。 可透過 NZ_USER 環境變數進行設定。(必填)
-pw <PASSWORD> NPS 密碼。 可透過 NZ_PASSWORD 環境變數進行設定。(必填)
-force 跳過確認提示,並立即執行操作
-format <FORMAT> 指令結果的輸出格式
-host <HOST> API 伺服器的 URL。 可透過 NZ_HOST 環境變數進行設定

範例

執行手動真空操作並顯示確認提示

./nz manualvacuum -apiserver <apiserver-url> -u <nps-admin-user> -pw <nps-admin-user-password>

此指令會顯示一則警告,並要求確認:

  WARNING: Manual Vacuum Operation
=====================================
This operation will:
  1. Stop NPS (nzstop)
  2. Run nz_manual_vacuum
  3. Start NPS (nzstart)
This process may take significant time and will restart the system.
The system will be unavailable during this operation.
Do you want to continue? (yes/no):

在未經確認的情況下執行手動抽真空

請使用 -force 選項來跳過確認提示:

./nz manualvacuum -force -apiserver <apiserver-url> -u <nps-admin-user> -pw <nps-admin-user-password>

使用環境變數

設定環境變數,以避免在指令中指定憑證:

export APISERVER_URL=<apiserver-url>
export NZ_USER=<nps-admin-user>
export NZ_PASSWORD=<nps-admin-user-password>
./nz manualvacuum -force

操作工作流程

當您執行 nz manualvacuum 指令時,系統會執行以下工作流程。 在內部,此指令會呼叫 NPS 主機上的 nz_manual_vacuum 系統二進位檔。

  1. 系統停止:已使用 nzstop 指令停止 NPS 系統
  2. 目錄備份:會於以下位置建立目錄資料的備份:/nz/manual_vacuum/nz_manual_vacuum.<timestamp>.tar.gz
  3. 執行真空清理與重新建立索引:此操作將對以下項目執行真空清理與重新建立索引:
    • _T_OBJECT 系統表
    • 依序列出所有使用者與系統資料庫
  4. 系統啟動:使用 nzstart 指令重新啟動 NPS 系統
  5. 完成:操作完成後,將顯示結果摘要

輸出與日誌

手動真空操作會產生:

  • 日誌檔案/nz/manual_vacuum/nz_manual_vacuum.<timestamp>.log
  • 備份檔案/nz/manual_vacuum/nz_manual_vacuum.<timestamp>.tar.gz
  • 主控台輸出:詳細的進度資訊,包括:
    • 操作處理程序與時間戳記
    • 指令執行狀態
    • 各資料庫的時序資訊
    • 尺寸對比(前後)
    • 完成狀態

範例輸出

Manual vacuum completed successfully
Output:
================================================================================
Manual Vacuum Workflow Started
Handle: nzrest.68n6kkr8.manual_vacuum
User: admin
Timestamp: 2026-06-09 14:08:12,790
================================================================================
# Database 1 of 19          SYSTEM
     TIMINGS (vacuum    ):  Elapsed Time:     0.21
     TIMINGS (reindex   ):  Elapsed Time:     0.39
...
###############################################################################
    Size Before      Size After  Pathname
=============== ===============  =========================================================
     3924887043      3915646467  /data/catalog/data.1.0
###############################################################################
   log file: /nz/manual_vacuum/nz_manual_vacuum.20260609_140932.log
backup file: /nz/manual_vacuum/nz_manual_vacuum.20260609_140932.tar.gz
================================================================================
Manual Vacuum Workflow Completed Successfully
All commands executed without errors
================================================================================

最佳作法

  • 請在系統可離線的維護時段內,安排手動抽真空作業
  • 在執行此操作之前,請先檢查磁碟空間,以確保有足夠的空間進行目錄備份
  • 完成後請檢視日誌檔案,以確認執行是否成功
  • 在規劃維護時段時,請考量資料庫的大小,因為較大的資料庫需要更多時間
  • 請將備份檔案保留以供還原之用,直到您確認操作已成功完成為止