Exafusion是一种Direct-to-Wire协议,它允许数据库进程通过Infiniband网络直接读取和发送Oracle Real Applications Cluster(Oracle RAC)消息,输入操作系统内核和运行正常的网络软件堆栈。这提高了Oracle Exadata数据库计算机上Oracle RAC环境的响应时间和可伸缩性。数据直接从用户空间传输到Infiniband网络,从而降低了CPU利用率并提高了扩展性能。Exafusion对于OLTP应用程序特别有用,因为在小OLTP消息中,每条消息的开销特别明显。
此功能仅在Exadata Linux环境中可用。
使用Exafusion的先决条件
Oracle Exadata Storage Server Software release 12.1.2.1.1 or later.
Oracle Database software Release 12.1.0.2.0 BP11 or later.
Mellanox ConnectX-2 and ConnectX-3 Host Channel Adapters (HCAs) are required.
Oracle Enterprise Kernel 2 Quarterly Update 5 (UEK2QU5) kernels (2.6.39-400.2nn) or later are required.
如何启用Exafusion
在Oracle Database 19c中,EXAFUSION_ENABLED参数已被废弃
在Oracle Database 18c及更高版本中,Exafusion在默认情况下已启用,并且不能禁用。从18.3开始,初始化参数exafusion_enabled已被废弃。
在Oracle Database 12.2版中,Exafusion在默认情况下是启用的。可以通过设置初始化参数EXAFUSION_ENABLED=0来禁用Exafusion。在Oracle Database 12.1版中,Exafusion在默认情况下是禁用的。可以通过设置初始化参数EXAFUSION_ENABLED=1来启用Exafusion。
exafusion_enabled参数不能动态更改。必须在实例启动前更改。Oracle RAC集群中的所有实例都必须对此参数使用相同的值。无法以滚动方式一次更改一个实例上此参数的值。
如何检查Exafusion是否启用
在12.2版及更高版本的要确认数据库中是否启用了Exafusion,请在Database alert.log中搜索以下输出:
KSIPC: Client: KCL Transport: XRC
KSIPC: Client: DLM Transport: RDS
KSIPC CAPABILITIES :MGA:IPCLW:GRPAM:PR:TOPO:DLL:SHREG
KSXP: ksxpsg_ipclwtrans: 1 RDS
cluster interconnect IPC version: [IPCLW over RDS(mode 2) ]
要确定数据库版本12.1中是否启用了Exafusion,请在Database alert.log中搜索以下输出:
Exafusion(RDS, XRC) enabled
Reference
https://docs.oracle.com/en/database/oracle/oracle-database/18/refrn/EXAFUSION_ENABLED.htmlEXAFUSION details and supported versions (Doc ID 2037900.1)