Script to Start/Stop Oracle instance per current instance status

虚树沙漏
• 阅读 2180

很多时候,都要启动虚拟机里面的测试oracle数据库,操作多了就觉得烦了,于是就写了这样一个脚本:根据当前oracle服务的状态(通过smon进程来判断),决定对oracle服务进行启动/关闭操作。

脚本中,oracle实例的名字为orcl,所以smon进程的名称就是ora_somn_orcl。
使用的时候,直接运行这个脚本即可。如果再将脚本路径加入PATH中,使用起来就更方便了 :)

#!/bin/bash

## script to start/stop oracle database according to
## current open status of oracle instance
## 2014-11-05
## yangjia


STATUS=`ps -ef |grep smon |awk '{print $8}' |head -1`
if [ "$STATUS" = "ora_smon_orcl" ]
then
lsnrctl stop
sqlplus / as sysdba <<EOF
shutdown immediate
exit
EOF
else
lsnrctl start
sqlplus / as sysdba <<EOF
startup
exit
EOF
fi
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
RAC环境单实例启动数据库收到ORA
     在RAC环境中,如果你在没有启动节点的集群服务的情况下单实例启动数据库,将收到类似如下的报错:\oracle@rhel1u01\$sqlSQL\Plus:Release10.2.0.5.0ProductiononTueApr215:00:272013Copyright(
Stella981 Stella981
3年前
CentOS Oracle 11g 开机启动
我的环境变量:ORACLE\_SIDbaoORACLE\_UNQNAME$ORACLE\_SIDORACLE\_BASE/bao1ORACLE\_HOME$ORACLE\_BASE/oracleOracle在$ORACLE\_HOME/bin下提供许多对数据库进行操作的脚本,其中dbstart和dbshut可分别用来启动和
Wesley13 Wesley13
3年前
MySQL 内核线程简要分析
若接触过Oracle的学者,想必应该都知道Oracle的体系结构,Oracle体系结构中涉及的进程诸如:PMON、SMON、LGWR、CKPT、DBWR\_N等等那MySQL里面的线程是怎么样的呢?(因为MySQL是单进程多线程结构),带着这个疑问,进行了查阅资料及调试,总结为:MySQL启动时,默认是23个线程。实验环境Linux:CentO
Wesley13 Wesley13
3年前
oracle调用java代码
  内容主要包括:java开发,打包java程序成jar文件,上传jar文件到Oracle所在系统,Oracle导入jar文件中java类到数据库中,Oracle根据导入java类创建函数,Oracle操作函数。  用到的软件:Oracle数据库,Oracle数据库安装在Linux操作系统上;java用IDEA开发;上传jar文件用winSCP;操作Or
Wesley13 Wesley13
3年前
Oracle用户环境变量配置
要成功安装并使用Oracle数据库软件,必须在Oracle用户的.bash\_profile文件中设置ORACLE\_BASE、ORACLE\_HOME、ORACLE\_SID和PATH环境变量,其他的根据需要来设置。ORACLE\_HOME可以在安装前手动配置,另外,Oracle安装过程中会根据ORACLE\_BASE的值自动指定的ORACLE\_HOM
Stella981 Stella981
3年前
Linux下建立Oracle 11.2.0.1服务及其开机自启动
我的环境变量:ORACLE\_SIDbaoORACLE\_UNQNAME$ORACLE\_SIDORACLE\_BASE/bao1ORACLE\_HOME$ORACLE\_BASE/oracleOracle在$ORACLE\_HOME/bin下提供许多对数据库进行操作的脚本,其中dbstart和dbshut可分别用来启动和
Wesley13 Wesley13
3年前
Oracle:如果表存在
我正在为Oracle数据库编写一些迁移脚本,并且希望Oracle有类似MySQL的IFEXISTS结构。具体来说,每当我想在MySQL中删除表时,我都会这样做DROPTABLEIFEXISTStable_name;这样,如果表不存在,DROP不会产生错误,脚本可以继续。Oracle是否有类似的机制?
Stella981 Stella981
3年前
Python操作Oracle
Python对Oracle数据库的基本操作1、电脑要安装Oracleserver。2、pipinstallcx\_Oracle3、dbcx_Oracle.connect(username,password,host)连接数据库"host":"localhost:1521/x
Stella981 Stella981
3年前
Linux下启动Oracle服务和监听程序
suoraclesqlplus/nologconnect/assysdbastartuplsnrctlstartoracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下。安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash\_pro
Wesley13 Wesley13
3年前
oracle数据库完全卸载步骤
1.关闭oracle所有的服务。可以在windows的服务管理器中关闭;2.打开注册表:regedit打开路径:HKEY\_LOCAL\_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\删除该路径下的所有以oracle开始的服务名称,这个键是标识Oracle(https://www.oschina.
Wesley13 Wesley13
3年前
oracle 实例名,数据库名概念
拷贝于https://www.cnblogs.com/ahudyanforever/p/6016784.html在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个Instance之类的话。其实问他们什么是数据库,什么是Instance,很可能他们给的答案就是数据库就是Instance,Ins