【前言】
《用户:单台服务器部署多MySQL实例,咋弄?》
上述一文中有讲述MySQL如何设置开机自启动,这里简要回顾下步骤:
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 MySQLdon
至此,MySQL开机自启动设置成功。
一个问题:
那Oracle的开机自启动又如何做?
答案是:
dbstart,dbstart为开机自启动脚本,让系统开机就去执行dbstart脚本文件,它会去读oratab文件,读到Y就会把对应的实例开机自启动。
配置步骤:
安装好Oracle的Linux系统(Red HatEnterprise 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]$ dbstartORACLE_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 没有设置
或
ORACLE_HOME_LISTNER=/oracle/app/oracle/product/12.2.1/dbhome_1/
注意:$ORACLE_HOME环境设置正确
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”。
修改完成后,保存退出
#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.以上两点为自家感悟,如有不对,欢迎指正。
4. 再说点自己最近一个感悟,正巧看到一句,可表当下心态:
既往不恋,当下不杂,未来不迎(曾国藩)
另看到作家马德的一句,深表赞同:
“这个世界,看似周遭复杂,各色人等,泥沙俱下,本质上,还是你一个人的世界。你若澄澈,世界就干净,你若简单,世界就难以复杂。”