1.设置 DISPATCHERS 参数:
alter system set DISPATCHERS='(PROTOCOL=TCP)(SERVICE=fang)(DISPATCHERS=2)' scope=memory;
shared_servers=3--初始共享服务器进程数,设置为0表示关闭共享服务器模式
max_shared_servers=39--最大共享服务器进程数
max_dispatchers=19--最大调度进程的数
先用 create pfile from spfile 创建 pfile,修改好之后,再用 create spfile from pfile 创建 spfile。
2.设置客户端 tnsnames.ora 文件:
(SERVICE_NAME = mysid )
(SERVER = SHARED) 默认以共享服务器登录,没有这句话默认专以有服务器登录
)
)
当以共享服务器模式登录时,如果没有共享服务模式的服务名则会报错
如下:
SERVICE_NAME = mysidXDB才对,
SERVICE_NAME = mydb 报错,mydb,mydb_XPT是专有服务模式的服务名
3:
C:\Windows\System32>lsnrctl service
服务 "mydb" 包含 1 个例程。
例程 "mysid", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:1 已拒绝:0 状态:ready
LOCAL SERVER
服务 "mydb_XPT" 包含 1 个例程。
例程 "mysid", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:1 已拒绝:0 状态:ready
LOCAL SERVER
服务 "mysidXDB" 包含 1 个例程。
例程 "mysid", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"D000" 已建立:3 已被拒绝:0 当前: 0 最大: 1022 状态: ready
DISPATCHER <machine: FQ-PC, pid: 1868>
(ADDRESS=(PROTOCOL=tcp)(HOST=fq-PC)(PORT=49550))
这个服务和其他服务一样可以再tnsname.ora中使用,
也可以直接sqlplus name/password@127.0.0.1:1521/mysidXDB
4:查看连接方式
SQL> select server from v$session where sid=(select userenv('sid') from dual);
SERVER
---------
SHARED