Tip: 订阅AnySQL | AUL许可证 | 软件下载 | DBA Tools | AUL 1G 版本

2009年初的反省与计划

    日子真的很快, 转眼就到2009年了, 年初想做的事好象并没有完成, 原计划写一本书的, 但放弃原来比较安闲的工作, 来到一个很忙的公司工作后, 基本上所有的时间都花在适应新环境, 开展新工作上, 空闲时间没了, 同时身心也很疲惫, 因此写本书的事就放弃掉了, 很是辜负了博文视点的期望了, 也不知道网友们有没有支持我写书的, 今年再为我喊一声吧.

    过去的几年中, 一直都以努力发展恢复软件, 有开心的时侯, 也有不开心的时侯, 但今年的重点肯定不在这里了, 首先要帮助公司在数据库这一层如何支持业务超速的发展, 在2008年中为了这个付出了很大的努力, 但在一个每年业务量都不止翻一翻的公司里, 永远不能过份看重硬件的处理能力, 不相信SSD硬盘就可以提升几倍的业务处理能力. 因此做了很多收集数据, 分析数据, 展示数据的工作. 有了过去积累的知识及开发的一些小工具的支持, 这些工作实现起来到没有什么技术上的费力. 也许可以将这些写成一本书, 不知道大家喜欢不喜欢, 纯技术的书有很多人比我写得好, 换个战场, 写如何实现. 简单的数据分析及预测方法及老掉牙的WebChart展现, 给我带来了一个公司内部的奖项.

    深刻体会到运营一个数据库的难度, 如何抢在时间的前面, 不是一件容易的事, 虽然有些事情可以用钱来解决, 但未必可以用钱在有限的时间内解决, 解决复杂系统的性能问题并不是一两周的事情. 因此在这种情况下, 一大任务就是预计业务量, 估计数据库系统可以支撑到什么时间, 及时提醒公司去解决一些可以解决的问题, 上面收集的数据就在这一点上帮了我很大的忙, 但这实在一件不容的事, 2009年还得紧张地继续收集数据, 分析数据, 展示数据, 但决定将这个过程写下来, 看看内容, 到底能不能写成一本书.

    新年以一句SQL来开始, 分析数据的SQL, 如何统计5分钟的交易量? 假设交易表上有时间字段.

select trade_day + trade_time/1440 trade_time,
      trade_count
from (
SELECT  TRUNC(TRADE_DATE) TRADE_DAY,
  TRUNC((1440 * (TRADE_DATE - TRUNC(TRADE-DATE))+1)/5) TRADE_TIME,
  COUNT(*) trade_count
FROM TRADE_TABLE WHERE ..... group by
  TRUNC(TRADE_DATE),
  TRUNC((1440 * (TRADE_DATE - TRUNC(TRADE-DATE))+1)/5))

    面对新年, 心里很乱, 只能这样来出场.

AUL并行扫描Extent

    对于DROP或TRUNCATE或没有SYSTEM表空间的恢复, 都需要扫描所有数据文件以重新生成Extent信息, 如果数据库比较大, 有几十GB或几百GB, 这个过程可能很慢. 最近网上人有误操作(Truncate表, 或在OEM中删除了表空间)的数据库都比较大, 看到这个情况后, 为了让AUL能更快地恢复数据, 适应大数据库的情况, 增加了并行扫描功能. 增加了以下命令:

SCAN PARALLEL

    并行度为4, 在程序中写死的. 运行命令结束后, 每个进程会生成一个AULEXT文件. 如:

D:\MYDUL>dir AULEXT*
2008-12-27  14:20            21,689 AULEXT.00.TXT
2008-12-27  14:20            13,591 AULEXT.01.TXT
2008-12-27  14:20                0 AULEXT.02.TXT
2008-12-27  14:20                0 AULEXT.03.TXT
2008-12-27  14:20            35,280 AULEXT.TXT

    所有进程结束后, 会合并四个文件的内容到AULEXT.TXT一个文件中. 在多CPU及多物理磁盘的情况下, 全库扫描的速度会提高很多. 目前这个功能仅在Windows版本上有, Linux及Unix的还没有实现.

Tomcat [427 prunsrv.c] [error]

    Tomcat是一个很好的Java Bean容器, 几年前开发的WebChart就可以跑在它上面, 当年我用的是Tomcat 4.1.19版本, 可以成功用如下命令将Tomcat注册为服务.

set CATALINA_HOME=d:\tomcatwebchart
set JAVA_HOME=d:\sunjdk
%CATALINA_HOME%\bin\tomcat.exe -uninstall "Apache Tomcat"
%CATALINA_HOME%\bin\tomcat.exe 
    -install "Apache Tomcat"
    %JAVA_HOME%\jre\bin\server\jvm.dll
    -Djava.class.path=%ATALINA_HOME%\bin\bootstrap.jar
    -Dcatalina.home=%CATALINA_HOME% 
    -server -Xms32m -Xrs
    -start org.apache.catalina.startup.BootstrapService
    -params start 
    -stop org.apache.catalina.startup.BootstrapService
    -params stop  -out %CATALINA_HOME%\logs\stdout.log 
    -err %CATALINA_HOME%\logs\stderr.log

    今天重新下载和配置WebChart时, 开载了Tomcat 4.1.39版本, 里面没有了tomcat.exe, 而多了一个tomcat4.exe, 但用它来注册服务时, 总是遇到下面的错误.

[2008-12-20 09:22:18] [427  prunsrv.c] [error]
操作成功完成。
[2008-12-20 09:22:18] [1336 prunsrv.c] [error]
Load configuration failed

    后来重新下载一个老版本的tomcat.exe, 将它放到新版本的软件中, 再用它注册一下服务就成功了.

如何画一个SubChart图?

    再次回忆了一下WebChart中的画图功能, 画出了一个子图, 这种方式可能更适合于Load及活动会话数的显示.

    在WebChart中多了几行子图的定义.

WEBCHART.TYPE_1=AREA
WEBCHART.SUBTYPE_1=LINE_SOLID
WEBCHART.XSLDOC=xsl/defchart.xsl
WEBCHART.BACKCOLOR_1=white
WEBCHART.EDGECOLOR_1=white
WEBCHART.YMAX_1=20|50|5
WEBCHART.XCOL_1=DAY
WEBCHART.YCOL_1=VAL1
WEBCHART.SUBCHARTCOL_1=VAL2
WEBCHART.SUBCHARTHEIGHT_1=0.3
WEBCHART.SUBCHARTTYPE_1=LINE
WEBCHART.SUBCHARTSUBTYPE_1=LIND_SOLID
WEBCHART.SUBCHARTSUBTYPE2_1=MARKER_NONE
WEBCHART.WIDTH_1=500
WEBCHART.HEIGHT_1=250
WEBCHART.QUERY_1= SELECT SYSDATE + rownum/1440 DAY, \
    DBMS_RANDOM.VALUE(25,40) VAL1, \
    DECODE(TRUNC(ROWNUM/20), 0, NULL,4, NULL , \
    DBMS_RANDOM.VALUE(5,20)) VAL2 \
  FROM ALL_TABLES WHERE ROWNUM < 100 order by 1

    脱离画图的技术细节, 将WebChart打造成一个方便的Web画图平台.

最近收到的评注:

  • hy 的留言 : 非常期待你的书,加油。。。
  • MKing留言 : 期待你的书啊!!!!
  • victor666666 的留言 : dcba写的书,我很期待啊
  • eygle留言 : 支持写书,等着看了!
  • 网赚留言 : 学到了-
  • 季庄新闻留言 : 新年快乐! 大力支持写书。^_^
  • rize 的留言 : 神经兮兮
  • niubro留言 : 支持写书
  • 谭理想留言 : 新年快乐!支持写书!
  • jerry 的留言 : 新年第一个看你博的人。呵呵。
  • anysql留言 : 改变了SCAN TABLE的算法,以更适应大数据库的恢复 ...
  • anysql留言 : 我这里是WFH,指在家上班的意思.
  • monlemon 的留言 : 今天收到WHF的来信,还在注册中,便上网想了解下,对WHF的系统还是有点含糊,没用过,呵呵~~~~能给我发个邮件说说WHF能做什么吗?
  • 网赚论坛留言 : 不会
  • zhoulan 的留言 : 我给铁路春运支七招 http://www.chinavalue.net/Article/Archive/2008/12/8/148353.html
  • thomas zhang留言 : 挺好的东西,有空我也学习一下
 

分类 | Categories

订阅本站更新:

RSS 2.0
从FeedSky订阅
从FeedBurner订阅
添加到 Google Reader
添加到 Bloglines
添加到 抓虾
添加到 鲜果
添加到 News Gator
添加到 Windows Live
添加到 Rojo
添加到 Zaptxt

友情站点连接:

本站基于MT-3.36免费版, 和Fenng设计的模板
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利. 本Blog内容仅代表个人观点, 与其他任何组织或公司无关.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql