oracle 11.2.0.3 设置启动脚本使ORACLE自动启动

简介:

Linux下安装完后每次都得通过下面命令来启动对应的服务:

启动服务 dbstart 

启动监视器 lsnrctl start

启动控制台 emctl start dbconsole

本文以Red Hat Enterprise Linux 6.4 (x86_64)+oracle11G为例设置oracle开机自动启动:

方法一:

使用dbstart命令用于启动,具体方法如下

首先修改/etc/oratab文件,将orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N中的N改成Y,然后在/etc/rc.local添加下面几行

1
2
3
su  - oracle -c  '$ORACLE_HOME/bin/dbstart'
su  - oracle -c  '$ORACLE_HOME/bin/lsnrctl start'
su  - oracle -c  '$ORACLE_HOME/bin/emctl start dbconsole'


如果没有设置ORACLE_HOMEH环境变量,用绝对路径取代即可,如/dba/app/oracle/product/..

初次运行dbstart时,一般会有这个报错:

1
su  - oracle -c  "dbstart"

ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener

这个提示说明

启动oracle服务的同时没有启动oracle监听服务,因此如果想在启动oracle服务的同时i启动监听

就需要修改dbstart/dbshut,将ORACLE_HOME_LISTNER值设为$ORACLE_HOME(原来是为$1)

方法二:  

1
vi  /etc/rc . local

把下面的内容加入

1
2
3
4
5
6
7
8
9
su  - oracle -c "
export  ORACLE_SID=orcl
sqlplus  /nolog  <<EOF
connect / as sysdba
startup;
exit ;
EOF"
su  - oracle -c  '$ORACLE_HOME/bin/lsnrctl start'
su  - oracle -c  '$ORACLE_HOME/bin/emctl start dbconsole'


说明下上面脚本:

在shell脚本中,通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。

EOF只是一个分界符,当然也可以用abcde替换。

当shell遇到<<时,它知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。

此分界符可以是所定义的任何字符串,其实,不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以用来替代EOF,完全可以换成abcde之类的字符串,只是一个起始和结束的标志罢了。

1,command<<EOF

(内容)

EOF


例如:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
#Filename:do.sh
su  - oracle -c "
export  ORACLE_SID=orcl
sqlplus  /nolog  <<EOF
connect / as sysdba
startup;
exit ;
EOF"
sleep  5
su  - oracle -c 
lsnrctl start

说明:

将“内容段”整个作为命令的输入。

用su命令读取整段命令,并逐行执行。



本文转自 sfih 51CTO博客,原文链接:http://blog.51cto.com/dayday/1739903

相关文章
|
4月前
|
Oracle 关系型数据库 Linux
Oracle设置监听之Navicat的锅
Oracle设置监听之Navicat的锅
32 0
|
7月前
|
存储 SQL Oracle
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
68 0
|
Oracle 网络协议 关系型数据库
Oracle会话超时设置1:在sqlnet.ora和listener.ora中设置
这篇文章是Oracle会话超时设置的第一个文章,简述和Oracle 数据库 net services有关的会话超时管理。
1175 0
Oracle会话超时设置1:在sqlnet.ora和listener.ora中设置
|
SQL 运维 Oracle
Oracle 超时设置2:设置实例级参数
Oracle超时设置系列的第二篇文章,设置实例级参数
473 0
|
3月前
|
Oracle 关系型数据库 Linux
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
63 1
|
8月前
|
Oracle 关系型数据库 数据库
Oracle——给数据库的某个字段设置随机数
Oracle——给数据库的某个字段设置随机数
|
8月前
|
Oracle 关系型数据库 Linux
Oracle设置连接数进程数会话数
Oracle设置连接数进程数会话数
127 0
|
9月前
|
Oracle 关系型数据库
ORACLE中设置ID自增详细
ORACLE中设置ID自增详细
204 0
|
10月前
|
Oracle 关系型数据库 数据库
【Oracle】设置自增
Oracle Database,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
144 0
|
10月前
|
Oracle 前端开发 关系型数据库
在Oracle的ADR中设置自动删除trace文件的策略
姚远在一个有两万个客户的公司做数据库支持,什么稀奇古怪的事情都能遇到,有个客户的数据库不停地产生大量的trace,经常把硬盘撑爆,看看姚远怎么解决这个问题的。