假期回来发现连接数据库总是报错,原来是服务器重启之后数据库的服务没有启动,在这里总结一下解决办法,分享一下。
一、在Linux下启动Oracle
1.登录到Linux服务器,切换到oracle用户权限(命令是:# su – oracle),这里直接用oracle用户登录的,所以不用切换。
2.进入sqlplus界面(命令是:$ sqlplus /nolog)原本的画面会变为
SQL>
接着请输入
SQL>conn / as sysdba ;
输入
SQL> startup (作用:启动数据库实例)
另外停止数据库的指令如下:
SQL> shutdown immediate
二、检查Oracle 数据库是否启动
3.回到终端机模式,输入:
ps -ef|grep ora (作用是:查看是否有Oracle的进程,如果有,大多数情况说明启动了。)
三、检查Oracle DB监听器是否正常
4.输入:
$ lsnrctl status (作用是:检查监听是否启动。)
如果没有启动,可以输入:
$ lsnrctl start (作用是:启动监听器)
另外停止监听的指令如下:
$ lsnrctl stop
四、测试数据库是否能正常使用
5.客户端使用 tnsping 命令(或使用sql*plus查询数据库看能否正常登录)
控制台 tnsping命令 IP地址 端口号 数据库服务名称
cmd->tnsping 192.168.1.90:1521/oracle
tnsping命令:如果能够ping通,则说明客户端能解析listener的机器名,而且lister也已经启动,但是并不能说明数据库已经打开,而且tsnping的过程与真正客户端连接的过程也不一致。但是如果不能用tnsping通,则肯定连接不到数据库。
进行到此,数据库一般是可以正常用sql*plus进行操作了,但是项目启动后还是连接不上数据库,这就需要最后一步,也是最关键的一步,重启tomcat服务。
五、重启tomcat服务
6.Linux 中进入tomcat 的安装路径,$ cd XX/XX/apache-tomcat-6.0.37/bin
$ ./shutdown.sh(作用是:停止tomcat服务)
$ ps aux | grep tomcat (作用是:查看tomcat服务是否真的停止,若没停止用kill -9 端口号强制停止,如kill -9 2765)
$./startup.sh(作用是:启动tomcat服务)