再说 Oracle RAC services
应用程序工作负载在Oracle 10g中可以被定为services,也称之为服务,能够在单实例中使用,也能够在RAC中单独使用和管理。因此整个
应用程序工作负载在Oracle 10g中可以被定为services,也称之为服务,能够在单实例中使用,也能够在RAC中单独使用和管理。因此整个数据库负载能够被分割为多个不同的services,通过管理service能够简化用户或session的管理。其次services特性的重要体现在RAC之中用于实现负载均衡与故障转移。本文描述什么是services,以及使用services的好处,以及如何使用services.
一、services与service_name
services
对于客户端应用程序而言,仅仅需要关心的是数据库提供了哪些服务,而不需要知道它到底连接是哪个数据库或者那个实例。
因此在数据库服务器端我们可以创建一个或多个services供客户端时所用,是一个或多个service_name的统称。
对于这些提供的服务,Oracle会将其注册到监听器以供外部建立连接。
可以通过lsnrctl status [listener_name] 查看当前的服务下有多少个实例为其响应该服务。
也可以通过lsnrctl service [listener_name] 查看更详细的信息,包括当前的连接状况,,ip,端口号等。
service_name
指客户端连接到实例的服务名。在Oracle 8i时就有提出service_name的概念,通常用于代替tnsnames.ora中的ORACLE_SID。
9i之后,Oracle推荐使用service_name而不是SID。
可以通过定义多不不同的服务名来区分不同的用户连接,该参数缺省的格式为db_name.domain_name。
下面是一个客户端的tnsnames.ora,两个不同的连接标识符下一个使用了ORACLE_SID,一个使用SERVICE_NAME,两种方式都可行。
SYBO2SZ_SID=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.7.2)
(PORT=1915)
)
(CONNECT_DATA=
(ORACLE_SID=SYBO2SZ) #此处使用了ORACLE_SID=,也可以直接使用SID=
)
)
SYBO2SZ=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=192.168.7.2)
(PORT=1915)
)
(CONNECT_DATA=
(SERVICE_NAME=SYBO2SZ) #Oracle 9i之后推荐使用SERVICE_NAME
)
)
下一篇: log4php0.9的详细配备实例说明
推荐阅读
-
oracle 11g RAC 常用命令整理分享
-
[Oracle] RAC 之 - 负载均衡深入解析
-
Linux NTP服务配置for Oracle RAC教程
-
Oracle 11g R2 RAC with ASM存储迁移--Rman copy&ASM Rebalance(一)
-
oracle 11g RAC 常用命令整理分享
-
oracle rac启停命令使用实例
-
Oracle RAC环境下的阻塞(blocking blocked)介绍和实例演示
-
ORACLE 12.2RAC之问题 ora.chad OFFLINE
-
【Oracle】RAC11gR2Grid启动顺序及启动故障诊断思路
-
oracle 11g rac 关闭和启动顺序,状态查看命令教程