OracleClusterware和数据库升级全攻略
立即解锁
发布时间: 2025-08-23 01:44:17 阅读量: 1 订阅数: 5 

### Oracle Clusterware 和数据库升级全攻略
#### 1. 升级前提与启动
如果当前的 Oracle 环境版本不在指定的兼容列表中,就需要进行间接升级。即先打补丁或升级到指定版本,再升级到 12c。当满足所有先决条件并遵循升级最佳实践后,就可以开始升级流程。通过以下命令启动 Oracle Universal Installer(OUI):
```bash
./runInstaller
```
#### 2. 集群升级兼容性矩阵
| Oracle 版本 | 兼容性 |
| --- | --- |
| Oracle 10gR1 (10.1.0.5) | 可直接升级 |
| Oracle 10gR2 (10.2.0.3) | 可直接升级 |
| Oracle 11gR1 (11.1.0.6) | 可直接升级 |
| Oracle 11gR2 (11.2.0.2) | 可直接升级,但必须应用补丁集 11.2.0.2.3 (PSU 3) 或更高版本 |
#### 3. 启动 Oracle Clusterware 升级
以下是在 Linux 5 操作系统上将两节点的 Oracle 11gR2 (11.2.0.3) GI 升级到 Oracle 12c (12.1.0.0.2) 的详细步骤:
1. **跳过软件更新**:若不想从 My Oracle Support 接收软件更新通知,在软件升级界面选择“Skip Software updates”选项。
2. **选择安装选项**:在安装选项界面,选择“Upgrade Oracle GI or Automatic Storage Management”选项。
3. **选择语言**:根据需求在“Select Product Languages”界面选择所需语言。
4. **选择节点**:在节点选择界面,从给定列表中选择所有节点作为集群升级的一部分。
5. **配置 GI 管理存储库**:在 Oracle 12c 新安装或升级过程中配置 GI 管理存储库时,会创建一个新数据库来维护集群健康监控器(CHM)数据和其他集群功能。若错过此配置,当时没有其他配置选项。选择配置后,OCR 和投票磁盘将自动创建在用于 MGMT 数据库的同一 ASM 磁盘组中。
6. **设置操作系统组**:在“Operating System Groups”界面设置适当的组。
7. **输入安装位置**:在安装位置界面输入 Oracle 12 GI 的详细位置信息。
8. **指定新的 GI 主目录**:从 11gR2 开始,所有升级都是全新安装升级,需要为新的 GI 主目录指定与现有不同的位置。
9. **自动化脚本执行**:从 Oracle 12c 开始,可以通过提供 root 用户登录凭据或定义 sudo 用户来自动执行 root.sh 或 rootupgrade.sh 脚本,从而避免手动执行。
10. **手动执行脚本**:若未选择自动运行配置脚本选项,则需在提示时手动运行脚本。
11. **并行执行脚本**:在涉及大量节点的部署中,可以并行运行 root.sh 脚本以加快部署速度。例如,在早期的 Oracle 版本中,若有六个节点参与部署,可以按以下方式并行启动脚本:
- 首先,在本地节点(节点 1)上运行脚本。
- 然后,在节点 2 到 5 上并行运行脚本。
- 最后,在最后一个节点(节点 6)上执行脚本。
12. **节点分批执行**:在 12c 中,可以通过“pooling the nodes into batches”功能实现类似的并行执行效果。可以将所有节点最多分成三个批次,安装程序将按批次在节点上运行 root.sh/rootupgrade.sh 脚本,并在进入下一批次之前请求确认。
13. **先决条件验证**:安装程序会执行先决条件验证检查,并在“Prerequisite Checks”界面显示结果。检查是否有验证失败的情况,并采取相应措施。
14. **审查摘要报告**:审查摘要报告,若发现任何红色标记的项目,采取适当步骤后再继续。
15. **进行安装**:安装程序随后进行 Oracle 12c GI 的安装和其他步骤。
16. **执行 root.sh 脚本**:由于启用了 root.sh 脚本的自动化执行,需要输入“Yes”以自动执行该脚本。若选择手动运行 root.sh/rootupgrade.sh 脚本,将出现相应提示界面。安装程序将根据之前指定的批次在节点上运行脚本,在脚本执行过程中,可以在安装界面看到当前正在执行脚本的节点信息。在本地节点完成脚本执行后,可以通过以下命令查询 CRS 活动/软件版本:
```bash
$ ./crsctl query crsactiveversion
Oracle Clusterware active version on the cluster is [11.2.0.3.0]
$ ./crsctl query crssoftwareversion
Oracle Clusterware version on node [rac1] is [12.1.0.0.2]
```
在所有节点完成 rootupgrade.sh 脚本执行后,若选择了配置 GI 管理数据库,安装程序将继续进行配置。
#### 4. rootupgrade.sh 脚本的重要性
在执行 rootupgrade.sh 脚本之前,软件二进制文件仅部署在本地和远程节点的相应主目录下。rootupgrade.sh 脚本实际上执行核心的 Clusterware 堆栈配置和升级,具体职责如下:
- **本地节点(第一个节点)**:
1. 执行 ASM 升级。
2. 相应地配置 OLR。
3. 修改操作系统 /etc/inittab 文件中的集群自动启动条目。
4. 关闭现有集群堆栈。
5. 启动本地节点上的 Oracle 12c 集群堆栈。
6. 在显示成功的集群配置消息之前,使用必要信息配置 OCR。
- **最后一个节点**:
1. 相应地配置 OLR。
2. 修改操作系统 /etc/inittab 文件中的集群自动启动条目。
3. 关闭现有集群堆栈。
4. 启动本地节点上的 Oracle 12c 集群堆栈。
5. 使用必要信息配置 OCR。
6. 启动实际的 OCR、CSS、ASM 和 CRS 进程。
#### 5. 升级后任务
集群升级完成后,快速检查以下升级后清单以确认升级成功:
1. **验证集群版本**:验证集群的活动/软件版本。
2. **检查守护进程启动位置**
0
0
复制全文
相关推荐










