exchange2003邮箱日志 乱码 原因

exchange2003邮箱日志 乱码 原因,第1张

EXCHANGE 2003 MDBDATA目录(数据库和日志文件)过大处理方法:
相关环境:系统:win2003企业版
D盘:安装了系统和exchange2003
总大小:781G 可用空间小于2G
MDBDATA占用65G,priv1edb和priv1stm共占用40G空间
E盘:exchange工具安装盘(即eseutil)
一、对数据库文件(priv1edb,priv1stm)文件进行碎片整理
步骤:1 通过exchange系统管理器卸载“公用文件夹存储和邮箱存储”( *** 作明细:打开exchange系统管理器,依次点开“管理组---第一管理组---服务器----servername---第一存储组”,右击“公用文件夹存储”选择卸载,右击“邮箱存储”选择卸载)
2 备份MDBDATA目录(一般在X:\program files\Exchsrvr\下,X是代表exchange数据库安装的分区,我的是D)
备份的目的就不用我说了吧,我将其复制到移动硬盘中(由于数据的庞大,我建议利用软件来拷贝如:fastcopy,这样会快些,不信你可试试,本人已做过测试)
3 邮件数据库碎片整理
碎片整理常识:碎片整理所需空间是数据库文件的110% 由于空间的原因,不能在原目录(D:\program files\Exchsrvr\MDBDATA)下进行碎片整理,则在移动硬盘中进行(假设移动硬盘盘符为N)。删除原目录下的priv1edb和priv1stm
在桌面点击开始选择运行,输入cmd回车,进入命令提示符环境,首先进入eseutil说在目录(步骤:1、输入e:后回车,2、输入cd“program files\ Exchsrv\bin”后回车),其次输入
eseutil /d /p “N:\ MDBDATA\priv1edb” /t “d:\ program files\ Exchsrv\MDBDATA\tedb” 回车,接下来就是耐心等待,碎片整理时间根据数据库文件大小而定。(红色部分均为要输入的内容,包括引号)
相似如下
(有人会问,为什么要用/p、/t参数,碎片整理不是用/d参数就好了吗。
理由如下:1 只用/d参数,会修改原有数据库,若碎片整理出错,数据库文件将无法逆转。而使用/p参数时,会保留原有的数据库,生成新的经过碎片整理的数据库文件(xxxedb和xxxstm),只是文件名是随机生成的。
2处理大数据库文件若只用/d参数,则会增加碎片整理的时间。(因为在碎片整理时,会先生成一个临时的数据库,然后根据临时的数据库更改原来的数据库,最后将其二者“合并为一”)
3 使用/t其实也是为了缩短碎片整理的时间,因为他可以指定生成的路径和生成的文件名。这样就不用在完成碎片整理后再拷贝一次数据库文件。
4 完成碎片整理后,在D:\program files\Exchsrvr\MDBDATA下会生成tedb和tstm两个文件,将其改名为priv1edb和priv1stm。
5 通过exchange系统管理器装载“公用文件夹存储和邮箱存储”( *** 作方法和1相似,不在累述)完成数据库文件碎片整理
二、删除MDBDATA下的日志文件
由于循环日志不利于还原数据,个人推荐手动删除日志方法减小占用空间。
exchange日志文件基础知识:避免对哪些日志文件属于各个存储组产生混乱,以唯一的日志前缀命名属于指定存储组的Exchange日志,该前缀是文件名的前三个字符。在Exchange 2000或Exchange 2003服务器上,用于所支持的四个存储组的有效日志前缀是E00、E01、E02和E03。在本文内,存储组的日志前缀被指定为E0n。存储组的当前日志文件总是E0nlog。
事务日志的大小统一为5 MB。如果当前日志文件已满,将用十六进制序列号(称为日志生成编号)将其重命名,并生成新的当前日志文件。日志文件被编号为E0n00001log、E0n00002log,依此类推。在本文内,带编号的日志文件一般被指定为E0nxxxxxlog。
日志文件的作用:主要起到缓冲作用。
Exchange数据写入过程:内存→日志文件→数据库
数据首先在内存中更改,然后将其写入日志文件,最后写入数据库
1利用ntbackup对exchange做一次完全备份。详细步骤请“日志文件过大处理”文档
2若完全备份后,日志文件未自动删除。则通过检查点文件(E00CHK)来查看哪些日志被写入数据库。
*** 作步骤:在命令提示符下,首先进入eseutil所在目录中,(我的是E:\program files\Exchsrvr\bin)再输入
eseutil /mk “d:\ program files\ Exchsrv\MDBDATA\e00chk”回车
然后会出现如下相似界面
画面中有一行checkpoint(0xD,16E5,F7)表示日志E000000Dlog已写入数据库,那么此日志之前的日志均可删除,后面的16E5,F7不用管。
3删除日志文件(为了数据的安全,个人建议将日志文件剪切到移动硬盘,而不是删除)
先卸载“公用文件夹存储和邮箱存储”,删除E000000Dlog之前的日志文件,最后再装载。
注:E00log可删可不删,若删除,装载时会生成新的E00log,而E00CHK内容也会跟着改变

1设置Encoding。在appender中增加一行<Encoding>UTF-8</Encoding>,但是在启动中报错,说是不能识别Encoding元素。有人说Encoding在0922以后版本中已经不能用了。看来此方案在我使用的logback 版本中并不能解决问题
2设置charset, 在encoder 中增加一行 <charset>UTF-8</charset>,重新启动系统,日志中中文显示正常了。 下面是我的一个简要的logbackxml 配置。
<xml version="10" encoding="UTF-8">
<configuration>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="c:/log"/>
<!-- 控制台输出 -->
<appender name="STDOUT" class="chqoslogbackcoreConsoleAppender">
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ssSSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset>

1通知客户端传递utf-8编码。2服务器Response时设置Encoding编码格式(ressetContentType("application/json;charset=utf-8"))


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12804241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存