linux下oracle重启、启动、停止脚本

时间:2023-02-13 08:33:47


网站的服务中断了,重启下发现是oralce服务不存在,又不想重启机器,就重新启动下oralce,再重启服务,搞定.

操作的为oracle9i:(其他应该也可以用吧记录如下)声明:监听器

手动操作

 代码如下 复制代码

(1) 以oracle身份登录数据库,命令:su – oracle
(2) 进入Sqlplus控制台,命令:sqlplus /nolog
(3) 以系统管理员登录,命令:connect / as sysdba
(4) 启动数据库,命令:startup
(5) 如果是关闭数据库,命令:shutdown immediate
(6) 退出sqlplus控制台,命令:exit
(7) 进入监听器控制台,命令:lsnrctl
(8) 启动监听器,(如果已经启动就无需管了)命令:start
(9) 退出监听器控制台,命令:exit
(10) 重启数据库结束

或者

用root以ssh登录到linux,打开终端输入以下命令:

cd $ORACLE_HOME   #进入到oracle的安装目录
dbstart           #重启服务器
lsnrctl start     #重启监听器
cd $ORACLE_HOME   #进入到oracle的安装目录
dbstart           #重启服务器
lsnrctl start     #重启监听器


也可以使用脚本来定时启动

linux下开机自动启动Oracle脚本

#注意:例子中的oralce命令在/u01/app/oracle/product/10.2.0/db_1/bin/目录。
#修改ORA_HOME的值为ORACLE的目录。

 代码如下 复制代码

1.#!/bin/bash
2.#root
3.#chkconfig: 345 51 49
4.#description: starts the oracle dabase deamons
5.#
6.ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
7.ORA_OWNER=oracle
8.case "$1" in
9.'start')
10.echo -ne "Starting oracle 11g ... n"
11.su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart"
12.echo -e "Done.n"
13.echo -e "Starting Oracle Listeners ... n"
14.su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
15.echo -e "Done.n"
16.su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole" #启动web管理界面:http://host_ip_address:1158/em
17.echo -ne "input root password......n"
18.su - root -c "touch /var/lock/subsys/oracle11g"
19.echo -e "n"
20.;;
21.'stop')
22.echo -ne "shutting down oracle 11g ... n"
23.su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut"
24.echo -ne "dbshut ok !n"
25.su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
26.echo -ne "lsnrctl stop ok !n"
27.su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole"
28.#su - root -c "/home/oracle/ufsoft/stop.sh"
29.echo -ne "input root password......n"
30.su - root -c "rm -f /var/lock/subsys/oracle11g"
31.echo
32.;;
33.'restart')
34.echo -ne "restarting oracle 11g ... n"
35.$0 stop
36.$0 start
37.echo
38.;;
39.*)
40.echo "Usage: oracle {start|stop|restart} "
41.exit 1
42.

43.esac
44.exit 0


============建立一个名为oralce10g的脚本==========

 代码如下 复制代码
[root@cwserver ~]# gedit /etc/rc.d/init.d/oracle10g
#复制粘贴本文开头的脚本。或者直接使用附件中的oracle10g文件
#给予执行权限
[root@cwserver ~]# chmod 755 /etc/rc.d/init.d/oracle10g

#注意:例子中的oralce命令在/home/oracle/oracle/product/10.2.0/db_1/bin目录。
你可以自己修改成自己的目录。


============添加到启动、关闭、重启动服务序列中===

 代码如下 复制代码
$ ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc2.d/S99oracle10g
$ ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc3.d/S99oracle10g
$ ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc5.d/S99oracle10g
$ ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc0.d/K01oracle10g
$ ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc6.d/K01oracle10g


============添加并启动察看服务=============================

 代码如下 复制代码
$/sbin/chkconfig --add /etc/rc.d/init.d/oracle10g
$/sbin/chkconfig --list /etc/rc.d/init.d/oracle10g


============修改Oracle系统配置文件/etc/oratab=====

 代码如下 复制代码
$ gedit /etc/oratab
最后一行更改为:
orcl:/home/oracle/oracle/product/10.2.0/db_1:Y



from  http://www.111cn.net/sys/linux/53568.htm