Archive for February, 2007

新年快乐

06年的最后一天,加班中…

感觉回到了02年,当初也是在大年三十从绍兴赶回来过年,初二又回绍兴,已经好久没有这样熬夜了。

年纪也大了,熬不动了。

教训-千万不要在过年的这个月割接,会死人的。

06年对我来说实在是苦闷的一年,不顺。希望猪年能带来好运吧。

祝大家新年快乐!

Technorati : , ,

1 Comment

又遇到”maximum open cursors exceeded”

昨天刚骂完娘,下午还是又被拉到学院路了。说是程序出错,提示"maximum open cursors exceeded"。电话都到老板那里了,伙计们也都急着要回家过年。

只有自己再过去看看是啥。当初曾碰到过一次,那时的原因是"远程访问序列"的问题。这里再描述一次吧:

在oracle的文档中给出了取sequence值的例子:schema.sequence.nextval@dblink
不过这里还有一个要注意的地方,就是写完整的sql语句时,应该是
select yourseq.nextval@dblink from dual@dblink
而不是
select
yourseq.nextval@dblink from dual
两者有差别,这一次我的程序就犯了这个错误,使用了后一种写法,结果在后台服务程序长时间运行后出错,错误信息:
ORA-01000 maximum open cursors exceeded
主要原因就是使用后一种写法,造成分布式事务,每执行一次会打开游标,而没有关闭,这样一个session长时间执行后,就可能超出OPEN_CURSORS的阀值。
如果有环境的话,大家可以一试:
在sqlplus中执行
select
seq_test.nextval@mydblink from dual;
语句,然后检查
select OPEN_CURSORS from v$dblink;
该数值持续增长。

赶到机房,看了错误,再问了一下同事的代码,感觉采用OTL时用了静态变量出了问题。写了段测试代码:

int test_open_cursors( otl_connect& dbConnect, CBSErrorMsg& cErrorMsg)
{
int16 rv;

try
{
int iOpenCursors = 0;
string strSql = "select 1 from dual@testcs2";
string strSql2 = "select OPEN_CURSORS from v$dblink";

double llSeqId;
int32 iMax = 2000;

for ( int i = 0; i < iMax; ++i)
{
static otl_stream os;
os.open( 1, strSql.c_str(), dbConnect);
os >> llSeqId;
cout << llSeqId << "t";
// os.close();

otl_stream os2( 1, strSql2.c_str(), dbConnect);
os2 >> iOpenCursors;
cout << iOpenCursors << endl;
}
}
catch(otl_exception& p)
{
cerr << string( (const char*)p.msg + string(p.stm_text) + string(p.var_info)) << endl;
return -1;
}
return 0;
}

哎,果然。静态变量os光做了open,没有close,结果导致游标打开持续增长。好了,总算问题找到了,伙计,赶紧改程序吧。

希望还能过好年。

Technorati : , , ,

Leave a comment

情人节,加班

情人节,我居然加班到了现在的2月15日,真TMD想骂人。

2月15日本来我已经请假了,怎么说现在也该是休假的时候了,居然还在敲键盘,TNND的还是想骂人。

不能再忍受了,我都受不了自己了。谁来救救我啊!

Technorati : ,

1 Comment

割也割了,可以过个好年

2月8日项目割接,8日、9日连续作战,差不多都快两天两夜,这也算是我参与割接的最苦的一次了。而且不同的是承担的压力更重。

整个过程感觉可以拍一部电影,中间参与人紧张的程度我想也不亚于什么什么24小时之类的了。

庆幸的是最后的结果是成功的,但说实在的那取决于老天,呵呵。

要谢谢我们项目组的兄弟,还有参与割接的人。大家的辛苦没有白费,起码能过个好年了。

Technorati : ,

Leave a comment

这年头能相信啥

一直在关注艾晴晴的别针换别墅,还在等最后的结果呢。

迟迟没有消息,上面的blog都好久没更新了。却无意中看到了这样的新闻

童话还是骗局,这年头你说真还能相信谁。

再看看她博客上的留言我笑世人看不穿说:

有人疯了,有人傻了,有人被耍了;
有人哭了,有人笑了,有人上吊了;
有人来了,有人去了,有人心虚了;
有人输了,有人赢了,有人得逞了;

呵呵,我们就继续傻吧。还是希望自己的心中能有一个童话。

Technorati : , ,

Leave a comment

我们是英雄

年终评选,当选亚信英雄。挖个坑。

Technorati : ,

4 Comments