自动启动和关闭Oracle 脚本
配置完ASM实例后,每次启动oracle数据库服务器的时候要先启动ASM实例,然后启动数据库实例;关闭的时候,需要先关闭oracle数据库实例,然后关闭ASM实例;敲起命来来麻烦的很,因而改进了原来的shell脚本来更好的实现自动化,为了加快启动和关闭的速度,该脚本不包含dbconsole的启动和关闭,脚本同样适用于非ASM环境。
一:总脚本调用/usr/bin/startdb和/usr/bin/stopdb脚本,使用chkconfig命令创建相关的符号链接后就可以使用service命令调用
- [root@ora10g ~]# cat /etc/init.d/oracle
- #!/bin/sh
- #chkconfig: 35 85 15
- #description:oracle
- #function: start .. stop the oracle and asm instance on 10g R2 64bit
- #author:lw.yang
- #version: V.2.0
- # Source function library.
- . /etc/rc.d/init.d/functions
- case "$1" in
- start)
- /usr/bin/startdb
- ;;
- stop)
- /usr/bin/stopdb
- ;;
- *)
- echo $"Usage: $0 {start|stop}"
- exit 1
- esac
二:/usr/bin/startdb脚本用来启动ASM实例和ORACLE数据库实例和监听器,启动前会进行判断是否配置了ASM以及实例是否已经启动,ASM实例需要ocssd.bin后台进程启动才可以运行
- [root@ora10g ~]# cat /usr/bin/startdb
- #!/bin/sh
- #define variables
- ASM_PID=$(pidof ocssd.bin)
- ASM_PROC=$(ps -ef |grep asm_ |grep -v 'grep' |wc -l)
- D_SID=$(su - oracle -c "env |grep ORACLE_SID|cut -d "=" -f 2")
- DB_PROC=$(ps -ef |grep ora_ |grep -E 'smon|pmon|ckpt|lgwr' |wc -l)
- #startup asm instance
- if [ -z $ASM_PID ];then
- echo "Not configure use ASM"
- continue
- elif [ $ASM_PROC -gt "7" ];then
- echo "ASM instance already running"
- else
- su - oracle -c "export ORACLE_SID=+ASM && sqlplus /nolog<<EOF
- conn /as sysdba
- startup
- exit
- EOF"
- fi
- #startup database instance
- if [ $DB_PROC -eq "4" ];then
- echo "Database instance already running,shutdown it firtst"
- else
- su - oracle -c "lsnrctl start"
- su - oracle -c "export ORACLE_SID=$D_SID && sqlplus /nolog<<EOF
- conn /as sysdba
- startup
- exit
- EOF"
- touch /var/lock/subsys/oracle
- fi
三:/usr/bin/stopdb脚本用来关闭监听器,oracle数据库实例和ASM实例,关闭之前会先进行判断是否使用ASM以及相关实例是否已经关闭
- #!/bin/sh
- #define variables
- ASM_PID=$(pidof ocssd.bin)
- ASM_PROC=$(ps -ef |grep asm_ |grep -v 'grep' |wc -l)
- D_SID=$(su - oracle -c "env |grep ORACLE_SID|cut -d "=" -f 2")
- DB_PROC=$(ps -ef |grep ora_ |grep -E 'smon|pmon|ckpt|lgwr' |wc -l)
- #stop database instance
- if [ $DB_PROC -eq "0" ];then
- echo "Database instance already shutdown"
- else
- su - oracle -c "lsnrctl stop"
- su - oracle -c "export ORACLE_SID=$D_SID && sqlplus /nolog<<EOF
- conn /as sysdba
- shutdown immediate
- exit
- EOF"
- rm -f /var/lock/subsys/oracle
- fi
- #stop asm instance
- if [ -z $ASM_PID ];then
- echo "Not configure use ASM"
- elif [ $ASM_PROC -eq "0" ];then
- echo "ASM instance already shutdown"
- exit
- else
- su - oracle -c "export ORACLE_SID=+ASM && sqlplus /nolog<<EOF
- conn /as sysdba
- shutdown immediate
- exit
- EOF"
- fi
四:测试
- 非ASM环境下,数据库实例已经启动下测试:
- [root@ora10g ~]# service oracle start
- Not configure use ASM
- Database instance already running,shutdown it firtst
- [root@ora10g ~]# service oracle stop
- LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 02-JUN-2011 09:48:36
- Copyright (c) 1991, 2005, Oracle. All rights reserved.
- Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
- The command completed successfully
- SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 2 09:48:40 2011
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- SQL> Connected.
- SQL> Database closed.
- Database dismounted.
- ORACLE instance shut down.
- SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
- With the Partitioning, OLAP and Data Mining options
- Not configure use ASM
- 非ASM环境下,数据库实例已经关闭下测试:
- [root@ora10g ~]# service oracle stop
- Database instance already shutdown
- Not configure use ASM
- [root@ora10g ~]# service oracle start
- Not configure use ASM
- LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 02-JUN-2011 09:50:25
- Copyright (c) 1991, 2005, Oracle. All rights reserved.
- Starting /u01/app/oracle/bin/tnslsnr: please wait...
- TNSLSNR for Linux: Version 10.2.0.1.0 - Production
- System parameter file is /u01/app/oracle/network/admin/listener.ora
- Log messages written to /u01/app/oracle/network/log/listener.log
- Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora10g.766.com)(PORT=1521)))
- Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
- Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
- STATUS of the LISTENER
- ------------------------
- Alias LISTENER
- Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
- Start Date 02-JUN-2011 09:50:25
- Uptime 0 days 0 hr. 0 min. 0 sec
- Trace Level off
- Security ON: Local OS Authentication
- SNMP OFF
- Listener Parameter File /u01/app/oracle/network/admin/listener.ora
- Listener Log File /u01/app/oracle/network/log/listener.log
- Listening Endpoints Summary...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora10g.766.com)(PORT=1521)))
- (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
- Services Summary...
- Service "PLSExtProc" has 1 instance(s).
- Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
- The command completed successfully
- SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 2 09:50:25 2011
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- SQL> Connected to an idle instance.
- SQL> ORACLE instance started.
- Total System Global Area 629145600 bytes
- Fixed Size 2022824 bytes
- Variable Size 230687320 bytes
- Database Buffers 390070272 bytes
- Redo Buffers 6365184 bytes
- Database mounted.
- Database opened.
- SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
- With the Partitioning, OLAP and Data Mining options
五:设置操作系统环境变量
设置NLS_DATE_FORMAT和NLS_LANG环境变量,这两个变量需要同时设定,否则执行select sysdate from dual的时候,输出格式DD-MON-YY
SQL> select sysdate from dual;
SYSDATE
---------
02-JUN-11
[oracle@ora10g ~]$ env |grep NLS
NLS_LANG=american_america.UTF8
NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS
SQL> select sysdate from dual;
SYSDATE
-------------------
2011-06-02 10:04:49
设置默认编辑器为vim,若不设置该变量,在sqlplus中将无法使用ed命令
SQL> ed
Wrote file afiedt.buf
27
[oracle@ora10g ~]$ env |grep EDITOR
EDITOR=vim
自动启动和关闭Oracle 脚本相关推荐
- oracle禁止自动启动命令,自动启动和关闭Oracle 脚本
配置完ASM实例后,每次启动oracle数据库服务器的时候要先启动ASM实例,然后启动数据库实例:关闭的时候,需要先关闭oracle数据库实例,然后关闭ASM实例:敲起命来来麻烦的很,因而改进了原来的 ...
- 脚本自启动oracle,自动启动和关闭Oracle 脚本
配置完ASM实例后,每次启动oracle数据库服务器的时候要先启动ASM实例,然后启动数据库实例:关闭的时候,需要先关闭oracle数据库实例,然后关闭ASM实例:敲起命来来麻烦的很,因而改进了原来的 ...
- linux启动关闭脚本,Linux下自动启动关闭Oracle脚本
自动启动oracle9i 9i装在oracle文件系统下,在/oracle下建立文件startdb, 文件内容 echo "begin to start oracle&quo ...
- linux 脚本启动oracle,linux自动启动 oracle脚本
最近,ORACLE系统基本调试通过,是时候设置ORACLE随RHEL自动启动与关闭服务的时候了,之所以把这个任务放在最后来做,是因为我觉得这个应该不会很难,但真正实施起来,还是遇到了个不小的障碍 写好 ...
- Aix oracle 自动启动,AIX如何自动启动和关闭软件的运行
1. 自动启动定制的软件 在系统引导时, init进程顺序检测/etc/inittab文件, 决定在引导过程中进行什么样的操作.如果应用, 进程或其它的用户操作需要在系统引导过程中进行, 则要在/et ...
- oracle脚本刷错了怎么办,dbstartdbshut脚本中的错误
Oracle提供了两个脚本dbstart和dbshut用来启动和关闭数据库. 这两个脚本首先读取oratab(/etc/oratab)文件来决定哪个数据库是需要自动启动和关闭,然后启动和关闭那些数据库 ...
- 【转】Ubuntu Desktop下自动启动终端并运行脚本
转自:Ubuntu Desktop下自动启动终端并运行脚本 - 简书 alex@ubuntu19:~# lsb_release -a No LSB modules are available. Dis ...
- 开启关闭oracle数据库,手动开启/关闭Oracle数据库
@echo off @echo 启动/关闭数据库 set /p flag=您是否要启动数据库?(是按Y启动,否按N关闭) goto answer%flag% goto end :answery ech ...
- 计算机应用软件开机自动启动设置,电脑开机软件自动启动怎么关闭 win7/win10快速关闭开机自启软件...
电脑开机软件自动启动怎么关闭?电脑的开机速度除了和自身电脑的配置有关系外,还和电脑设置过得启动项有关系,如果想要电脑保持一个极佳的开机速度,最要的办法就是不要保留太多的开机启动项,那么Win10系统和 ...
最新文章
- Android 软键盘的显示和隐藏,这样操作就对了
- 2017年如何在移动端优雅的使用flex
- c语言中的static变量和static函数
- JAVA去掉HTMl以及CSS样式
- Memcached安装与配置
- linux命令大写输入,Linux命令行:对内容进行大小写字符转换 ????
- SQLServer获取最后插入生成的ID 不同方法
- [NOIP2009 最优贸易]
- DDA算法--计算机图形学
- 字节跳动计算机视觉算法工程师面试题(秋招)
- hook(useState、useEffect、useReducer)、context、React项目起始
- 基于java SSM的仿哔哩哔哩视频分享系统
- 达内微软mta证书有用吗_微软MTA认证含金量极高 同程同美引入MTA考试认证倍受关注...
- 一台双u的服务器和一台单u的服务器性能能高一半吗,单机柜供电能力提升后,选择1U还是2U?...
- PHP 通过身份证号判断年龄(周岁)
- 耐克app显示无法连接服务器,nike app登录不了怎么办 nikeapp客服在哪里怎么联系...
- OWASP TOP 10 2017中文译文
- python+大数据学习打卡day1
- Django基础-中文文档
- Q : office word 2007 段首按退格键无法退到上一行 -- 暂未解决
热门文章
- 10.PHP中的赋值运算符
- SQL基本操作(三):存储过程和触发器
- vrml行走和静止的人代码_CAE二次开发的核心不是代码
- vue 写门户网站_你不得不知道的Vue项目技巧
- [转]错误“AxImp.exe”已退出,代码为 -1163019603。
- 大型项目linux自动化版本发布脚本(shell)之tomcat、nginx服务脚本
- 关于 IO 和 NIO 的思考
- .net OADate 转javascript的Datetime js 5位 日期 转换
- React Native悬浮效果组件
- 2分钟-实现开机nginx开机自启动脚本(shell篇)