最近在做数据迁移, 就是写一下sql脚本和存储过程,然后使用shell脚本把sqlplus封装调用,例如:
conv_g_feeplicy.sh
#conv_g_feeplicy.sh G网资费相关参数迁移
sqlplus -S user_name/user_pwd@tns_str<
truncate table td_b_discnt ;
insert into td_b_discnt select ....
EOF
....
上面的conv_g_feeplicy.sh中涉及到10多次的启动sqlplus,但是在结束是没有加quit关闭数据库连接,导致在运作多次之后占用太多的数据库连接不能释放(这里也可能有数据库系统本身设置的问题),从而导致:
ORA-03113: end-of-file on communication channel
ORA-03114: not connected to ORACLE
上面是一个小小的教训,写出来希望大家不要犯这样的错误;
另外关于ORA-03113错误有篇较详细的文章,链接如下:
阅读(2411) | 评论(0) | 转发(0) |