本部分包含:
- 关于数据库服务
- 创建数据库服务
- 数据库服务数据字典视图
关于数据库服务
数据库服务(服务)是用于管理Oracle数据库中的工作负载的逻辑抽象。服务将工作量分成相互不相交的分组。每项服务都代表具有通用属性,服务级别阈值和优先级的工作负载。分组基于可能包括要使用的应用程序功能,应用程序功能的执行优先级,要管理的作业类或应用程序功能或作业类中使用的数据范围的工作属性。例如,Oracle电子商务套件为每项责任定义了一项服务,例如总帐,应收账款,订单输入等。在配置数据库服务时,您可以为每个服务提供唯一的全局名称,相关的性能目标以及相关重要性。这些服务与Oracle数据库紧密集成并保存在数据字典中。
连接请求可以包含数据库服务名称。因此,中间层应用程序和客户端/服务器应用程序通过将服务指定为TNS连接数据中连接的一部分来使用服务。如果没有包含服务名称,并且Net Services文件listener.ora指定了默认服务,则连接将使用默认服务。
通过服务,您可以配置工作负载,进行管理,启用和禁用工作负载,并将工作负载作为单个实体进行衡量。您可以使用标准工具(如数据库配置助手(DBCA),网络配置助理(NetCA)和Oracle企业管理器)来完成此任务。企业管理器支持整体查看和操作服务,并在需要时钻取到实例级别。
在Oracle Real Application Clusters(Oracle RAC)环境中,服务可以跨越一个或多个实例,并基于事务性能促进工作负载平衡。这提供了端对端的无人值守恢复,按工作负载进行的滚动更改以及完整的位置透明度。 Oracle RAC还使您能够使用企业管理器,DBCA和服务器控制实用程序(SRVCTL)管理多个服务功能。
服务还为性能调整提供了额外的维度。通过“服务和SQL”进行调整可以取代所有会话匿名和共享的大多数系统中的“会话和SQL”调整。通过服务,工作负载可见并可衡量。资源消耗和等待由应用程序引起。此外,分配给服务的资源可以在负载增加或减少时增加。这种动态的资源分配能够实现经济高效的解决方案,以满足各种需求。例如,服务会自动测量,并将性能与服务级别阈值进行比较。将性能违规报告给企业管理器,以便执行自动或计划的解决方案。
多个Oracle数据库功能支持服务。自动工作负载信息库(AWR)管理服务的性能。 AWR记录服务性能,包括执行时间,等待类和服务消耗的资源。当超过服务响应时间阈值时,AWR警报会发出警告。动态视图报告一小时历史记录的当前服务性能指标。每项服务都具有响应时间和CPU消耗的服务质量阈值。
创建数据库服务
根据您的数据库配置,有几种创建数据库服务的方法。
要创建数据库服务:
1、如果您的单实例数据库由Oracle Restart管理,请使用SRVCTL实用程序创建数据库服务
srvctl add service -d db_unique_name -s service_name
2、如果您的单实例数据库不由Oracle Restart管理,请执行以下操作之一:
- 将所需的服务名称附加到SERVICE_NAMES参数。
- 调用DBMS_SERVICE.CREATE_SERVICE包过程
3、(可选)使用Oracle Enterprise Manager或DBMS_SERVICE.MODIFY_SERVICE定义服务属性
数据库服务数据字典视图
可以在以下特定于服务的视图中找到服务信息:
- DBA_SERVICES
- ALL_SERVICES or V$SERVICES
- V$ACTIVE_SERVICES
- V$SERVICE_STATS
- V$SERVICE_EVENT
- V$SERVICE_WAIT_CLASSES
- V$SERV_MOD_ACT_STATS
- V$SERVICE_METRICS
- V$SERVICE_METRICS_HISTORY
以下附加视图还包含有关服务的一些信息:
- V$SESSION
- V$ACTIVE_SESSION_HISTORY
- DBA_RSRC_GROUP_MAPPINGS
- DBA_SCHEDULER_JOB_CLASSES
- DBA_THRESHOLDS
参考资料
https://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#ADMIN11125