oracle 网站 账号密码oracle10G表空间移动,TNS监听程序所有适用例程都无法建立新连接,service_died12537,c3p0连接池参数

一次边学边干的oralce运维经历, 步步是坑啊

前几天经历了删除垃圾数据表、清理回滚表空间这些东西之后,又rebuild了索引, 感觉oracle的性能真是杠杠的。 系统又开始急速运行了。

客户经历了这事之后, 主动提出了把数据库切换到存储上面, 分配了200G。

开始干活啊,

1、先停止oracle

2、把你要移动的表空间文件复制到目的地例如:从d盘复制到E盘

3、登陆oracle

sqlplus / as sysdba

4、然后执行

startup mount alter database rename file 'D:/xxxxx' to 'E:/xxxxx';alter database open;

ok, 一切都搞定。

胜利完工之后, 系统运行2天, 客户说每天早上系统都必须重启, 才可以使用, 否则服务使用。 很是困惑。 打开oracle日志查看

警告日志:\oracle\product\10.2.0\db_1\admin\orcl\bdump\alert_orcl.log监听日志:\oracle\product\10.2.0\db_1\NETWORK\log\listener.log

listener.log 的体积已经增长到140M, 打开里面发现如下内容:

workman  16:57:3801-12月-2014 07:59:42 * service_update * scm * 001-12月-2014 07:59:47 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=SCM)) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.11.15.179)(PORT=2910)) * establish * SCM * 12528TNS-12528: TNS: 监听程序: 所有适用例程都无法建立新连接01-12月-2014 07:59:57 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=SCM)) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.11.15.179)(PORT=2912)) * establish * SCM * 12528TNS-12528: TNS: 监听程序: 所有适用例程都无法建立新连接01-12月-2014 08:00:05 * service_died * scm * 1253701-12月-2014 08:00:20 * service_register * scm * 001-12月-2014 08:00:26 * service_update * scm * 0

【注明:关于 12537的错误, 笔者度娘很久, 发现这是个很模糊的问题, 很多人都说是oracle的配置的问题】

经过分析, 这个应该和配置没有啥关系 , 因为再次重启的时候oracle不用重启就可以, 如果oralc自己出了问题, 那恐怕这样不行,而且每次都出现在夜里, 所以这个错误应该是个很大范围的。

所以, 查看java的连接情况, 程序使用c3p0作为数据库连接池。修改其参数

      <property key="c3p0.validate">true</property>        <property key="c3p0.idle_test_period">60</property>  

然连接池自己去校验下连接是否正常。 早上再次查看oralcoracle账号的listener.log , 一切恢复正常。

继续监控系统中。。。。

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。