service 资源管理

[oracle@vmac1 ~]$ srvctl status service -d gtbl

添加service资源
[oracle@vmac1 ~]$ srvctl add service -d gtbl -s rtser1 -r gtbl1 -a gtbl2 -P BASIC -y automatic -e SELECT -z 5 -w 180
[oracle@vmac1 ~]$ srvctl add service -d gtbl -s rtser2 -r gtbl2 -a gtbl1 -P BASIC -y automatic -e SELECT -z 5 -w 180
[oracle@vmac1 ~]$ srvctl status service -d gtbl
Service rtser1 is not running.
Service rtser2 is not running.

启动service资源
[oracle@vmac1 ~]$ srvctl start service -d gtbl -s rtser1
[oracle@vmac1 ~]$ srvctl start service -d gtbl -s rtser2
[oracle@vmac1 ~]$ srvctl status service -d gtbl
Service rtser1 is running on instance(s) gtbl1
Service rtser2 is running on instance(s) gtbl2

查看rtser1 Service资源的配置信息:

[oracle@vmac1 ~]$ srvctl config service -d gtbl -s rtser1 -a
Warning:-a option has been deprecated and will be ignored.
Service name: rtser1
Service is enabled
Server pool: gtbl_rtser1
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: SELECT
Failover method: NONE
TAF failover retries: 5
TAF failover delay: 180
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition:
Preferred instances: gtbl1
Available instances: gtbl2

[oracle@vmac1 ~]$ srvctl config service -d gtbl -s rtser1
Service name: rtser1
Service is enabled
Server pool: gtbl_rtser1
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: SELECT
Failover method: NONE
TAF failover retries: 5
TAF failover delay: 180
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition:
Preferred instances: gtbl1
Available instances: gtbl2

使用包:


begin
  dbms_service.create_service(service_name => 'rtser1',
  network_name => 'rtser1',
  failover_method => dbms_service.failover_method_basic,
  failover_type => dbms_service.failover_type_select,
  failover_retries => 180,
  failover_delay => 5);
  end;
  /

ORA-44303: service name exists
ORA-06512: at "SYS.DBMS_SERVICE", line 450
ORA-06512: at "SYS.DBMS_SERVICE", line 210
ORA-06512: at line 2

创建:

begin
  dbms_service.create_service(service_name => 'rtser3',
  network_name => 'rtser3',
  failover_method => dbms_service.failover_method_basic,
  failover_type => dbms_service.failover_type_select,
  failover_retries => 180,
  failover_delay => 5);
  end;
  /

PL/SQL procedure successfully completed

修改:

begin
  dbms_service.modify_service(service_name => 'rtser1',
  failover_method => dbms_service.failover_method_none,
  failover_type => dbms_service.failover_type_session);
  end;
      /
PL/SQL procedure successfully completed

启动:

SQL> begin
     dbms_service.start_service(service_name => 'rtser3',
     instance_name => 'gtbl1');
     end;
/
PL/SQL procedure successfully completed

查看service服务的状态:

[grid@vmac1 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 29-JUN-2015 09:35:03

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                29-JUN-2015 08:47:42
Uptime                    0 days 0 hr. 47 min. 21 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/vmac1/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.181)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.182)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "gtbl" has 1 instance(s).
  Instance "gtbl1", status READY, has 1 handler(s) for this service...
Service "gtblXDB" has 1 instance(s).
  Instance "gtbl1", status READY, has 1 handler(s) for this service...
Service "rtser1" has 1 instance(s).
  Instance "gtbl1", status READY, has 1 handler(s) for this service...
Service "rtser3" has 1 instance(s).
  Instance "gtbl1", status READY, has 1 handler(s) for this service...
The command completed successfully

停止:

begin
  dbms_service.stop_service(service_name => 'rtser3',
  instance_name => 'gtbl1');
  end;
     /
PL/SQL procedure successfully completed

删除:

begin
  dbms_service.delete_service(service_name => 'rtser3');
  end;

/
  PL/SQL procedure successfully completed

请使用浏览器的分享功能分享到微信等