百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

Oracle-Oracle DB、监听和oem开机启动

sinye56 2024-09-22 08:30 3 浏览 0 评论



1.Windows

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

Linux

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

方法1:配置Linux的service服务

1. 修改/etc/oratab

1[root@oracle ~]#vim /etc/oratab
2orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y     #将N改为Y

文件/etc/oratab由root.sh脚本创建,在用DBCA创建实例时也会更新这个文件。当$ORACLE_SID:$ORACLE_HOME:<N|Y>设置为Y时,允许实例自启动,当设置为N时,则不允许自启动。这个文件里的配置仅仅起一个开关的作用,其并不会具体的执行启动和关闭,具体的操作由$ORACLE_HOME/bin/dbstart和dbshut脚本来实现。这2个脚本在执行时会检查/etc/oratab文件里的配置,为Y时才能继续执行。


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

1[root@oracle ~]#vim $ORACLE_HOME/bin/dbstart
2[root@oracle ~]#vim $ORACLE_HOME/bin/dbshut
3ORACLE_HOME_listener=$ORACLE_HOME ($1改为$ORACLE_HOME)

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


3. 建立启动脚本

使用root用户创建脚本:

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

 1#!/bin/bash 
 2# chkconfig: 2345 99 10 
 3# description: Startup Script for oracle Databases 
 4# /etc/rc.d/init.d/oracle
 5
 6export ORACLE_BASE=/u01/app/oracle/
 7export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
 8export PATH=$PATH:$ORACLE_HOME/bin
 9export ORACLE_UNQNAME=PROD1
10
11echo " " >> /var/log/oraclelog
12echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
13
14case "$1" in
15start)
16echo "-----startup oracle-----" >> /var/log/oraclelog
17su oracle -c "$ORACLE_HOME/bin/dbstart"
18su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
19touch /var/lock/subsys/oracle
20echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
21echo "-----startup oracle successful-----" >> /var/log/oraclelog
22echo "OK" 
23;;
24
25stop)
26echo "-----shutdown oracle-----" >> /var/log/oraclelog
27su oracle -c "$ORACLE_HOME/bin/dbshut"
28su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
29rm -f /var/lock/subsys/oracle
30echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelogg
31echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
32echo "OK" 
33;;
34
35restart)
36echo "-----shutdown oracle-----" >> /var/log/oraclelog
37su oracle -c "$ORACLE_HOME/bin/dbshut"
38su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
39rm -f /var/lock/subsys/oracle
40echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
41echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
42
43echo "-----startup oracle-----" >> /var/log/oraclelog
44su oracle -c "$ORACLE_HOME/bin/dbstart"
45su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
46touch /var/lock/subsys/oracle
47echo `date +'%Y-%m-%d %H:%M:%S'` >> /var/log/oraclelog
48echo "-----startup oracle successful-----" >> /var/log/oraclelog
49echo "OK" 
50;;
51
52*)
53echo "Usage: 'basename $0' start|stop|restart" 
54exit 1
55esac
56exit 0
57


4. 给脚本设置权限

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


5. 建立服务

1[root@oracle ~]# chkconfig --add oracle
2[root@oracle ~]# chkconfig oracle on
3[root@oracle ~]# chkconfig --list oracle
4oracle          0:off   1:off   2:on    3:on    4:on    5:on    6:off


6. 检查是否生效

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

1[root@edsir4p1 ~]# service oracle stop
2[root@edsir4p1 ~]# service oracle start
3[root@edsir4p1 ~]# service oracle restart


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

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

在配置了/etc/oratab和修改了dbstart、dbshut文件后,然后将以下脚本添加到/etc/rc.d/rc.local或/etc/rc.local文件中(/etc/rc.local是/etc/rc.d/rc.local的软连接文件):

1export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
2su oracle -c $ORACLE_HOME/bin/dbstart
3export ORACLE_UNQNAME=PROD1
4su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
5

若环境中没有创建EM,则可以不用添加ORACLE_UNQNAME,和emctl这2行,最后就可以重启OS做测试工作了。


需要注意的是,在CentOS7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限:

1chmod +x /etc/rc.d/rc.local

对于这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中,即可实现开机启动。


相关推荐

RHEL8和CentOS8怎么重启网络

本文主要讲解如何重启RHEL8或者CentOS8网络以及如何解决RHEL8和CentOS8系统的网络管理服务报错,当我们安装好RHEL8或者CentOS8,重启启动网络时,会出现以下报错:...

Linux 内、外网双网卡路由配置

1.路由信息的影响Linux系统中如果有多张网卡的情况下,如果路由信息配置不正确,...

Linux——centos7修改网卡名

修改网卡名这个操作可能平时用不太上,可作为了解。修改网卡默认名从ens33改成eth01.首先修改网卡配置文件名(建议将原配置文件进行备份)...

CentOS7下修改网卡名称为ethX的操作方法

?Linux操作系统的网卡设备的传统命名方式是eth0、eth1、eth2等,而CentOS7提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名全自动的、可预知的...

Linux 网卡名称enss33修改为eth0

一、CentOS修改/etc/sysconfig/grub文件(修改前先备份)为GRUB_CMDLINE_LINUX变量增加2个参数(net.ifnames=0biosdevname=0),修改完成...

CentOS下双网卡绑定,实现带宽飞速

方式一1.新建/etc/sysconfig/network-scripts/ifcfg-bond0文件DEVICE=bond0IPADDR=191.3.60.1NETMASK=255.255.2...

linux 双网卡双网段设置路由转发

背景网络情况linux双网卡:网卡A(ens3)和网卡B(...

Linux-VMware设置网卡保持激活

Linux系统只有在激活网卡的状态下才能去连接网络,进行网络通讯。修改配置文件(永久激活网卡)...

VMware虚拟机三种网络模式

01.VMware虚拟机三种网络模式由于linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有v...

Rocky Linux 9/CentOS Stream 9修改网卡配置/自动修改主机名(实操)

推荐...

2023年最新版 linux克隆虚拟机 解决网卡uuid重复问题

问题描述1、克隆了虚拟机,两台虚拟机里面的ip以及网卡的uuid都是一样的2、ip好改,但是uuid如何改呢?解决问题1、每台主机应该保证网卡的UUID是唯一的,避免后面网络通信有问题...

Linux网卡的Vlan配置,你可能不了解的玩法

如果服务器上连的交换机端口已经预先设置了TRUNK,并允许特定的VLAN可以通过,那么服务器的网卡在配置时就必须指定所属的VLAN,否则就不通了,这种情形在虚拟化部署时较常见。例如在一个办公环境中,办...

Centos7 网卡绑定

1、切换到指定目录#备份网卡数据cd/etc/sysconfig/network-scriptscpifcfg-enp5s0f0ifcfg-enp5s0f0.bak...

Linux搭建nginx+keepalived 高可用(主备+双主模式)

一:keepalived简介反向代理及负载均衡参考:...

Linux下Route 路由指令使用详解

linuxroute命令用于显示和操作IP路由表。要实现两个不同子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该...

取消回复欢迎 发表评论: