Oracle单实例下的service管理

Oracle--单实例下的service管理

1.创建service

service_name、network_name两个参数是必须的:前者表示数据字典内部使用的名称;后者是监听中对应的名称。

BEGIN
  DBMS_SERVICE.create_service(
    service_name => 'my_new_service',
    network_name => 'my_new_service'
  );
END;
/

2.启动service

BEGIN
  DBMS_SERVICE.start_service(
    service_name => 'my_new_service'
  );
END;
/

3.修改service

BEGIN
  DBMS_SERVICE.modify_service(
    service_name => 'my_new_service',
    goal         => DBMS_SERVICE.goal_throughput
  );
END;
/

4.关闭service

BEGIN
  DBMS_SERVICE.stop_service(
    service_name => 'my_new_service'
  );
END;
/

5.删除service

BEGIN
  DBMS_SERVICE.delete_service(
    service_name => 'my_new_service'
  );
END;
/

6.断开service的所有会话

DBMS_SERVICE.post_transaction:事务结束,会话就断开。这是默认设置(value:0)。

DBMS_SERVICE.immediate:会话立即断开连接(value:1)

DBMS_SERVICE.noreplay:会话立即断开连接,标记为不再replay(value:2)

BEGIN
  DBMS_SERVICE.disconnect_session(
   service_name      => 'my_new_service',
   disconnect_option => DBMS_SERVICE.immediate
  );
END;
/

7.查看service状态

SELECT name,network_name FROM dba_services;
SELECT name,network_name FROM v$active_services;

  

 

原文地址:https://www.cnblogs.com/abclife/p/15521027.html