在shared server模式中,由D000和S000进程来进行处理用户的请求;但是在dedicated server模式中,为什么也会存在D000和S000进程呢?在dedicated server模式中,应该直接是由server process 来进行处理的,懂的解释下,谢谢?

解决方案 »

  1.   

    那是因为你在初始化参数中配置了共享模式的相关参数,如dispatchers,在实例启动时就会有相应的d000,s000.
    看你客户端的tnsname.ora里是配的是什么的连接方式了,如果配的连接方式是dedicated肯定是用服务器进程来处理,如果配的是shared肯定是用d000和s000等来处理.
      

  2.   

    这个还真没深入研究过,不过ORACLE已经不推荐使用共享模式了。最好都使用dedicated....
      

  3.   

    [oracle@kel dbs]$ strings spfilededicated.ora 
    dedicated.__db_cache_size=88080384
    dedicated.__java_pool_size=4194304
    dedicated.__large_pool_size=4194304
    dedicated.__shared_pool_size=75497472
    dedicated.__streams_pool_size=0
    *.audit_file_dest='/home/oracle/admin/dedicated/adump'
    *.background_dump_dest='/home/oracle/admin/dedicated/bdump'
    *.compatible='10.2.0.1.0'
    *.control_files='/home/oracle/oradata/dedicated/control01.ctl','/home/oracle/oradata/dedicated/control02.ctl','/home/oracle/oradata/dedicated/control03.ctl'
    *.core_dump_dest='/home/oracle/admin/dedicated/cdump'
    *.db_block_size=8192
    *.db_domain=''
    *.db_file_multiblock_read_count=16
    *.db_name='dedicate'
    *.db_recovery_file_dest='/home/oracle/flash_recovery_area'
    *.db_recovery_file_dest_size=2147483648
    *.db_unique_name='dedicated'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=dedicatedXDB)'
    *.job_queue_processes=10
    *.open_cursors=300
    *.pga_aggregate_target=57671680
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.sga_target=174063616
    *.undo_management='AUTO'
    *.undo_tablespace='UNDOTBS1'
    *.user_dump_dest='/home/oracle/admin/dedicated/udump'
    看这个上面的内容好像就只有这个
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=dedicatedXDB)'
    是这个配置么?其他的初始化参数没看见。
    而且在用dbca进行创建数据库的时候,我也没有进行D000和S000相关的配置?
    谢谢回复
      

  4.   

    *.dispatchers='(PROTOCOL=TCP) (SERVICE=dedicatedXDB)'
    在创建数据库的时候,这个参数是什么时候进行配置???
    我选择的是dedicated 模式,那么按照道理这个参数应该是不会配置的
    好像在配置数据位dedicate模式下,共享的参数也会打开。
      

  5.   

    更詳細的確實也無法解釋,印象中我們公司有遇到過服務器連接模式的問題,貌似和你反映的一樣,建議從Oracle在線聯機幫助文檔中尋求協助!
      

  6.   

    联机文档也看了点,在process方面和dedicate server 架构方面都看了下,但是没有说道进程这个方面的东西,只是单纯的说了使用dedicated进程和dispatcher进程、share进程。
      

  7.   

    按照我的理解,你如果在初始化参数文件中配置了dispatchers参数,那就说明数据库已经支持共享模式,如果按照默认的:  *.dispatchers='(PROTOCOL=TCP) (SERVICE=dedicatedXDB) 配置,oracle实例在启动时就自动启动一个d000,s000,如果你不想启动d000,s000可以在初始化参数文件中将 dispatchers这行配置去掉(先在静态初始化文件修改,再创建相应的动态初始化参数文件).就不会有d000,s000了. 为何创建的是专有模式的数据库,数据库却自动配置了dispatchers参数我也不太清楚.  PS: 二楼的大拿说得对,目前应该基本上用不上共享模式,这一块没必要再去深究了,了解即可,呵呵.