Oracle的RAC做数据库的负载均衡,有什么优点和缺点

Oracle的RAC做数据库的负载均衡,有什么优点和缺点,第1张

RAC编辑〔RAC提供的优缺点〕RAC,全称realapplicationclusters,译为“实时应用集群”,是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。OracleRACRAC提供的优缺点优点OracleRAC主要支持Oracle9i、10g、11g版本,可以支持24x7有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在OracleRAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。(1)多节点负载均衡(2)提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化(3)通过并行执行技术提高事务响应时间----通常用于数据分析系统(4)通过横向扩展提高每秒交易数和连接数----通常对于联机事务系统(5)节约硬件成本,可以用多个廉价PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本(6)可扩展性好,可以方便添加删除节点,扩展硬件资源。缺点(1)相对单机,管理更复杂,要求更高(2)在系统规划设计较差时性能甚至不如单节点(3)可能会增加软件成本(如果使用高配置的pc服务器,Oracle一般按照CPU个数收费)。在Oracle9i之前,RAC的名称是OPS(OracleparallelServer)。RAC与OPS之间的一个较大区别是,RAC采用了CacheFusion(高速缓存合并)技术。在OPS中,节点间的数据请求需要先将数据写入磁盘,然后发出请求的节点才可以读取该数据。使用Cachefusion时,RAC的各个节点的数据缓冲区通过高速、低延迟的内部网络进行数据块的传输。

网络配置文件默认的目录在$ORACLE_HOME/neork/admin 目录下

sqlnet ora

sqlnet ora文件决定找数据库服务器别名的方式

参数SQLNET AUTHENTICATION_SERVICES= (NONE NTS)表明用户连接Oracle服务器时使用哪种验证方式

NONE表示Oracle身份验证

NTS表示 ***       作系统身份验证

两种方式可以并用

ORA_DBA组中的域用户和本地用户不需要Oracle用户名和密码就可以登录Oracle

而且该组的用户登录数据库后都具有SYSDBA权限(多个实      例时 可以建立类似这样的组ORA_SID_DBA 其中SID指实例名

同理:ORA_OPER组中的成员具有SYSOPER角色的权限

登录方式  sqlplus / as sysdba

或者sqlplus nolog 然后SQL>connect / as sysdba

NAMES DEFAULT_DOMAIN = WORLD

NAMES DIRECTORY_PATH = (TNSNAMES ONAMES HOSTNAME)

表明解析客户端连接时所用的主机字符串的方式

TNSNAMES表示采用TNSNAMES ORA文件来解析

ONAMES表示使用自己的名称服务器(Oracle Name Server)来解析 目前Oracle建议使用轻量目录访问协议LDAP来取代ONAMES

HOSTNAME表示使用host文件 DNS NIS等来解析

如果你的ORACLE客户端和服务器默认的域名不一样 需要用#号注释第一行

#NAMES DEFAULT_DOMAIN = WORLD

使它不起作用

NAMES DIRECTORY_PATH指定找服务器别名的顺序 (本地的tnsnames ora文件 命名服务器 主机名方式)

服务器的sqlnet ora里可以设置检查客户端是否alive的时间间隔

sqlnet expire_time =

也可以设置环境变量TNS_ADMIN指向你想用的sqlnet ora和tnsnames ora目录

例如

TNS_ADMIN=/home/oracle/config/ export TNS_ADMIN

tnsnames ora

写数据库服务器别名的详细内容

有以下几种写法:

# 一般的写法

APPDB =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))

)

(CONNECT_DATA =

(SERVICE_NAME = appdb)

)

)

# 明确标明用dedicated方式连接数据库

APPD=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST= )(PORT= ))

(CONNECT_DATA=

(SERVICE_NAME=appdb)

(SERVER=DEDICATED)))

# 对多个listener端口做均衡负载方式连接数据库

APPS =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))

(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))

)

(CONNECT_DATA =

(SERVICE_NAME = appdb)

)

)

# 注意 如果数据库服务器用MTS 客户端程序需要用database link时最好明确指明客户端用dedicated直连方式

#       不然会遇到很多跟分布式环境有关的ORACLE BUG

lishixinzhi/Article/program/Oracle/201311/17314


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10655692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存