批处理的错误处理

这两天加工数据的时候很郁闷,由于Informatica的限制.调度程序不能够跨文件夹,跨知识库进行调度,现在为了完成统一任务调度只能是使用命令行用批处理文件来尽享执行,问题就在这里,任务失败以后批处理文件还是会继续往下执行,可是由于前一任务失败了很可能会导致后续任务数据错误,排查起来相当痛苦,这就需要添加一个功能,在任务出现错误的时候应该停下来,有人来选择是否继续往下执行,如果有依赖关系,就需要等将错误任务处理完以后再接着往下执行,如果是个简单任务就可以简单忽略,然后手工处理.
命令行程序PMCMD 会有返回值,如0是成功,其他都是异常,判断返回值便可知道任务是否成功.

怎么实现这个功能?写个程序? 噢.No.杀鸡焉用牛刀.一个简单批处理文件就完成了.

[code]
for /f "delims=" %%i in (work.txt) do (
   %%i||call :aa
)
goto :eof
:aa
if not errorlevel 0 {
set /p ab=输入Y继续执行,N退出程序:
if /i "%ab%"=="y" goto :eof
if /i "%ab%"=="n" exit}

将需要运行的命令保存在work.txt中,一个命令一行,假如出错便会停下来等待处理 ,很简单.很实用.

程序参考http://bbs.verybat.cn/中热心人的帮助,在此感谢!

xiaohui.org域名已经从三五互联转出

xiaohui.org的域名已经从三五互联转往Godaddy,国内转移注册商还真是麻烦,当时转进去的时候很痛苦,转出的时候就N多麻烦,要寄证件复印件,申请表,还不能传真,寄过去了还刁难你,说要续费5年才能转,投诉N次,差点直接向ICANN投诉才解决,国外现在是7美元一年,合计人民币五六十块钱,godaddy的DNS不太会用,只好先动everydns.net的免费服务。等有时间再说。

6月

好久没来更新博客了,最近都在忙于项目验收的事情,过些时候开始做一些总结写一点东西。
今天项目组被PK了,上午是由于数据问题,4月份的数据有部分问题。增量方案去年12月就上线了 。直到现在还说有问题。其中客户的不满可想而知,而对于问题也没有很好的监控方式,
下午有事portal集成的事情导致集成我们平台的另外一个平台不可用。又是狠训了一段。

设计过程充斥着短期的,即时的决定,而无完整的规划。这种模式对小系统开发其实很管用,但是当系统变得越大越复杂时,要想加入新的功能就越来越困难。同时错误故障越来越多,越来越难于排除。一个典型的标志就是当系统功能完成后有一个很长的测试阶段,有时甚至有遥遥无期之感,从而对项目的完成产生严重的影响。

在软件开发中,人的因素要远远大于过程和技术。人是有缺陷的:
1 容易犯错误,因此必须在错误扩散之前找到并改正错误
2 当觉得可能失去较多的时候,不愿意冒险
3 重新构造而不愿意重复使用已有的东西
4 难于坚持一个习惯

针对个人因素的几个建议:
1 具体的模型较抽象的模型更容易理解
2 从一个例子开始是容易的
3 通过观察他人的成果学习
4 要有足够的不受打扰的时间
5 分配的工作要与个人意向,能力匹配
6 不正确的奖励会有坏作用,从长期看个人兴趣比奖励更重要,培养在工作中的自豪感:
1) pride in work参与工作的自豪感,通常参与一个重要的工作会有自豪感
2) pride in accomplishment 完成工作的自豪感,长期未完的工作会使士气低落
3)pride in contribution 为他人贡献的自豪感
7 鼓励关心其他人的工作和整体的工作

  2 没有弹性

  3 过于沉重

  4 增加不必要的“必须完成”(“should do” is really should?)

vista中的Enable advanced performance(启用高级性能) 只是一个bug

在windows vista打开Device manager(设备管理器),双击磁盘,在policies里面有个 Enable advanced performance(启用高级性能) 的checkbox,看看描述
[img][attach]2[/attach][/img]
Recommened only for disks with a backup power supply,This setting further improves disk performance,but it also increase the risk of data loss if the disk loses power. 哦.能提升磁盘性能,不过掉电的时候数据可能会丢,恩.笔记本有电池,这个没关系,赶紧打开这个选项,重启一下生效,用了几天感觉性能没有任何提升,测试一下磁盘效能,分数没有任何提高,不禁心生怀疑, 上网找了一下,心都凉了THIS FEATURE DOES NOTHING EXCEPT RE-INTRODUCE AN OLD WINDOWS BUG.

继续阅读“vista中的Enable advanced performance(启用高级性能) 只是一个bug”

升级ORACLE10g到10.2.0.3

重新安装10.2.0.3以后输入startup以后报错,ORA-01092:ORACLE例程终止强行断开连接
参看alert log提述
ORA-00704: bootstrap process failure
ORA-1092 signalled during: alter database open…
说要使用upgrade选项启动
输入
SQL>startup upgrade
正常启动。但是PL/SQL DEVELOPER 连不上。提示ORA-12526: TNS: 监听程序: 所有适用例程都处于受限模式,
晕。估计没执行升级脚本。通过以下步骤升级成功。
SQL>@d:\oracle\product\10.2.0\db_1/rdbms/admin/catupgrd.sql
待catupgrd.sql脚本执行完成,花了半个多小时,shutdown immediate关闭数据库;
startup启动数据库,执行脚本D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlrp.sql;
执行完毕后执行查询所有重新编译错误
SQL> select * from utl_recomp_errors;
未选定行(这里说明没有错误)
执行检查:
SQL> select name from v$database确认ORACLE_SID正确,为ora
SQL> show user确认当前使用者为SYS
SQL> select tablespace_name, bytes from dba_data_files对系统表空间大小进行确认。
SQL> @d:\oracle\product\10.2.0\db_1/rdbms/admin/catalog.sql
SQL>shutdown immediate
SQL>startup
数据库启动成功