1.前言
确保我们能够访问oracle数据库包含两部分,一个是oracle实例,一个是监听,两个同时开启,我们才能正常的使用数据库,因此我们在关闭和启动oracle服务时,也需要同时操作实例和监听。能够操作linux的工具有很多,如:xshell,vncviewer等,本次使用shell工具。
2.关闭oracle服务
第一步:若不是以oracle用户进行登录的,则需要切换用户,命令为:su - oracle,如下图我是以root用户进行登录的,在需要操作数据库时则需要切换到oracle用户
第二步:查看oracle实例和监听的状态,命令:ps -ef|grep oracle,红色框内表示监听,ora_xx_orcl则表示一些实例,出现以下内容则表示实例和监听均启动;
第三步:关闭监听,命令:lsnrctl stop,至于关闭监听和关闭实例的顺序,推荐首先关闭监听,
第四步:关闭实例,命令如下,此时若sql命令输入错误可采用Ctrl+Backspace进行删除;
第五步:再次检查oracle服务和监听的状态,如下图,此时并没有实例和监听在运行,至此,oracle服务关闭完成。
3.启动oracle服务
前面已经说过如何检查oracle服务是否启动或关闭,在oracle服务已启动的情况下再去执行启动命令一般会有相应的提示,接下来直接在oracle服务关闭的情况下进行启动
第一步:首先启动oracle实例,命令如下图sqlplus / as sysdba startup:
第二步:启动完实例后,再去启动监听,命令为:lsnrctl start;
第三步:查看监听器是否监听到实例,命令:lsnrctl status;
如图则表示该监听已经监听到一个实例。
4.注意
①在关闭oracle服务时,先关闭监听再关闭实例,因为当关闭监听后,客户端是无法再访问数据库,但是关闭了实例未关闭监听,此时客户端还是可访问到服务,可能会导致一系列问题,至于是啥问题,嗯,我也说不清楚;
②在启动oracle服务时,先启动实例再去启动监听,原因同上,避免出现客户端访问过来时,实例已经关闭;