如何让oracle DB、监听和oem开机启动(dbstart)



让oracle DB、监听和oem开机启动(dbstart)

Oracle提供了伴随操作系统自动重启的功能,在Windows中,可以修改“我的电脑-->管理-->服务-->OracleService$ORACLE_SID”,或直接使用Win+R键打开运行窗口,输入services.msc即可打开服务,找到相应的Oracle服务,然后将其属性中的启动类型修改成自动。一般在Windows系统上安装完后会自动设置成自动。

对于Linux/Unix操作系统,如果想设置自动重启,那该如何操作呢?对此Oracle提供了dbstart命令用于启动,可以有2种方法来配置。

1.1.1.1
    方法1:配置Linux的service服务

1. 修改/etc/oratab

[root@oracle ~]#vim /etc/oratab

orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y     #将N改为Y

2. 修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut

[root@oracle ~]#vim
$ORACLE_HOME/bin/dbstart

[root@oracle ~]#vim
$ORACLE_HOME/bin/dbshut

ORACLE_HOME_LISTNER=$ORACLE_HOME ($1改为$ORACLE_HOME)

ORACLE_HOME_LISTNER的位置:Oracle 11g的dbstart在第80行,dbshut文件中在第50行。

3. 建立启动脚本

使用root用户创建脚本:

[root@oracle ~]#vim
/etc/rc.d/init.d/oracle

#!/bin/bash

#
chkconfig: 2345 99 10

#
description: Startup Script for oracle Databases

#
/etc/rc.d/init.d/oracle

export
ORACLE_BASE=/u01/app/oracle/

export
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

export
PATH=$PATH:$ORACLE_HOME/bin

export
ORACLE_UNQNAME=PROD1

echo "
" >> /var/log/oraclelog

echo
`date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog

case
"$1" in

start)

echo
"-----startup oracle-----" >> /var/log/oraclelog

su oracle -c
"$ORACLE_HOME/bin/dbstart"

su oracle -c
"$ORACLE_HOME/bin/emctl start dbconsole"

touch /var/lock/subsys/oracle

echo
`date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog

echo
"-----startup oracle successful-----" >> /var/log/oraclelog

echo
"OK"

;;

stop)

echo
"-----shutdown oracle-----" >> /var/log/oraclelog

su oracle -c
"$ORACLE_HOME/bin/dbshut"

su oracle -c
"$ORACLE_HOME/bin/emctl stop dbconsole"

rm -f
/var/lock/subsys/oracle

echo
`date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelogg

echo
"-----shutdown oracle successful-----" >> /var/log/oraclelog

echo
"OK"

;;

restart)

echo
"-----shutdown oracle-----" >> /var/log/oraclelog

su oracle -c
"$ORACLE_HOME/bin/dbshut"

su oracle -c
"$ORACLE_HOME/bin/emctl stop dbconsole"

rm -f
/var/lock/subsys/oracle

echo
`date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog

echo
"-----shutdown oracle successful-----" >> /var/log/oraclelog

echo
"-----startup oracle-----" >> /var/log/oraclelog

su oracle -c
"$ORACLE_HOME/bin/dbstart"

su oracle -c
"$ORACLE_HOME/bin/emctl start dbconsole"

touch
/var/lock/subsys/oracle

echo
`date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog

echo
"-----startup oracle successful-----" >> /var/log/oraclelog

echo
"OK"

;;

*)

echo
"Usage: 'basename $0' start|stop|restart"

exit 1

esac

exit 0

4. 给脚本设置权限

[root@oracle
~]# chmod 755 /etc/rc.d/init.d/oracle

5. 建立服务

[root@oracle
~]# chkconfig --add oracle

[root@oracle
~]# chkconfig oracle on

[root@oracle
~]# chkconfig --list oracle

oracle          0:off   1:off  
2:on    3:on   
4:on    5:on    6:off

6. 检查是否生效

先使用root用户测试服务是否生效:

[root@edsir4p1
~]# service oracle stop

[root@edsir4p1
~]# service oracle start

[root@edsir4p1
~]# service oracle restart

再重启OS,验证是否生效。

使用service测试:

[root@edsir4p1
~]# service oracle stop

Processing
Database instance "PROD1": log file
/u01/app/oracle/product/11.2.0/dbhome_1/shutdown.log

Processing
Database instance "PROD2": log file
/u01/app/oracle/product/11.2.0/dbhome_1/shutdown.log

Oracle
Enterprise Manager 11g Database Control Release 11.2.0.1.0

Copyright
(c) 1996, 2009 Oracle Corporation.  All
rights reserved.

https://edsir4p1.us.oracle.com:1158/em/console/aboutApplication

Stopping
Oracle Enterprise Manager 11g Database Control ...

... 
Stopped.

OK

[root@edsir4p1
~]# service oracle start

Processing
Database instance "PROD1": log file
/u01/app/oracle/product/11.2.0/dbhome_1/startup.log

Processing
Database instance "PROD2": log file
/u01/app/oracle/product/11.2.0/dbhome_1/startup.log

Oracle
Enterprise Manager 11g Database Control Release 11.2.0.1.0

Copyright
(c) 1996, 2009 Oracle Corporation.  All
rights reserved.

https://edsir4p1.us.oracle.com:1158/em/console/aboutApplication

Starting
Oracle Enterprise Manager 11g Database Control ..... started.

------------------------------------------------------------------

Logs are
generated in directory
/u01/app/oracle/product/11.2.0/dbhome_1/edsir4p1.us.oracle.com_PROD1/sysman/log

OK

1.1.1.2
    方法2:配置/etc/rc.d/rc.local文件

1. 修改/etc/oratab

[root@oracle ~]#vim /etc/oratab

orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y     #将N改为Y

2. 修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut

[root@oracle ~]#vim
$ORACLE_HOME/bin/dbstart

[root@oracle ~]#vim
$ORACLE_HOME/bin/dbshut

ORACLE_HOME_LISTNER=$ORACLE_HOME ($1改为$ORACLE_HOME)

ORACLE_HOME_LISTNER的位置:Oracle 11g的dbstart在第80行,dbshut文件中在第50行。

3. 建立启动脚本

将以下脚本添加到/etc/rc.d/rc.local文件中:

export
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

su
oracle -c $ORACLE_HOME/bin/dbstart

export
ORACLE_UNQNAME=PROD1

su
oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"

若环境中没有创建EM,则可以不用添加ORACLE_UNQNAME,和emctl这2行。

4. 4检查是否生效

先使用root用户测试服务是否生效:

[root@edsir4p1
~]# export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

[root@edsir4p1
~]# su oracle -c $ORACLE_HOME/bin/dbstart

Processing
Database instance "PROD1": log file
/u01/app/oracle/product/11.2.0/dbhome_1/startup.log

Processing
Database instance "PROD2": log file
/u01/app/oracle/product/11.2.0/dbhome_1/startup.log

再重启OS,验证是否生效。

1.1.1.3
    总结

对于这2种方法,需要注意的几个问题:

1. 多个实例都会自动重启。

2. 监听也会自动重启。

3. 重启的详细日志为:$ORACLE_HOME/shutdown.log和$ORACLE_HOME/startup.log。

4. oracle用户的环境变量可以不用配置。

5. ORACLE_UNQNAME的作用是设置EM的环境变量,emctl是启动OEM,若没有则可以不用设置。

6. ORACLE_HOME的作用是设置数据库监听的环境变量。

7. 对于ASM、RAC环境,只需要将数据库资源注册的CRS中,即可实现开机启动。





About Me

.............................................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文博客园地址:http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

.............................................................................................................................................

● QQ群号:230161599(满)、618766405

● 微信群:可加我微信,我拉大家进群,非诚勿扰

● 联系我请加QQ好友(646634621),注明添加缘由

● 于 2018-01-01 06:00 ~ 2018-01-31 24:00 在魔都完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

.............................................................................................................................................

● 小麦苗的微店:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 小麦苗出版的数据库类丛书:http://blog.itpub.net/26736162/viewspace-2142121/

● 好消息:小麦苗OCP、OCM开班啦,详情请点击:http://blog.itpub.net/26736162/viewspace-2148098/

.............................................................................................................................................

使用微信客户端扫描下面的二维码来关注小麦苗的微信公众号(xiaomaimiaolhr)及QQ群(DBA宝典),学习最实用的数据库技术。

小麦苗的微信公众号      小麦苗的DBA宝典QQ群2     《DBA笔试面宝典》读者群       小麦苗的微店

.............................................................................................................................................

如何让oracle DB、监听和oem开机启动(dbstart)的更多相关文章

  1. 【DB宝49】Oracle如何设置DB、监听和EM开机启动

    目录 一.Windows系统 二.Linux系统 方法1:配置/etc/rc.d/rc.local文件(推荐) 方法2:配置service服务 三.Oracle 18c版本 四.总结 一.Window ...

  2. Oracle修改监听端口号1521[转]

    在oracle中,默认的监听端口号为1521,一旦有人扫描出这个端口号就会知道此服务器为oracle数据库服务器,存在极其大的安全隐患,在这里,教大家如何修改oracle默认端口号为9999: 1.查 ...

  3. Oracle 数据库监听配置和服务

    -- 补充说明 如果要远程连接192.168.10.44上的oracle,那么192.168.10.44服务器必须启动TNSListener.(配置文件 listener.ora) PLSQL Dev ...

  4. Oracle修改监听端口教程

    Oracle默认监听端口1521,一众扫描器通常通过探测1521端口是否开启来探测是否存在Oracle服务,如果修改默认监听端口在一定程度上可以提升数据库和主机的安全性. 比如这里我们修改成2521为 ...

  5. 修改oracle默认监听端口

    修改oracle默认监听端口 oracle端口修改 主要是修改两个文件和修改oracle参数local_listener 1 查看当前监听状态 [oracle@test ~]$ lsnrctl sta ...

  6. Windows环境下修改Oracle实例监听IP地址

    Windows环境下修改Oracle实例监听IP地址. 配置文件路径:<ORACLE_HOME>\NETWORK\ADMIN 如:C:\Oracle11gR2\product\11.2.0 ...

  7. Oracle 静态监听注冊具体解释

    Oracle 静态监听注冊具体解释 网上有非常多关于oracle 监听静态注冊的文章.但大多都是简单说说,并没有具体的样例.这里,将结合linux as4 下的oracle 10gR2.0.1 举一个 ...

  8. Oracle 11g 监听很慢,由于监听日志文件太大引起的问题(Windows 下)

    现象:Windows 操作系统的Oracle 数据库,使用sqlplus 连接(不指定实例名)连接很快,程序连接或使用连接工具或在Net Manager 中测试连接都需要花费约三四十秒的时间(程序连接 ...

  9. 为什么监听不到开机广播action.BOOT_COMPLETED

    为什么监听不到开机广播action.BOOT_COMPLETED 1. 说明 Android手机开机后,会发送android.intent.action.BOOT_COMPLETED广播,监听这个广播 ...

随机推荐

  1. 51 nod 1628 非波那契树

    原题链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1628 花了一个早上+半个下午终于把这题切掉了…… (膜出题人) ...

  2. Quick Brown Fox

    The quick brown fox jumps over the lazy dog

  3. python 元组学习

    元组用tuple表示,用,分割开,和列表类似,但是没有排序修改等高级操作.简单地说就是终态的...... >>> tuple1 = (1,2,3)>>> type( ...

  4. rexray在CentOS上不能创建ceph rbd的docker volume问题定位

    背景 我们通过docker的rexray插件来创建ceph rbd设备的docker volume,但总提示创建失败. # docker volume create --driver=rexray - ...

  5. javaScript事件流是什么?

    一.事件 事件是文档或者浏览器窗口中发生的,特定的交互瞬间. 事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字. 事件是javaScript和DOM之间交 ...

  6. iOS钉钉远程打卡助手(支持越狱和非越狱)

    前言:本文主要讲述使用hook方式实现钉钉远程打卡功能,涉及到tweak相关知识,如果你不想了解具体实现细节可直接到我的Github地址参考安装(包含越狱和非越狱两种方法)   你是不是像小编一样每个 ...

  7. iOS学习——键盘弹出遮挡输入框问题解决方案

    在iOS或Android等移动端开发过程中,经常遇到很多需要我们输入信息的情况,例如登录时要输入账号密码.查询时要输入查询信息.注册或申请时需要填写一些信息等都是通过我们键盘来进行输入的,在iOS开发 ...

  8. nginx服务器配置/websocket nginx 配置笔记

    server { listen 80; server_name xxx.com; # add_header '*' ; location /u/ { # 反向代理透传客户端ip proxy_set_h ...

  9. html dl dt dd标签元素语法结构与使用

    dl dt dd认识及dl dt dd使用方法 标签用于定义列表类型标签. dl dt dd目录 dl dt dd介绍 结构语法 dl dt dd案例 dl dt dd总结 一.dl dt dd认识 ...

  10. php对数组进行分页

      3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...