Oracle 11g 新特性 -- RAC One Node 说明


 

一.RAC ONE NODE 理论说明

Oracle RAC one node是Oracle 11gR2 中引入的特性。该特性仅在Oracle Database 11g Release 2 Enterprise Edition 中支持。并且是需要单独收费的,可以免费使用10天,已用来做其他的迁移方案。RAC one node每个处理器需要$10000,比RAC 的每个处理器$23000要便宜点,对于2个节点的rac one node,只需要买一个节点的授权即可。

 

官网说明:

Administering Oracle RAC One Node

http://docs.oracle.com/cd/E11882_01/rac.112/e16795/onenode.htm

http://docs.oracle.com/cd/E11882_01/rac.112/e16795/whatsnew.htm

 

Oracle RAC onenode提供的是一种cold failover 方案。假设在2个节点的rac one node上,实例只在其中一个节点运行,另一个节点就作为coldstandby 存在。 如果实例faild,那么RAC ONE Node 检测到后,首先会在相同的节点尝试restart。如果当前节点出现问题,或者实例不能restart,那么instance 会被relocated 到standby 的节点上去。Relocated的过程是自动实现的,不需要downtime 和人工的介入。Relocated 使用的是Omotion,使用Omotion 可以对实例进行migration 和 relocation。

 

    简单的来说,RAC ONE NODE 也是基于多节点来实现,多节点之间也是需要安装clusterware,多节点形成一个single cluster,而实例只在其中一个节点上运行。 当出现问题时通过Omotion技术将实例转移到single cluster中的其他节点上行。 当然也可以手工使用omotion来进行转移,从而实现零停机的升级和打补丁等操作。

 

Both RAC 和 RAC One Node 的区别:

(1)  RAC failover:  

RAC usesmultiple servers (nodes) and the tnsnames.ora file directs failover to asurviving server when a node crashes.

 

(2)  RAC One Nodefailover:  

RAC One Nodeuses "instance relocation", and when an instance fails, RAC One Nodere-starts a failed instance on another node, by re-mounting the disk on the newserver and using the pfile/spfile to re-start the instance.

 

 

Oracle RAC One Node 引入了2个新工具:

(1)  OracleDatabase Resource Manager Instance Caging

The new instancecaging features is part of the database resource manager in RAC One Node, atool to allocate server resources to multiple instances running on the sameserver.

 

(2)  Omotiononline migration utility

This is a newRAC One Node utility that allows for a RAC instance to be quickly"lifted" and copied to a new server node.

 

Oracle RAC One node 有如下优点:

(1)  Built-in cluster failover for high availability

(2)  Rolling patches for single instance database

(3)  Proactive migration / failover of the instance

(4)  Live migration of instances across servers

(5)  Online upgrade to RAC

 

RAC one node的滚动升级是非常有用的功能,使用该特性,可以实现零停机的进行升级。

 

 

RAC one node不适用如下环境:

(1)  To load balance unlike regular RAC

(2)  A true high availability solution

(3)  As a DR solution; Data guard best suits the bill

(4)  For mission critical applications

 

 

二.RAC ONE NODE 图示

2.1 RAC ONE NODE 框架图

这里一个RAC ONE NODE的框架图:

 

这里有3个节点的RACone node。 其中Server A 上运行着实例DB1 和 DB2. Server B上运行实例DB3.Server C上运行实例DB4和DB5. 即每个实例只在一个节点上运行,同一个节点上可以运行多个不同的实例。

 

2.2 Omotion 图示

 

Omotion 进行migrate的过程如下图所以:

 






Omotion 适用的情景:

(1) Omotion moves aRAC One Node instance from one server to another—without any downtime

(2) Use Cases

• Load balancing

• Database + OS patching and maintenance

(3) Oracle suppliedtools control migration

• Services are not accepting connections on both nodes at the sametime

• Migrated instance shutdown transactional once services moved

• A maximum of 30 minutes allowed for connections to migrate (thenshutdown abort)

 

Rolling Online Patching

(1)  Rolling upgradeable RAC patches are also rolling upgradeable withRAC One Node

(2)  Omotion migration followed by patching

(3)  When patching complete, the primary instance is brought back onlineand the secondary instance is shutdown (reverse Omotion)

 

 

2.3 Cluster Failover 图示

 

 

当Server B节点出现故障,通过Omotion技术将实例DB3 转移到Server C上:

 


 

 

 

 

参考文档:

http://dbathoughts.blogspot.com/2010/04/oracle-rac-one-node-what-is-it.html

http://www.dba-oracle.com/t_rac_one_node.htm

http://www.databasejournal.com/features/oracle/article.php/3906196/Moving-to-Oracle-RAC-One-Node.htm

http://www.oracleracsig.org/pls/apex/RAC_SIG.download_my_file?p_file=1003078

 

 

 

 

 

 

---------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

QQ:492913789

Email:ahdba@qq.com

Blog:  http://www.cndba.cn/dave

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

<think> 嗯,用户这次问的是PGSROM程序及相关文件的功能和使用方法。从用户提供的引用内容来看,之前讨论的是U-Boot链接脚本和NAND Flash操作,但这次明显转向了另一个工具链。用户可能是嵌入式开发工程师,正在处理ROM烧录或固件调试工作。 PGSROM这个名称看起来像是某种编程工具(Programmer for SROM),SROM通常指串行ROM。用户列出的文件类型很专业:.DAT可能是数据文件,.LOG是日志,.MAX可能存储地址上限,DUMP.DAT显然是数据提取文件。需要解释清楚这套工具链的工作流程。 注意到用户上次的问题涉及U-Boot和NAND操作,可能是在开发嵌入式系统。PGSROM应该是用于生成或烧录启动ROM的工具,比如生成BIOS固件或bootloader。SROM.DAT作为核心固件数据,ADDR.MAX记录内存映射,这种设计在嵌入式开发中很常见。 特别要注意ADDR.LOG和SROM.LOG的区别:前者是编程操作时产生的物理地址记录,后者是固件自身运行时的调试输出。这种分离设计有利于区分烧录过程和运行时问题。DUMP.DAT的功能需要谨慎描述,因为内存转储既可能用于备份也可能用于逆向分析。 用户没有说明具体芯片平台,但提到的文件扩展名.dat/.log在x86和ARM体系都通用。使用示例应该保持硬件中立,重点展示命令行交互逻辑而非具体地址值。最后生成的问题要覆盖典型痛点:比如如何调试校验失败、如何定制内存映射——这都是嵌入式工程师实际会遇到的障碍。 </think> PGSROM 程序及其相关文件主要用于 **嵌入式系统的串行ROM(SROM)编程、调试和数据管理**,常见于Bootloader开发、固件烧录、内存区域操作和调试场景。以下是各文件的核心功能和使用详解: --- ### **1. PGSROM (主程序)** * **功能**: * **SROM编程**:将编译好的固件(如 `SROM.DAT`)写入目标设备的串行ROM。 * **内存操作**:读取、擦除、写入设备特定内存区域(如 `nand erase`, `nand write`)。 * **调试支持**:控制执行流程,设置断点,单步跟踪。 * **数据交互**:通过命令与目标设备通信(如 `yy=` 开头的自定义命令序列[^2])。 * **日志管理**:生成操作日志(`SROM.LOG`, `ADDR.LOG`)。 * **使用方法**: * 通常通过**命令行参数**或**交互式命令终端**调用。 * **示例**: ```bash # 烧录 SROM.DAT 到指定地址 PGSROM -p 0x00000000 -f SROM.DAT # 擦除 NAND 从 0x250000 开始的 0x3DB0000 字节 PGSROM -e nand -a 0x250000 -s 0x3DB0000 # 执行自定义命令序列(如引用[2]中的 yy=...) PGSROM -c "yy=t 0x30000000 rootyaffs2.img;nand erase 0x250000 0x3db0000;nand write.yaffs2 0x30000000 0x250000 $(filesize)" ``` --- ### **2. SROM.DAT** * **功能**:存放**待烧录到串行ROM的二进制固件**(如Bootloader、初始化代码)。内容通常由编译器生成(如 `start.o`, `cpu_init.o` 等链接后的机器码[^1])。 * **使用场景**: * 作为 `PGSROM -p` 命令的输入文件,写入目标设备。 * 固件更新或量产烧录时使用。 --- ### **3. ADDR.MAX** * **功能**:定义**内存操作的地址范围上限**(如 `0x3DB0000`)。用于防止越界操作。 * **使用场景**: * 在执行擦除/写入命令时,程序依据此文件校验地址是否有效。 * 确保操作不超出物理内存或存储边界。 --- ### **4. ADDR.LOG** * **功能**:记录 **PGSROM 操作中访问的内存地址**(如擦除 `0x250000`,写入 `0x30000000`[^2])。 * **使用场景**: * **调试追踪**:分析程序对内存的读写行为。 * **操作审计**:验证烧录/擦除的地址是否符合预期。 --- ### **5. SROM.LOG** * **功能**:存储 **PGSROM 执行过程的详细日志**,包括: * 命令执行结果(成功/失败)。 * 错误信息(如校验失败、超时)。 * 设备响应数据。 * **使用场景**: * 排查烧录失败原因。 * 监控程序运行状态。 * 审计操作历史。 --- ### **6. DUMP.DAT** * **功能**:**从设备内存中提取的数据快照**(如通过 `PGSROM -d` 命令导出)。 * **使用场景**: * 验证烧录内容是否与 `SROM.DAT` 一致。 * 调试时分析设备内存状态。 * 备份特定内存区域数据。 --- ### **典型工作流** 1. **准备固件**:编译生成 `SROM.DAT`。 2. **配置地址**:设定 `ADDR.MAX` 限制操作范围。 3. **执行操作**:用 PGSROM 烧录固件(`-p`)或操作内存(`-e`, `-w`)。 4. **记录日志**:操作过程写入 `ADDR.LOG` 和 `SROM.LOG`。 5. **验证数据**:通过 `DUMP.DAT` 对比烧录结果。 6. **调试分析**:根据日志排查问题。 --- ### **注意事项** 1. **权限要求**:PGSROM 通常需**管理员权限**访问硬件接口。 2. **地址对齐**:操作地址需按设备要求对齐(如 4 字节对齐 `ALIGN(4)`[^1])。 3. **文件依赖**:`SROM.DAT` 和 `ADDR.MAX` 是输入文件;`ADDR.LOG`, `SROM.LOG`, `DUMP.DAT` 是输出文件。 4. **命令风险**:错误的擦除/写入命令可能导致设备变砖! ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值