配置Oracle数据库和监听随Linux系统自启动【转】
当然,如果有可能,一定不要使用这种自动化的方法,因为有太多不确定的因素存在。正途还是一边手工启动数据库,一边监控alert日志,以便第一时间发现问题解决问题。
Anyway,随Linux系统启动数据库还是有其存在价值的,下面通过这个小文儿给大家展示一下这个自动化过程。
1.确保“/etc/oratab”文件内容的正确性
有则修改,无则创建“/etc/oratab”文件。该文件的功能是控制Oracle的启动(dbstart)和关闭脚本(dbshut)是否可用。
# vi /etc/oratab
ecis:/oracle/app/oracle/product/10.2.0/db_1:Y
只有当尾部标识是“Y”时,dbstart和dbshut脚本才可以使用。
dbstart和dbshut脚本存放位置是在ORACLE_HOME的bin目录下,可以使用下面的命令查看脚本的内容。
$ cat $ORACLE_HOME/bin/dbstart
$ cat $ORACLE_HOME/bin/dbshut
2.修改oratab的访问权限
# chmod 755 /etc/oratab
# chown oracle:root /etc/oratab
3.编写自动启停脚本,脚本名叫“oracle”,该文件需要保存在/etc/rc.d/init.d目录中。
vi /etc/rc.d/init.d/oracle
#!/bin/bash
##############################################################
# Script. Function: Auto start oracle instance and listener. #
# Script. Name: oracle #
# Author: #
# Date: 2015-11-13 #
##############################################################
case "$1" in
start)
echo "Starting Oracle Database..."
su - oracle -c "dbstart"
echo "Done."
echo "Starting Oracle Listener..."
su - oracle -c "lsnrctl start"
echo "Done."
touch /var/lock/subsys/oracle
;;
stop)
echo "Shutting down Oracle Listener..."
su - oracle -c "lsnrctl stop" >> /var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
echo "Shutting down Oracle Database..."
su - oracle -c "dbshut"
echo "Done."
echo ""
;;
restart)
$0 stop
$0 start
;;
*)
exit 1
esac
4.脚本中需要说明的两个细节
1)/var/lock/subsys/oracle这个文件是用来标识oracle实例已经运行。实现类似简单的锁定功能;
2)为实现在root用户里向oracle用户发送启动和关闭数据库命令,需要使用“su”命令的“-c”选项,更多细节请使用man命令进行查询。
5.修改oracle脚本的权限
# chmod 755 oracle
6.为保证该脚本可以在Linux系统启动过程中自动调用,因此需要建立如下连接文件。
特别需要注意的一个细节:确定该脚本在网卡启动之后再执行,否则监听可能无法正常启动(假如Listener配置文件中使用的是IP地址)。
# ln -s ../init.d/oracle /etc/rc.d/rc2.d/S87oracle
# ln -s ../init.d/oracle /etc/rc.d/rc3.d/S87oracle
# ln -s ../init.d/oracle /etc/rc.d/rc5.d/S87oracle
7.到此,重新启动Linux系统后,Oracle的实例和监听就会自动启动。
8.按照这样配置,您还可以使用如下简易方法停、启及重启数据库
停止:
# service oracle stop
启动:
# service oracle start
重启:
# service oracle restart
9.小结
本人推崇自动化,但这里介绍的自动化启动和关闭数据库的方法还请朋友们慎用。
深入到数据库的启动和关闭的细节才是正道。
Good luck.
-- The End --
配置Oracle数据库和监听随Linux系统自启动【转】的更多相关文章
- oracle数据库没有监听服务与实例服务(OracleServicesXX)的解决方法
不知道为什么,可能是因为更新系统的原因,过了一段时间,想打开oracle服务,发现居然没有任何oracle有关的服务了,但以前的数据库文件什么的都在,心想肯定是可以复原的,应该只是注册表的问题罢了.在 ...
- oracle数据库无监听程序
在电脑---服务---启动oracle tns 如果还是出现错误的话,找到Net Manager,将网络的ip监听删除,将本机的主机名配好,即可打开tns服务
- [转]通过Net Manager 配置Oracle 11g本地监听服务(listener service)
本文转自:http://blog.csdn.net/mozart_cai/article/details/8596504 [Target] 通过ip address 监听orcl服务,而不是通过loc ...
- oracle数据库静态监听配置示例
[oracle@Oracle11g admin]$ cat listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOB ...
- Linux下启动Oracle服务和监听程序步骤
Linux下启动Oracle服务和监听程序启动和关闭步骤整理如下: 1.安装oracle: 2.创建oracle系统用户: 3./home/oracle下面的.bash_profile添加几个环境变量 ...
- linux下oracle数据库服务和监听的启动停止
oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...
- Linux下安装oracle遇到启动监听服务器启动失败
1.发现监听服务器没有启动,则 lsntctl start 启动监听服务器: 2.发现TNS-12555问题: 3.查找TNS-12555错误,找到一个满意的答案: chmod 777 /var/ ...
- 如何让oracle DB、监听和oem开机启动(dbstart)
如何让oracle DB.监听和oem开机启动(dbstart) 让oracle DB.监听和oem开机启动(dbstart) Oracle提供了伴随操作系统自动重启的功能,在Windows中,可以修 ...
- TNS-12541,TNS-12560,TNS-00511,TNS-12542,TNS-12560,TNS-00512数据库启动监听报错
第 1章 数据库server监听错误 1.1.1数据库监听错误 1.1.1.1 问题及现象 server环境为ORACLE11G RAC环境,系统启动后,监听没起来. [oracle@RAC4 ~ ...
随机推荐
- 你知道Python基本数据类型是哪6个么
Python 是强类型语言,在学习 Python 时,有必要了解 Python 有哪些基本数据类型,一共 6 个:Number(数字).String(字符串).List(列表).Tuple(元组).S ...
- cglib、orika、spring等bean copy工具性能测试和原理分析
简介 在实际项目中,考虑到不同的数据使用者,我们经常要处理 VO.DTO.Entity.DO 等对象的转换,如果手动编写 setter/getter 方法一个个赋值,将非常繁琐且难维护.通常情况下,这 ...
- aspnetcore webapi 解决发布以后每隔一段时间请求变缓慢
项目:netcore webapi 3.1 平台:windows server 2008 r2 服务器:IIS 7.5 项目发布到IIS以后第一次请求特别慢大概7.8秒,然后每隔5分钟请求一次大概2. ...
- 【题解】Generator(UVA1358)
感觉我字符串和期望都不好-- 题目链接 题意 有 \(n\) 种字符,给定一个模式串 \(S\) ,一开始字符串为空,现在每次随机生成一个 1~n 的字符添加到字符串末尾,直到出现 \(S\) 停止, ...
- BJOI2017 机动训练
落谷.Loj. Description 定义机动路径为: 没有自环 路径至少包含两个格子 从起点开始每一步都向不远离终点的方向移动 相同地形序列指路径上顺序经过的地形序列. 定义机动路径的权值为相同地 ...
- AGC043 B题题解
有的时候,碰到一道题,要给自己先设立部分分,再去想如何把部分分推广到一般情况.这题就是绝佳的例子. 不妨将\(a_i\)用\(a_i - 1\)替代,这样就变成了\(a_i \in \{ 0, 1, ...
- 题解-CF1282E The Cake Is a Lie
题面 CF1282E The Cake Is a Lie \(T\) 组测试数据.每次给一个 \(n\) 边形的三角剖分,求节点顺序和剖分顺序. 数据范围:\(3\le n\le 10^5\),\(\ ...
- MBR分区表为什么最大只能识别2TB硬盘容量
1. 前言 最近公司的服务器硬盘坏了,需要换一个新的硬盘,容量是2TB,用的fdisk进行分区,期间搜索分区工具,看到了关于MBR(Master Boot Record)与GPT(GUID parti ...
- Hexo使用思维导图插件
进入Hexo博客的根目录,执行下面命令安装插件 npm install hexo-simple-mindmap 添加思维导图格式,按层级顺序 {% pullquote mindmap mindmap- ...
- Kubernetes【K8S】(二):搭建Kubernetes环境
系统初始化 设置系统时区 # 设置系统时区为 亚洲/上海 [root@k8s-master01 ~]# timedatectl set-timezone Asia/Shanghai # 设置当前得UT ...