LINUX环境:MySQL和Oracle开机自启动

  1. MySQL配置自启动
    #将MySQL的启动服务添加到系统服务中,设置开机自启动:(chkconfig 命令redhat系统的)

创建软连接:

[root@ethan-testdb ~]# ln -s /MySQLsoft/MySQL /usr/local/MySQL
 
[root@ethan-testdb ~]# pwd
/usr/local/MySQL/support-files
[root@ethan-testdb ~]# cp MySQL.server /etc/init.d/MySQLd
 
[root@ethan-testdb ~]# /etc/init.d/MySQLd
startStarting MySQL.. SUCCESS!

赋予执行权限:

[root@ethan-testdb ~]# chmod +x /etc/init.d/MySQLd
添加服务:
[root@ethan-testdb ~]# chkconfig --add MySQLd
显示服务列表:
[root@ethan-testdb ~]# chkconfig --list
如果看到MySQL的服务,并且3,4,5都是on的话则成功,如果是off,则使用如下命令:
[root@ethan-testdb ~]# chkconfig --level 345 MySQLd on

至此,MySQL开机自启动设置成功。

一个问题:
那Oracle的开机自启动又如何做?

答案是:
dbstart,dbstart为开机自启动脚本,让系统开机就去执行dbstart脚本文件,它会去读oratab文件,读到Y就会把对应的实例开机自启动。

配置步骤:

安装好Oracle的Linux系统(Red Hat Enterprise Linux 7.2,Oracle 12c)
1、查看ORACLE_HOME是否设置

$ echo $ORACLE_HOME/u01/app/oracle/product/12.2.0/dbhome_1

在linux上安装好oracle之后,第一次使用dbstart命令可能会报如下错误:

[oracle@ethandb home_1]$ cd bin/[oracle@ethan bin]$ ll | grep dbs
-rwxr-x---. 1 oracle oinstall 6088 1月 1 2000 dbshut
-rwxr-x---. 1 oracle oinstall 13892 12月 11 16:01 dbstart

首次执行时,报错如下:

[oracle@ethan bin]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener Usage: /oracle/app/oracle/product/12.2.1/dbhome_1/

错误提示:ORACLE_HOME_LISTNER 没有设置

原因:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:用vi编辑dbstart,ORACLE_HOME_LISTNER= 1 , 修 改 为 O R A C L E H O M E L I S T N E R = 1,修改为ORACLE_HOME_LISTNER= 1,ORACLEHOMELISTNER=ORACLE_HOME

ORACLE_HOME_LISTNER=/oracle/app/oracle/product/12.2.1/dbhome_1/
注意:$ORACLE_HOME环境设置正确

2、编辑文件/etc/oratab
dbca建库时都会自动创建/etc/oratab文件

[oracle@ethan bin]# vi /etc/oratab

# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME:<N|Y>:

将“ethanDB:/oracle/app/oracle/product/12.2.1/dbhome_1/:N”,
改为“ethanDB:/oracle/app/oracle/product/12.2.1/dbhome_1/:Y”。
修改完成后,保存退出

3、编辑/etc/rc.d/rc.local启动文件,添加数据库启动脚本dbstart

#vi /etc/rc.d/rc.local    ---末尾添加:
su - oracle -lc “/oracle/app/oracle/product/12.2.1/dbhome_1/bin/lsnrctl start”
su - oracle -lc /oracle/app/oracle/product/12.2.1/dbhome_1/bin/dbstart

如果服务器中有多个实例,监听启动时需指定实例

su - oracle -lc “/oracle/app/oracle/product/12.2.1/dbhome_1/bin/lsnrctl start ethanDB”
su - oracle -lc “/oracle/app/oracle/product/12.2.1/dbhome_1/bin/lsnrctl start dannielDB”
su - oracle -lc /oracle/app/oracle/product/12.2.1/dbhome_1/bin/dbstart

注意:命令中-c代表执行脚本,脚本lsnrctl中启动配置的监听,监听写多个启动;实例用一个dbstart命令去启动,它会去读oratab文件,读到Y就会把对应的实例开机自启动

4、重启主机,查看数据库和监听是自启动

简要复习下相关命令:

linux下设置实例自启动脚本:
oratab:实例是否自启动的注册信息
dbstart:开机启动脚本文件会读取oratab信息
rc.local:开机后立即要做的文件
--“启动监听” lsnrctl start
--“启动数据库实例” dbstart
--“关闭数据库实例”dbshut
--“关闭监听”lsnrctl stop

【结语】

  1. 本文详细介绍了Mysql,Oracle开机自启动的实操步骤,具有强借鉴性;
  2. 通常我们不会设置开机自启动,原因为:库在正常情况下,是方便了常规启停管理;但我们在部署生产数据库架构时,高可用性是必配项,如果某台库有异常,这时会进行人工排查,自启动服务有时会干扰DBA的操作和判断。故生产环境下,不建议配置开机自启动;且服务器的启停发生频度低,一般会严格走变更流程,还是踏踏实实的按照库正常操作的变更操作走方妥。
  3. 以上两点为自家感悟,如有不对,欢迎指正。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值