脚本下载(代码写了删除原数据库和开机自启的语句):https://pan.baidu.com/s/1dMRyJ8
1、修改$ORACLE_HOME/bin/dbstart
[oracle@seiang11g ~]$ vim $ORACLE_HOME/bin/dbstart
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
2、修改$ORACLE_HOME/bin/dbshut
[oracle@seiang11g ~]$ vim $ORACLE_HOME/bin/dbshut
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
[oracle@seiang11g ~]$ vim /etc/oratab
将seiang11g:/u01/app/oracle/product/11.2.0/dbhome_1:N中最后的N改为Y,成为seiang11g:/u01/app/oracle/product/11.2.0/dbhome_1:Y
4、输入命令dbshut和dbstart测试
[oracle@seiang11g ~]$dbshut
Oracle监听停止,进程消失。
[oracle@seiang11g ~]$dbstart
Oracle监听启动,进程启动。
5、切换到root账户建立自启动脚本
[root@seiang11g init.d]# vim /etc/rc.d/init.d/oracle
添加以下内容(有些值如ORACLE_HOME和ORACLE_USER等根据实际情况可以修改):
#!/bin/bash
# oracle: Start/Stop Oracle Database 11g R2
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
[root@seiang11g ~]# chmod 755 /etc/init.d/oracle
7. 设置为开机启动
[root@seiang11g ~]# chkconfig oracle on
注意:
如果在执行chkconfig oralce on或chkconfig –add oracle时出现如下的提示:
则在/etc/rc.d/init.d/oracle脚本中一定要加入下面两行内容
# chkconfig: 345 99 10
# description: script for the Oracle Instance,Listener(描述内容可修改)
说明:
# chkconfig: 345 99 10
指出3,4,5级别启动这个服务,99是在相应的/etc/rc.d/rcN.d(N为前面指定的级别,这里是345)目录下生成的链接文件的序号(启动优先级别) S99oradbstart,10为在除前面指出的级别对应的/etc/rc.d/rcN.d(N为除345之外的级别)目录生成的链接文件的序号(服务停止的优先级别)K10oradbstart
8、进行service oracle start/stop/restart测试
9、Reboot重启查看Oracle监听和实例进程均能自动启动。
1.使用sql*PLUS停止数据库 [oracle@OracleTestoracle]$sqlplus/nolog sql>connect/assysdba sql>shutdownimmediate sql>exit 2.停止Listener [oracle@OracleTestoracle]$lsnrctlstop 3.用su或者重新登录到root(如想重新安装可以保留oracle用户,省得输入环境变量了) 4.将安装目录删除 [root@OracleTest/root]#rm-rf/u01/app/oracle/ 5.将/usr/bin下的文件删除 [root@OracleTest/root]#rm/usr/local/bin/dbhome [root@OracleTest/root]#rm/usr/local/bin/oraenv [root@OracleTest/root]#rm/usr/local/bin/coraenv 6.将/etc/oratab删除 [root@OracleTest/root]#rm/etc/oratab 7.将/etc/oraInst.loc删除 [root@OracleTest/root]#rm/etc/oraInst.loc 8.将oracle用户删除(若要重新安装,可以不删除) [root@OracleTest/root]#userdel–roracle 9.将用户组删除(若要重新安装,可以不删除) [root@OracleTest/root]#groupdeloinstall [root@OracleTest/root]#groupdeldba 10.将启动服务删除 [root@OracleTest/root]#chkconfig--deldbora 到此为止重启后,你的Linux系统下的Oracle数据库已完全删除了!!!
本文转载自: