我是一个初学者。在sqlplus中用shutdown immediate关闭Oracle数据库实例,提示实例已经关闭。可我在XP的任务管理器的进程列表中发现还是有个oracle进程,占用60多M的内存。只有在服务中关闭相应的OracleServiceORCL服务,这个进程才结束。我想问一下,这个OracleServiceORCL进程是干什么用的,他和ORCL数据库实例之间有什么关系吗?多谢

解决方案 »

  1.   

    这个服务是不能停掉的,否则你的如何在命令行上启动数据库实例呢?
    服务或者oracle进程不等于oracle实例,尽管他们有对应关系。
      

  2.   

    shutdown仅仅是关闭数据库,和进程没有关系如果shutdown后oracle进程都不见了那要startup有啥用
      

  3.   

    shutdown关闭的是数据库,
    剩下的那个是实例
      

  4.   

    SQL> conn / as sysdba
    已连接。
    SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> conn / as sysdba
    已连接到空闲例程。==================================这个就是剩下的那个了
    SQL> startup
    ORACLE 例程已经启动。Total System Global Area  535662592 bytes
    Fixed Size                  1334380 bytes
    Variable Size             205521812 bytes
    Database Buffers          322961408 bytes
    Redo Buffers                5844992 bytes
    数据库装载完毕。
    数据库已经打开。
      

  5.   

    windows平台下,oracle 中组成实例的后台进程是由 oracle 服务派生出来的线程实现的,所以任务管理器看不见 DBWn 之类的后台进程 (linux 平台下 用 ps aux 命令是可以看见的)。shutdown 停掉实例过程,是关闭后台进程(这里对应线程)和释放 SGA 内存。因为关闭的是线程,所以在任务管理器中看不出变化。oracle 进程是用来派生后台线程的服务进程,尽管他还在,实际上 oracle 实例已经停止了。停掉 oracle 服务,才能停掉 oracle 进程。