熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows服務器 >> 正文

ExchangeServer郵件存儲系統-操作篇

2013-11-11 22:55:44  來源: Windows服務器 

  C:\Program Files\Exchsrvr\BIN>eseutil /d

  X:\Exchsrvr\Mdbdata\SGMSedb

  /tX:\Exchsrvr\Mdbdata\SGMS_tempedb /o /p

  命令會有如下的輸出

  Initiating DEFRAGMENTATION mode

  Database: F:\Exchsrvr\Mdbdata\SGMSedb

  Streaming file: F:\Exchsrvr\Mdbdata\SGMSSTM

  Temp Database: F:\Exchsrvr\Mdbdata\SGMS_tempedb

  Temp Streaming file: F:\Exchsrvr\Mdbdata\SGMS_tempSTM
                      Defragmentation Status (% complete)
                                           
              |||||||||||
             
    Note:

  It is REQUIRED that you immediately perform a full backup of this database If you restore a backup made before the defragmentation the database will be rolled back to the state it was in at the time of that backup

  Operation completed successfully in seconds

  碎片整理的實際時間取決於數據庫文件的大小在Exchange 一般一小時可以處理~GB的數據在碎片整理完成後系統會根據制定的文件名生成兩個不含碎片的edb和stm文件

  在把新的數據庫文件Mount之前需要確保其完整性我們要執行如下的命令

  C:\Program Files\Exchsrvr\BIN>eseutil /g X:\Exchsrvr\Mdbdata\SGMS_tempedb /sX:\exchsrvr\mdbdata\SGMS_tempstm

  其輸出如下

  Microsoft(R) Exchange Server(TM) Database Utilities  Version

  Copyright (C) Microsoft Corporation   All Rights Reserved

  Initiating INTEGRITY mode

  Database: privedb

  Streaming file: privstm

  Temp Database: TEMPINTEGEDB

  Checking database integrity
                         Scanning Status (% complete)

                               

  |||||||||||

  

  Integrity check successful

  Operation completed successfully in seconds

  此項操作也需要較長的時間一般的速度是GB每小時

  文件改名把舊的edb文件和stm文件從mdbdata文件夾中移走把執行過碎片整理的臨時文件改為同舊的edb文件和stm文件相同的名字然後Mount數據庫

  如果Mount數據庫失敗最快的恢復辦法就是把舊的edb文件和stm文件再復制到mdbdata文件夾Defrag過程中舊的edb文件和stm文件沒有被更改即使defrag失敗也可以恢復到defrag之前的狀態

  關於碎片整理得更多細節我們可以參考下面的文檔

   XADM: How to Defragment with the ESEUTIL Utility

  如果避免Exchange Server的數據庫文件損壞

  對於數據庫損壞的問題防患於未然要遠遠比事後亡羊補牢來的有效數據庫的損壞一般可以分為物理損壞和邏輯損壞

  物理損壞往往是由磁盤介質控制卡等硬件設備的故障引起的這種類型的損壞都會引起數據丟失唯一的解決辦法就是從備份的磁帶進行恢復

  Exchange Server為了確保數據的一致性會在向數據庫寫入內容時(寫入的單位是KB的頁面)把根據數據內容計算得出的校驗和跟實際的數據一並寫入當讀取時系統會重新計算校驗和並跟保存的校驗和進行比較如果這兩個值不同說明讀出的數據和當初寫入的數據相比已經發生了變化這種變化往往是由磁盤故障控制器總線傳輸故障等引起的為了排除干擾因素當校驗和不匹配的情況出現時Exchange Server會再次到磁盤上去讀取那個頁面如此循環如果連續讀取校驗和跟原始的值仍然無法匹配Exchange Server就會認為數據庫已經發生了物理損壞在事件日志中會有如下的內容被記錄下來

  Event ID:

  Source: EDB

  Type: Error

  Category: Database Page Cache

  Description: MSExchangeIS (()) Direct read found corrupted page error ((:) () ) Please restore the database from a previous backup

  另外當事件日志的錯誤描述中出現如下的代碼基本上也可以認定數據庫發生了物理損壞

   (JET_errReadVerifyFailure)

  The data read from disk is not the same as the data that was written to disk

   (JET_errDiskIO)
    The hardware device driver or operating system is returning errors

   JET_errLogWriteFail

  The log files are out of disk space or there is a hardware failure with the log file disk

  數據庫的物理損壞往往會帶來數據丟失和Exchange Server停機等等損失我們可以采取下面的一些建議來避免物理損壞的發生

  采用高質量的磁盤和磁盤控制系統對硬件RAID系統進行正確的配置

  不要使用文件級別的工具或防病毒軟件掃描數據庫文件和日志文件

  避免使用磁盤控制卡上的寫入緩存(Writeback caching)

  定期地進行全備份全備份一方面保證了數據的安全另一方面也能及早地發現數據庫的物理損壞在執行全備份時備份程序會把數據庫的每一個頁面讀取出來並重新計算校驗和如果有損壞的頁面存在管理員可以及早的發現問題並采取行動

  當物理損壞發生時我們可以采取如下的步驟來進行恢復

  如果有全備份一定要先從備份進行恢復

  在沒有備份的情況下可以使用Eseutil /p來進行手工的修復但這是不推薦的做法從備份恢復是最好的解決辦法

  關於數據庫的物理損壞更詳細的內容請參考微軟知識庫文檔Understanding and analyzing and Exchange database errors這篇文章的代號是

  另外一種常見的數據庫損壞是邏輯損壞數據庫的內容本身沒有問題但是一些內部的視圖關聯發生問題時就會發生邏輯損壞邏輯損壞的症狀往往表現為大部分用戶使用正常某些用戶在點擊特定的郵箱文件夾或者郵件時會發生死機等現象對於這種故障一般可以使用ISINTEG命令來進行修復


From:http://tw.wingwit.com/Article/os/fwq/201311/10245.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.