oracle.exe oracle数据库引擎 oracle实例__之间的关系

来源:互联网 发布:g502驱动mac 编辑:程序博客网 时间:2024/06/12 19:27
  对像我们一样的一般的程序员来说, 只需关注oracle的数据库引擎中最重要的的3个引擎,
分别是: SQL脚本引擎, PL/SQL脚本引擎,  和JVM
(根据我目前的理解,引擎是与脚本语言对应的概念. 但在此, 不妨暂时把JVM理解成一种引擎)

   这三个引擎用于解析并执行由用户进程发到oracle服务器上的程序(单独的SQL程序, PL/SQL程序, JAVA程序,或者它们的混合体!)
这三个引擎并不是彼此独立的, 而是可以相互配合的,在需要的时候!

   数据库引擎将访问并操作与用户连接的oracle实例, 最终把用户进程的请求彻底解析,产生一个结果.
然后此结果将通过oracle net组件, 反馈给用户.

用户收到正确结果! 用户很高兴! 结果很完美!

[问题] when和where的问题, 搞得我现在还很不高兴!
问题1, when:   oracle数据库引擎在什么时候被载入内存? 可以自己控制吗? 不想让它不明不白地就被载入内存了...
问题2, where:  oracle数据库引擎在哪?  oracle引擎肯定在内存中,而且肯定一个进程或是多个线程,  那么究竟在哪???

  关于这个问题, 通过目前查阅的材料, 我只能暂时做以下结论(只是我自己的理解, 尚有待核实, 目前材料还不够, so, 仅供参考! ^_^) :
可以肯定的是: 在WINDOWS的服务管理器中启动 oracleService***后, 通过查看任务管理器, 可发现多了一个进程oracle.exe. 而且只多了一个进程!!!   大家一般的理解是: 这个操作的目的只是为了启动服务器端的oracle实例(也可以称为oracle例程), 只是! 只是! 只是! 只是! 只是!
...
...
只是!?? 那么现在想一下, oracle数据库引擎在哪???
...
...

很想知道这个问题的答案. 但现在只能推测他就在oracle.exe中, 以子线程的形式存在于oracle.exe进程中!!
我现在的结论就是: oracle.exe由两个重要部分组成: oracle实例_和_oracle数据库引擎.

不知这种想法是否正确, 望高人指点迷津, 将不胜感激!
---------------------------------------------------------------------------------------------------------------------------------------------------
communicate freely...
share our minds friendly...
enjoy it quitely... 
原创粉丝点击