几个月前,我在 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 解决这个问题。我是否应该采取其他措施来关闭 oracle 在启动时启动的功能?
答案1
/etc/oratab
Oracle 每次运行时、启动时以及您要求其运行时都会使用该文件。因此,如果您禁用 Oracle,则无论您使用何种方法运行它,它都会被禁用。因此请保留Y
此文件。
要防止服务在启动后自动启动,只需将其从 X 中删除,/etc/rcX.d/
其中 X 是 0 到 7 之间的数字(运行级别)。
您可以手动删除启动链接(以 S 开头的链接表示 strat,以 K 开头的链接表示停止),或使用update-rc.d -f oracledb remove; update-rc.d oracledb stop 20 016 .
(带最后一个点)删除 Oracle 启动/停止,然后只需添加停止链接(否则关闭计算机时 Oracle 不会停止)。
答案2
您可以在需要时手动启动数据库:
$ su - <your oracle user>
ora$ lsnrctl start
ora$ dbstart
如果你没有dbstart
,请使用sqlplus
:
ora$ sqlplus / as sysdba
...
SQL> startup
关机,dbstop
或根据需要发出sqlplus
问题。(要停止监听器, 。)shutdown [normal|immediate]
lsnrctl stop
另一个选项很可能是让oracledb
服务不自动启动,并将行重置oratab
为Y
。如何将服务设置为手动模式取决于服务的类型(传统或新贵)。AskUbuntu 上的这个答案有大量关于如何更改服务启动模式的详细信息。