用select username,server from v$session;查看是共享还是专用模式
SQL> select username,server from v$session;USERNAME                       SERVER
------------------------------ ---------
                               DEDICATED
                               DEDICATED
                               DEDICATED
                               DEDICATED
                               DEDICATED
                               DEDICATED
SYS                            DEDICATED

解决方案 »

  1.   

    或者用
    select * from v$dispatcher;或
    select * from v$shared_server;有记录则表示使用了MTS模式。或者在企业管理器的例程里查看也是可以的
    要修改模式用以下方法:
    主要流程:
    1.修改初始化参数
    2.shutdown oracle
    3.restart oracle参数主要有2个:
    如果你用的是SPFILE,你可以用ALTER SYSTEM命令修改系统的DISPATCHERS和SHARED_SERVERS参数,如果你用的是PFILE,则需要手工修改DISPATCHERS和SHARED_SERVERS参数。
      

  2.   

    查看:
    select server from v$session where audsid=userenv('SESSIONID');
    如果显示为dedicated,则说明为当前用户提供服务的是一个专用服务器进程
    如果当前用户不是DBA用户,则同时也说明数据库正处于专用服务器操作模式下.修改:
    修改参数文件中的SHARED_SERVERS
    或者利用DBCA工具其它相关参数:
    dispatchers--协议,调度程序数,每个调度程序的最大连接数
    max_dispatchers--最大调度程序数
    shared_servers--服务器进程数
    max_shared_servers--最大服务器进程数
      

  3.   

    如把ORACLE设置为MTS或专用模式?
    #dispatchers="(PROTOCOL=TCP) (SERVICE=SIDXDB)" 
    加上就是MTS,注释就是专用模式,SID是指你的实例名。
      

  4.   

    同意LGQDUCKY(飘) 
    这个问题在ORACLE傻瓜1000问里面有啊
      

  5.   

    <
    如把ORACLE设置为MTS或专用模式?
    #dispatchers="(PROTOCOL=TCP) (SERVICE=SIDXDB)" 
    加上就是MTS,注释就是专用模式,SID是指你的实例名。
    >绝对错误的说法,居然还有人同意!
      

  6.   

    测试环境9ISQL> select server from v$session where audsid=USERENV('SESSIONID');SERVER
    ---------
    DEDICATED查询到的当前会话所使用的服务进程类型,查询结果为DEDICATED说明为当前用户提供服务的是一个专用服务进程。如果当前用户不是DBA用户,则同时也说明数据库正处于专用服务器模式。一般我都是使用 dbca 设置服务器操作模式。 
      

  7.   

    <
    如果当前用户不是DBA用户,则同时也说明数据库正处于专用服务器模式。
    >又一个错误的说法!