第一步:查看下oracle的安装目录(或者说oracle环境变量),查看环境变量命令是echo
- 在xshell中使用oracle用户连接到centos。
- 执行echo $ORACLE_HOME命令。
通过上面截图可以看到,我的oracle安装到“/opt/oracle/app/product/11.2.0/dbhome_1”目录下了。
第二步:设置oracle开机启动
- 在xshell中使用oracle用户连接到centos。
- 执行vi /etc/oratab命令,结果如下:
- 将文件中的“/opt/oracle/app/product/11.2.0/dbhome_1:N”的N改为Y。改后效果:
orcl:/opt/oracle/app/product/11.2.0/dbhome_1:Y
- 通过vi命令保存并退出。
- 在xshell中使用root用户连接到centos。
- 执行vi/etc/rc.d/rc.local命令并在文件底部加入下面内容:
su oracle -lc "/opt/oracle/app/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc /opt/oracle/app/product/11.2.0/dbhome_1/bin/dbstart
效果图如下:
- 通过vi命令保存并退出。
- 重启centos,查看系统是否正常启动,oracle是否自动启动。
关于上述操作说明:
su 表示切换用户,-l表示同时切换用户目录,-c表示命令执行完毕后再返回原用户。
/opt/oracle/app/product/11.2.0/dbhome_1是我的$ORACLE_HOME位置,请根据实际情况进行修改。
第一行在lsnrctl和start之间有个空格,所以必须加双引号,第二行加不加双引号都可以.
/etc/rc.d/rc.local这个配置文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次。也就是说,如果有任何需要在系统启动时运行的工作,则只需写入 /etc/rc.d/rc.local 配置文件即可。
如果在CentOS7中遇到设置了rc.local文件但是没有生效的情况,有可能是因为该文件没有可执行权限,运行chmod +x/etc/rc.d/rc.local加可执行权限,就能解决这个问题。