几个月前,我在我的Ubuntu系统上安装了Oracle,并且工作得很好。 我有它设置启动系统启动,我运行以下命令停止/启动服务
sudo service oracledb start sudo service oracledb stop
哪个也有效。 但是,由于系统启动非常慢,我决定从启动中删除oracle,而不是像以前那样经常使用它。 我希望在需要的时候启动和停止oracle。 所以,要从启动中删除它,我编辑了我的/etc/oratab文件
orcl:/u01/app/oracle/product/11.2.0/dbhome_3:Y
我把最后的Y改成了N (在网上阅读了一下之后)。 现在oracle不会在启动时启动,但启动命令也不起作用。 如果我将上面的内容更改为Y ,上面的启动/停止命令立即可用,但是oracle也将在启动时启动,这正是我正在尝试更改的内容。
我无法用google-fu来解决这个问题。 还有什么我应该做的,以closures启动时从启动oracle?
Oracle每次运行/etc/oratab文件时,都会在启动时以及运行时使用/etc/oratab文件。 因此,如果您禁用Oracle,则无论您使用哪种方法来运行它,都将被禁用。 所以把Y留在这个文件里。
要防止服务在启动后自动启动,只需将其从/etc/rcX.d/中移除,其中X是从0到7(运行级别)的数字。
您可以手动删除启动链接(以S开头的链接为strat,K为停止),或者使用update-rc.d -f oracledb remove; update-rc.d oracledb stop 20 016 . update-rc.d -f oracledb remove; update-rc.d oracledb stop 20 016 . (最后一个点)删除Oracle启动/停止,然后添加停止链接(否则closures计算机时Oracle不会停止)。
您可以在需要时手动启动数据库:
$ su - <your oracle user> ora$ lsnrctl start ora$ dbstart
如果您没有dbstart ,请使用sqlplus :
ora$ sqlplus / as sysdba ... SQL> startup
要closures, dbstop或与sqlplus问题shutdown [normal|immediate]取决于你想要什么。 (要停止侦听器, lsnrctl stop 。)
另一个选项很可能使oracledb服务不能自动启动,并将oratab行重置为Y 如何将服务设置为手动模式取决于它是哪种types的服务(传统或新兴)。 AskUbuntu上的这个答案有很多关于如何更改服务启动模式的细节。