上周遇到几个小问题,略有曲折。
1.同事换了新电脑,没配置字符集,导致代码出错,用户数据错误。
存储过程里边有用到中文字符,同事换电脑没调整字符集,直接导致存储过程中使用的中文字符变成乱码。
这些字符是用户数据需要的,导致网页端返回给用户的数据也出现乱码。
按照网上方法调整了字符集。
然后就是先做代码恢复,用PL/SQL从all_source表中将原来所有代码复制出来替换现在package中的代码。
又发现一个问题,复制出来的代码每行前边都有 " 双引号,而且代码中使用到“ 双引号的都从一个” 双引号变成了两个”双引号。
可能还有别的没发现的问题。
下班了用户也比较急没办法就用笨办法这么给恢复了代码,数据需要用户自己去做更新。
请教了同事,给了两个意见,一个是使用Toad导出,另一个是在命令行里边操作导出,第二个方法还没尝试过。
2.清理历史数据。
数据库容量90%了,给清理下,看下历史数据太久远的能不能删掉。发现有些表妹数据还有2G空间,直接turncate掉。
因为是把表中太久远的数据移到history表中,原表做的delete操作。
我师傅使用了altertable xxxmove 调整了下表 。我还好奇问了下索引会怎么调整,师傅说没事儿。
结果第二天看监控数据库红了,job跑了3个小时。
还是因为索引已经失效。需要重建索引。
索引的叶子节点包含行记录的rowid信息。调整表后rowid变化,索引也需要做调整。
3.索引高度。
索引高度和索引段大小计算 下边也是相同的链接地址,本站的。
http://blog.itpub.net/30126024/viewspace-2142036/
关于索引高度的具体就不论述了。
去看了下生成库里边索引高度情况。
有高度为5的索引,单个索引占用2G空间。
看了下字段很长,是汇总表返回给网页用的,拼接了很多标签信息。
这些字段也不会作为 where 的查询条件使用,建议是删除这些索引。