exchange2003 MDBDATA过大处理方法总结

来源:互联网 发布:应急救援车牌知乎 编辑:程序博客网 时间:2024/06/05 03:22
EXCHANGE 2003 MDBDATA目录(数据库和日志文件)过大处理方法:

相关环境:系统:win2003企业版           

D盘:安装了系统和exchange2003  

总大小:78.1G  可用空间小于2G       

MDBDATA占用65Gpriv1.edbpriv1.stm共占用40G空间

           E盘:exchange工具安装盘(即eseutil

 

对数据库文件(priv1.edbpriv1.stm)文件进行碎片整理

步骤:1  通过exchange系统管理器卸载“公用文件夹存储和邮箱存储”(操作明细:打开exchange系统管理器,依次点开“管理组---第一管理组---服务器----servername---第一存储组”,右击“公用文件夹存储”选择卸载,右击“邮箱存储”选择卸载)

      2   备份MDBDATA目录(一般在X:\program files\Exchsrvr\下,X是代表exchange数据库安装的分区,我的是D

     备份的目的就不用我说了吧,我将其复制到移动硬盘中(由于数据的庞大,我建议利用软件来拷贝如:fastcopy,这样会快些,不信你可试试,本人已做过测试)

 

     3     邮件数据库碎片整理

碎片整理常识:碎片整理所需空间是数据库文件的110%      由于空间的原因,不能在原目录(D:\program files\Exchsrvr\MDBDATA)下进行碎片整理,则在移动硬盘中进行(假设移动硬盘盘符为N)。删除原目录下的priv1.edbpriv1.stm

  在桌面点击开始选择运行,输入cmd回车,进入命令提示符环境,首先进入eseutil说在目录(步骤:1、输入e:后回车,2、输入cdprogram files\ Exchsrv\bin后回车),其次输入

eseutil /d /p “N:\ MDBDATA\priv1.edb” /t “d:\ program files\ Exchsrv\MDBDATA\t.edb” 回车,接下来就是耐心等待,碎片整理时间根据数据库文件大小而定。(红色部分均为要输入的内容,包括引号)

相似图片如下

 

(有人会问,为什么要用/p/t参数,碎片整理不是用/d参数就好了吗。

理由如下:1 只用/d参数,会修改原有数据库,若碎片整理出错,数据库文件将无法逆转。而使用/p参数时,会保留原有的数据库,生成新的经过碎片整理的数据库文件(xxx.edbxxx.stm),只是文件名是随机生成的。

          2处理大数据库文件若只用/d参数,则会增加碎片整理的时间。(因为在碎片整理时,会先生成一个临时的数据库,然后根据临时的数据库更改原来的数据库,最后将其二者“合并为一”)

        

3 使用/t其实也是为了缩短碎片整理的时间,因为他可以指定生成的路径和生成的文件名。这样就不用在完成碎片整理后再拷贝一次数据库文件。

 

       4  完成碎片整理后,在D:\program files\Exchsrvr\MDBDATA下会生成t.edbt.stm两个文件,将其改名为priv1.edbpriv1.stm

 

      5  通过exchange系统管理器装载“公用文件夹存储和邮箱存储”(操作方法和1相似,不在累述)完成数据库文件碎片整理

 

 、删除MDBDATA下的日志文件

由于循环日志不利于还原数据,个人推荐手动删除日志方法减小占用空间。

exchange日志文件基础知识:避免对哪些日志文件属于各个存储组产生混乱,以唯一的日志前缀命名属于指定存储组的Exchange日志,该前缀是文件名的前三个字符。在Exchange 2000Exchange 2003服务器上,用于所支持的四个存储组的有效日志前缀是E00E01E02E03。在本文内,存储组的日志前缀被指定为E0n。存储组的当前日志文件总是E0n.log

  事务日志的大小统一为5 MB。如果当前日志文件已满,将用十六进制序列号(称为日志生成编号)将其重命名,并生成新的当前日志文件。日志文件被编号为E0n00001.logE0n00002.log,依此类推。在本文内,带编号的日志文件一般被指定为E0nxxxxx.log

日志文件的作用:主要起到缓冲作用。

Exchange数据写入过程:内存日志文件数据库

数据首先在内存中更改,然后将其写入日志文件,最后写入数据库

1利用ntbackupexchange做一次完全备份。详细步骤请“日志文件过大处理”文档    

2若完全备份后,日志文件未自动删除。则通过检查点文件(E00.CHK)来查看哪些日志被写入数据库。

 操作步骤:在命令提示符下,首先进入eseutil所在目录中,(我的是E:\program files\Exchsrvr\bin)再输入

eseutil  /mk  “d:\ program files\ Exchsrv\MDBDATA\e00.chk”回车

然后会出现如下相似界面

 

画面中有一行checkpoint0xD,16E5,F7)表示日志E000000D.log已写入数据库,那么此日志之前的日志均可删除,后面的16E5,F7不用管。

3删除日志文件(为了数据的安全,个人建议将日志文件剪切到移动硬盘,而不是删除)

先卸载“公用文件夹存储和邮箱存储”,删除E000000D.log之前的日志文件,最后再装载。

注:E00.log可删可不删,若删除,装载时会生成新的E00.log,而E00.CHK内容也会跟着改变