原文链接:TDPUB数加社区
配置多个service,监控每个连接服务的负载
1.查询当前服务名
select * from v$servicesSYS$BACKGROUNDSYS$USERSPROD_PRIMARY PROD_PRIMARYDUPDB_CFG DUPDB_CFGSQL> show parameter service_namesNAME TYPE VALUE------------------------------------ ----------- ------------------------------service_names string PROD_PRIMARYselect * from v$parameter p where p.name='service_names'
2.添加一个服务
alter system set service_names='PROD_PRIMARY','PROD_PRIMARY_01'
添加服务后会自动创建动态监听
Service "PROD_PRIMARY_01" has 1 instance(s).Instance "DUPDB", status READY, has 1 handler(s) for this service..
如果要配置静态监听
xxxx =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = MyHost)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))SID_LIST_xxxx =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = PROD_PRIMARY_01)(ORACLE_HOME =/u01)(SID_NAME =DUPDB)(ENVS="TNS_ADMIN=/u01/network/admin")))
3.修改tnsnames--可以用一个端口,不会报错
PRIMARY_01 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(Host = MyHost)(Port = 1521)))(CONNECT_DATA =(SERVICE_NAME = PROD_PRIMARY_01)))
4.确认连接
[oracle@MyHost ~]$ sqlplus sys/manager@PRIMARY_01 as sysdba
5.查询会话以及服务信息
select * from v$session s where s.service_name='PROD_PRIMARY_01';select * from v$services s where s.name='PROD_PRIMARY_01'select * from v$services
6.开关跟踪
begindbms_monitor.serv_mod_act_stat_disable(service_name => 'PROD_PRIMARY_01',module_name => 'test02');end;begindbms_monitor.serv_mod_act_stat_enable(service_name => 'PROD_PRIMARY_01',module_name => 'test02');end;
7.设置当前会话标识
execute dbms_application_info.set_action('test_insert1');--单独设置动作
8.执行一些sql,在7的会话sqlplus中执行
select sum(-1*object_id) from dba_objects;
9.查询服务统计信息
select * from v$serv_mod_act_stats s where s.service_name not in ('SYS$BACKGROUND','SYS$USERS');--在匿名块里面都是0,必须在sqlplus中执行SELECT * from v$service_stats s--有值,不需要设置7select * from v$service_event s--有值,不需要设置
学习更多内容,可点击下方链接
更多内容可添加下方老师获取

文章转载自云贝教育,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





