tomcat启动 ORACLE initialization or shutdown in progress

ORACLE initialization or shutdown in progress 问题描述: 20100827(周五)下班前测试服务器的数据库还是好好的,周一上班本地启动tomcat马上就报异常信息: 2010-08-30 10:18:02,364 WARN [org.hibernate.cfg.SettingsFactory] - <could not obtain connection metadata> org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-01033: ORACLE initialization or shutdown in progress at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880) at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java: Caused by: java.sql.SQLException: ORA-01033: ORACLE initialization or shutdown in progress郁闷了,怎么会这样,搞得我们整个团队的部分开发、测试工作无法进行。 问题解决过程: 1:先用一个普通用户登录到测试服务器如: ssh tomcat@192.168.0.88 进入/home目录发现没有oracle这个用户目录 2:查看/etc/passwd文件,发现有oracle这样一个用户 。。。。。 oracle:x:1001:1001::/usr/lib/oracle/xe:/bin/bash 。。。。。 3: sudo -i 切换到root用户,在/home目录下创建一个oracle用户目录 4:root用户 passwd oracle设置密码 5:修改/etc/passwd文件中oracle用户的内容为: 。。。。。 oracle:x:1001:1001::/home/oracle:/bin/bash 。。。。。 6: 编辑 /etc/profile文件添加oracle的环境变量如下: 。。。。。。 export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server export ORACLE_SID=XE export PATH=${ORACLE_HOME}/bin:$PATH #export NLS_LANG=AMERICAN_AMERICA.AL16UTF8 export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 。。。。。 补充: /etc/profile文件中设置的变量对所有用户有效(针对系统所有用户) /etc/enviroment文件中设置的变量对整个系统有效(针对整个系统) 7:用新建的oracle用户登录测试服务器 ssh oracle@cs 8: echo $PATH 查看环境变量信息,显示如下: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin表示oracle的环境路径,如path中没有这个oracle的路径设置,oracle用户在终端执行sqlplus 是会提示 command not found. 9:sqlplus /nolog (启动sqlplus但不进行连接操作) 10: conn sys/root as sysdba 用户sys作为dba用户连接数据库 11:shutdown immediate 12:startup 提示 Total System Global Area 591396864 bytes Fixed Size 1260220 bytes Variable Size 163579204 bytes Database Buffers 423624704 bytes Redo Buffers 2932736 bytes 数据库装载完毕。 ORA-01113: 文件 5 需要介质恢复 ORA-01110: 数据文件 5: '/opt/oracle/point.dbf' 13: 好吧,第12步告诉我要恢复/opt/oracle/point.dbf这个文件,那我就恢复它吧, 是什么原因造成这个文件要恢复呢? 由于我们在创建用户point的表空间的时候指定了该用户的表空间的大小为:512MB,而我查看了该文件的大小目前为527MB,超过了指定的表空间大小,导致报ORACLE initialization or shutdown in progress 14:恢复数据库介质 14.1:shutdown abort 14.2:startup nomount 14.3:recover datafile '/opt/oracle/point.dbf'; 提示: Linux Error: 13: Permission denied Additional information: 3 又切换到root用户 执行 chown -R oracle /opt/oralce 将/opt/oracle/目录下的所有文件赋予oracle用户 14.4:重新执行 recover datafile ‘opt/oracle/point.dbf' 提示:完成介质恢复。 14.5: alter database open; 提示: 第 1 行出现错误: ORA-01113: ?? 6 ?????? ORA-01110: ???? 6: '/opt/oracle/game.dbf' shit原来还有game用户的表空间要恢复 再次执行 14.6:recover datafile '/opt/oracle/game.dbf' 提示:完成介质恢复。 14.7:alter database open 15:重新启动数据库 15.1:shutdown immediate 15.2:startup mount 15.3: lsnrctl start 提示: SP2-0734: 未知的命令开头 "lsnrctl st..." - 忽略了剩余的行。 shit怎么会提示这个问题,原因是:lsnrctl 命令报不能在sqlplus环境中执行 退出sqlplus在命令行执行 lsnrctl start 即可启动oracle数据库的监听器了,或者重新启动数据库即可。 16:sudo reboot</could>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值