GoldenGate教程FG038-升级迁移与版本管理
本文档详细介绍Oracle GoldenGate的升级迁移与版本管理,风哥教程参考GoldenGate官方文档相关内容,适合数据库管理员和技术人员学习和参考。更多视频教程www.fgedu.net.cn
Part01-基础概念与理论知识
1.1 升级概念
升级是指将GoldenGate从一个版本更新到另一个版本的过程。升级的目的是获取新特性、修复bug、提高性能和安全性。
- 补丁升级:安装补丁包,修复特定的bug或安全问题
- 小版本升级:从一个小版本更新到另一个小版本,如从19.1.0.0.0更新到19.1.0.0.1
- 大版本升级:从一个大版本更新到另一个大版本,如从19c更新到21c
- 跨版本升级:从一个较旧的版本直接更新到一个较新的版本,如从12c更新到23ai
1.2 迁移概念
迁移是指将GoldenGate从一个环境移动到另一个环境的过程。迁移的目的是适应业务需求、优化系统架构、提高系统性能等。
## 1. 平台迁移
– 定义:将GoldenGate从一个操作系统平台迁移到另一个操作系统平台
– 示例:从Linux迁移到Windows,从Windows迁移到Linux
## 2. 架构迁移
– 定义:将GoldenGate从一种架构迁移到另一种架构
– 示例:从经典架构迁移到微服务架构,从集中式架构迁移到分布式架构
## 3. 云迁移
– 定义:将GoldenGate从本地环境迁移到云环境
– 示例:从本地数据中心迁移到Oracle Cloud,从本地数据中心迁移到AWS
## 4. 数据库迁移
– 定义:将GoldenGate的数据源或目标从一个数据库迁移到另一个数据库
– 示例:从Oracle数据库迁移到MySQL数据库,从Oracle数据库迁移到PostgreSQL数据库
## 5. 版本迁移
– 定义:将GoldenGate从一个版本迁移到另一个版本
– 示例:从19c迁移到21c,从21c迁移到23ai
1.3 版本管理
版本管理是指对GoldenGate的版本进行控制和管理的过程。版本管理的目的是确保系统的稳定性、可追溯性和可维护性。
- 版本控制:对GoldenGate的版本进行控制,确保系统使用的是经过测试和验证的版本
- 版本跟踪:跟踪GoldenGate的版本变化,记录版本的更新历史
- 版本兼容性:确保不同版本的GoldenGate之间的兼容性,避免版本冲突
- 版本回滚:在升级或迁移失败时,能够回滚到之前的版本
学习交流加群风哥微信: itpux-com
Part02-生产环境规划与建议
2.1 升级规划
GoldenGate升级规划的考虑因素:
## 1. 升级需求
– 新特性需求:需要新的功能和特性
– bug修复:需要修复已知的bug
– 性能提升:需要提高系统性能
– 安全补丁:需要安装安全补丁
## 2. 升级风险
– 兼容性风险:新版本可能与现有系统不兼容
– 功能风险:新版本可能存在新的bug
– 性能风险:新版本可能影响系统性能
– 业务风险:升级过程可能影响业务运行
## 3. 升级准备
– 备份:备份现有的GoldenGate配置和数据
– 测试:在测试环境中进行升级测试
– 文档:准备升级文档和回滚方案
– 人员:安排升级人员,明确职责
## 4. 升级时间
– 业务低峰期:选择业务低峰期进行升级
– 升级窗口:确定升级的时间窗口,确保有足够的时间完成升级
– 回滚时间:预留足够的回滚时间,以防升级失败
## 5. 升级后验证
– 功能验证:验证GoldenGate的功能是否正常
– 性能验证:验证系统性能是否满足要求
– 业务验证:验证业务是否正常运行
– 监控:监控系统的运行状态,确保稳定运行
2.2 迁移规划
GoldenGate迁移规划的考虑因素:
- 迁移目标:明确迁移的目标和范围
- 迁移风险:评估迁移可能带来的风险
- 迁移策略:制定合理的迁移策略,如直接迁移、并行迁移等
- 迁移时间:选择合适的迁移时间,减少对业务的影响
- 迁移工具:选择合适的迁移工具,提高迁移效率
- 迁移测试:在测试环境中进行迁移测试,验证迁移方案的可行性
- 迁移文档:准备迁移文档,记录迁移过程和步骤
- 迁移后验证:迁移后验证系统的功能和性能
2.3 最佳实践
GoldenGate升级迁移与版本管理的最佳实践:
## 1. 升级最佳实践
– 制定详细的升级计划:包括升级步骤、时间安排、风险评估等
– 备份现有配置:在升级前备份GoldenGate的配置文件和数据
– 在测试环境中测试:在测试环境中进行升级测试,验证升级方案的可行性
– 选择合适的升级时间:选择业务低峰期进行升级,减少对业务的影响
– 预留回滚时间:预留足够的回滚时间,以防升级失败
– 升级后验证:升级后验证GoldenGate的功能和性能
– 监控系统:升级后监控系统的运行状态,确保稳定运行
## 2. 迁移最佳实践
– 制定详细的迁移计划:包括迁移步骤、时间安排、风险评估等
– 备份现有数据:在迁移前备份GoldenGate的配置文件和数据
– 在测试环境中测试:在测试环境中进行迁移测试,验证迁移方案的可行性
– 选择合适的迁移策略:根据业务需求和系统特点,选择合适的迁移策略
– 选择合适的迁移时间:选择业务低峰期进行迁移,减少对业务的影响
– 迁移后验证:迁移后验证GoldenGate的功能和性能
– 监控系统:迁移后监控系统的运行状态,确保稳定运行
## 3. 版本管理最佳实践
– 建立版本控制体系:建立GoldenGate的版本控制体系,确保版本的可追溯性
– 记录版本变更:记录GoldenGate的版本变更,包括版本号、变更内容、变更时间等
– 测试新版本:在测试环境中测试新版本,验证其稳定性和兼容性
– 制定版本策略:制定GoldenGate的版本策略,包括版本选择、升级频率等
– 培训人员:对相关人员进行版本管理培训,提高版本管理意识
– 定期检查版本:定期检查GoldenGate的版本,确保使用的是最新的稳定版本
## 4. 风险控制最佳实践
– 风险评估:在升级或迁移前,进行详细的风险评估
– 制定回滚计划:制定详细的回滚计划,以防升级或迁移失败
– 建立应急机制:建立应急机制,及时处理升级或迁移过程中的问题
– 测试验证:在升级或迁移后,进行充分的测试验证
– 监控系统:升级或迁移后,加强系统监控,及时发现和解决问题
from GoldenGate视频:www.itpux.com
Part03-生产环境项目实施方案
3.1 升级实施
GoldenGate升级实施的步骤如下:
## 1. 准备阶段
– 收集信息:收集当前GoldenGate的版本、配置和运行状态
– 确定升级目标:确定要升级到的GoldenGate版本
– 下载安装包:从Oracle官网下载最新的GoldenGate安装包
– 备份配置:备份现有的GoldenGate配置文件和数据
– 准备测试环境:在测试环境中进行升级测试
## 2. 测试阶段
– 在测试环境中安装新版本:在测试环境中安装最新的GoldenGate版本
– 配置测试环境:配置测试环境的GoldenGate,与生产环境保持一致
– 测试功能:测试GoldenGate的功能,确保正常运行
– 测试性能:测试GoldenGate的性能,确保满足要求
– 测试兼容性:测试GoldenGate与其他系统的兼容性
## 3. 实施阶段
– 停止GoldenGate进程:停止生产环境中的GoldenGate进程
– 备份数据:备份生产环境中的GoldenGate数据和配置
– 安装新版本:在生产环境中安装最新的GoldenGate版本
– 恢复配置:恢复GoldenGate的配置文件
– 启动GoldenGate进程:启动生产环境中的GoldenGate进程
## 4. 验证阶段
– 验证功能:验证GoldenGate的功能是否正常
– 验证性能:验证GoldenGate的性能是否满足要求
– 验证业务:验证业务是否正常运行
– 监控系统:监控系统的运行状态,确保稳定运行
## 5. 收尾阶段
– 清理环境:清理升级过程中产生的临时文件
– 记录变更:记录升级的过程和结果
– 培训人员:对相关人员进行新版本的培训
– 更新文档:更新GoldenGate的相关文档
3.2 迁移实施
GoldenGate迁移实施的步骤如下:
## 1. 准备阶段
– 收集信息:收集当前GoldenGate的环境、配置和运行状态
– 确定迁移目标:确定迁移的目标环境和架构
– 制定迁移计划:制定详细的迁移计划,包括迁移步骤、时间安排、风险评估等
– 准备目标环境:准备迁移的目标环境,包括硬件、软件和网络等
– 备份数据:备份现有的GoldenGate数据和配置
## 2. 测试阶段
– 在测试环境中进行迁移测试:在测试环境中模拟迁移过程,验证迁移方案的可行性
– 测试功能:测试迁移后的GoldenGate功能是否正常
– 测试性能:测试迁移后的GoldenGate性能是否满足要求
– 测试兼容性:测试迁移后的GoldenGate与其他系统的兼容性
## 3. 实施阶段
– 停止源环境GoldenGate进程:停止源环境中的GoldenGate进程
– 备份数据:备份源环境中的GoldenGate数据和配置
– 复制数据和配置:将源环境中的GoldenGate数据和配置复制到目标环境
– 配置目标环境:配置目标环境的GoldenGate,确保与源环境一致
– 启动目标环境GoldenGate进程:启动目标环境中的GoldenGate进程
## 4. 验证阶段
– 验证功能:验证迁移后的GoldenGate功能是否正常
– 验证性能:验证迁移后的GoldenGate性能是否满足要求
– 验证业务:验证业务是否正常运行
– 监控系统:监控系统的运行状态,确保稳定运行
## 5. 收尾阶段
– 清理环境:清理迁移过程中产生的临时文件
– 记录变更:记录迁移的过程和结果
– 培训人员:对相关人员进行迁移后的培训
– 更新文档:更新GoldenGate的相关文档
3.3 版本控制
GoldenGate版本控制的步骤如下:
## 1. 版本规划
– 确定版本策略:确定GoldenGate的版本选择和升级频率
– 制定版本计划:制定GoldenGate的版本更新计划
– 建立版本控制体系:建立GoldenGate的版本控制体系,确保版本的可追溯性
## 2. 版本管理
– 记录版本变更:记录GoldenGate的版本变更,包括版本号、变更内容、变更时间等
– 管理版本配置:管理GoldenGate的版本配置,确保配置的一致性
– 控制版本部署:控制GoldenGate的版本部署,确保部署的安全性和可靠性
## 3. 版本测试
– 测试新版本:在测试环境中测试新版本,验证其稳定性和兼容性
– 验证版本功能:验证新版本的功能是否正常
– 验证版本性能:验证新版本的性能是否满足要求
## 4. 版本部署
– 部署新版本:在生产环境中部署新版本
– 监控版本运行:监控新版本的运行状态,确保稳定运行
– 处理版本问题:及时处理新版本运行过程中出现的问题
## 5. 版本维护
– 定期检查版本:定期检查GoldenGate的版本,确保使用的是最新的稳定版本
– 安装补丁:及时安装GoldenGate的补丁,修复已知的bug和安全问题
– 升级版本:根据业务需求和技术发展,及时升级GoldenGate的版本
Part04-生产案例与实战讲解
4.1 升级案例
以下是GoldenGate升级的实战案例:
## 案例1:GoldenGate 19c升级到21c
### 背景
– 客户:某大型企业
– 系统:Oracle Database 19c,GoldenGate 19.1.0.0.0
– 需求:升级GoldenGate到21c,获取新特性和性能提升
### 升级步骤
1. 准备阶段:
– 收集当前GoldenGate的版本和配置信息
– 下载GoldenGate 21c安装包
– 备份现有GoldenGate配置和数据
– 在测试环境中进行升级测试
2. 测试阶段:
– 在测试环境中安装GoldenGate 21c
– 配置测试环境的GoldenGate
– 测试GoldenGate的功能和性能
– 验证与其他系统的兼容性
3. 实施阶段:
– 停止生产环境的GoldenGate进程:
“`
GGSCI> stop *
“`
– 备份生产环境的GoldenGate数据和配置:
“`bash
tar -czvf ggs_backup.tar.gz /GoldenGate/app
“`
– 安装GoldenGate 21c:
“`bash
unzip fbo_ggs_Linux_x64_21.3.0.0.0_ggcore_64bit.zip -d /GoldenGate/app
“`
– 恢复配置:
“`bash
cp -r /GoldenGate/app/dirprm /GoldenGate/app_new/
“`
– 启动GoldenGate进程:
“`
GGSCI> start mgr
GGSCI> start *
“`
4. 验证阶段:
– 验证GoldenGate进程状态:
“`
GGSCI> info all
“`
– 验证数据同步:在源端插入数据,测试目标端的数据同步
– 验证系统性能:监控系统的性能,确保满足要求
### 实施结果
– GoldenGate成功升级到21c
– 系统运行稳定,数据同步正常
– 新特性和性能提升满足业务需求
## 案例2:GoldenGate 12c升级到19c
### 背景
– 客户:某金融机构
– 系统:Oracle Database 12c,GoldenGate 12.3.0.1.0
– 需求:升级GoldenGate到19c,获取新特性和安全补丁
### 升级步骤
1. 准备阶段:
– 收集当前GoldenGate的版本和配置信息
– 下载GoldenGate 19c安装包
– 备份现有GoldenGate配置和数据
– 在测试环境中进行升级测试
2. 测试阶段:
– 在测试环境中安装GoldenGate 19c
– 配置测试环境的GoldenGate
– 测试GoldenGate的功能和性能
– 验证与其他系统的兼容性
3. 实施阶段:
– 停止生产环境的GoldenGate进程:
“`
GGSCI> stop *
“`
– 备份生产环境的GoldenGate数据和配置:
“`bash
tar -czvf ggs_backup.tar.gz /GoldenGate/app
“`
– 安装GoldenGate 19c:
“`bash
unzip fbo_ggs_Linux_x64_19.1.0.0.0_ggcore_64bit.zip -d /GoldenGate/app
“`
– 恢复配置:
“`bash
cp -r /GoldenGate/app/dirprm /GoldenGate/app_new/
“`
– 启动GoldenGate进程:
“`
GGSCI> start mgr
GGSCI> start *
“`
4. 验证阶段:
– 验证GoldenGate进程状态:
“`
GGSCI> info all
“`
– 验证数据同步:在源端插入数据,测试目标端的数据同步
– 验证系统性能:监控系统的性能,确保满足要求
### 实施结果
– GoldenGate成功升级到19c
– 系统运行稳定,数据同步正常
– 新特性和安全补丁满足业务需求
4.2 迁移案例
以下是GoldenGate迁移的实战案例:
## 案例1:GoldenGate从本地环境迁移到Oracle Cloud
### 背景
– 客户:某电商平台
– 系统:本地Oracle Database 19c,GoldenGate 19c
– 需求:将GoldenGate迁移到Oracle Cloud,提高系统的可扩展性和可靠性
### 迁移步骤
1. 准备阶段:
– 收集当前GoldenGate的环境和配置信息
– 准备Oracle Cloud环境:创建VM实例,配置网络和存储
– 制定迁移计划:包括迁移步骤、时间安排、风险评估等
– 备份现有GoldenGate配置和数据
2. 测试阶段:
– 在Oracle Cloud中搭建测试环境
– 在测试环境中配置GoldenGate
– 测试GoldenGate的功能和性能
– 验证与其他系统的兼容性
3. 实施阶段:
– 停止本地环境的GoldenGate进程:
“`
GGSCI> stop *
“`
– 备份本地环境的GoldenGate数据和配置:
“`bash
tar -czvf ggs_backup.tar.gz /GoldenGate/app
“`
– 将备份文件上传到Oracle Cloud:
“`bash
scp ggs_backup.tar.gz opc@
“`
– 在Oracle Cloud中解压备份文件:
“`bash
tar -xzvf ggs_backup.tar.gz -C /GoldenGate/
“`
– 配置Oracle Cloud中的GoldenGate:
“`bash
vi /GoldenGate/app/dirprm/mgr.prm
# 修改端口和其他配置
“`
– 启动Oracle Cloud中的GoldenGate进程:
“`
GGSCI> start mgr
GGSCI> start *
“`
4. 验证阶段:
– 验证GoldenGate进程状态:
“`
GGSCI> info all
“`
– 验证数据同步:在源端插入数据,测试目标端的数据同步
– 验证系统性能:监控系统的性能,确保满足要求
### 实施结果
– GoldenGate成功迁移到Oracle Cloud
– 系统运行稳定,数据同步正常
– 系统的可扩展性和可靠性得到提升
## 案例2:GoldenGate从经典架构迁移到微服务架构
### 背景
– 客户:某大型制造企业
– 系统:Oracle Database 19c,GoldenGate 19c(经典架构)
– 需求:将GoldenGate从经典架构迁移到微服务架构,提高系统的可管理性和可扩展性
### 迁移步骤
1. 准备阶段:
– 收集当前GoldenGate的环境和配置信息
– 准备微服务架构环境:安装GoldenGate微服务
– 制定迁移计划:包括迁移步骤、时间安排、风险评估等
– 备份现有GoldenGate配置和数据
2. 测试阶段:
– 在测试环境中搭建GoldenGate微服务架构
– 配置测试环境的GoldenGate微服务
– 测试GoldenGate的功能和性能
– 验证与其他系统的兼容性
3. 实施阶段:
– 停止经典架构的GoldenGate进程:
“`
GGSCI> stop *
“`
– 备份经典架构的GoldenGate数据和配置:
“`bash
tar -czvf ggs_backup.tar.gz /GoldenGate/app
“`
– 安装GoldenGate微服务:
“`bash
unzip fbo_ggs_Linux_x64_19.1.0.0.0_ggmicroservices_64bit.zip -d /GoldenGate/microservices
“`
– 配置GoldenGate微服务:
“`bash
./oggca.sh
# 按照向导配置微服务
“`
– 导入经典架构的配置:
“`bash
# 使用GoldenGate微服务的配置导入功能
“`
– 启动GoldenGate微服务:
“`bash
./startMicroservices.sh
“`
4. 验证阶段:
– 验证GoldenGate微服务状态:
“`bash
./statusMicroservices.sh
“`
– 验证数据同步:在源端插入数据,测试目标端的数据同步
– 验证系统性能:监控系统的性能,确保满足要求
### 实施结果
– GoldenGate成功迁移到微服务架构
– 系统运行稳定,数据同步正常
– 系统的可管理性和可扩展性得到提升
4.3 版本管理案例
以下是GoldenGate版本管理的实战案例:
## 案例1:企业级GoldenGate版本管理
### 背景
– 客户:某大型金融企业
– 系统:Oracle Database 19c,GoldenGate 19c
– 需求:建立企业级GoldenGate版本管理体系,确保系统的稳定性和可追溯性
### 实施步骤
1. 版本规划:
– 确定版本策略:每6个月进行一次小版本升级,每2年进行一次大版本升级
– 制定版本计划:制定详细的版本更新计划,包括升级时间、步骤和风险评估
– 建立版本控制体系:建立GoldenGate的版本控制体系,使用Git进行版本管理
2. 版本管理:
– 记录版本变更:使用Git记录GoldenGate的版本变更,包括配置文件的修改、参数的调整等
– 管理版本配置:使用Git管理GoldenGate的配置文件,确保配置的一致性和可追溯性
– 控制版本部署:使用CI/CD工具控制GoldenGate的版本部署,确保部署的安全性和可靠性
3. 版本测试:
– 测试新版本:在测试环境中测试新版本,验证其稳定性和兼容性
– 验证版本功能:验证新版本的功能是否正常
– 验证版本性能:验证新版本的性能是否满足要求
4. 版本部署:
– 部署新版本:使用CI/CD工具在生产环境中部署新版本
– 监控版本运行:监控新版本的运行状态,确保稳定运行
– 处理版本问题:及时处理新版本运行过程中出现的问题
5. 版本维护:
– 定期检查版本:每月检查GoldenGate的版本,确保使用的是最新的稳定版本
– 安装补丁:及时安装GoldenGate的补丁,修复已知的bug和安全问题
– 升级版本:根据业务需求和技术发展,及时升级GoldenGate的版本
### 实施结果
– 建立了完善的企业级GoldenGate版本管理体系
– 系统运行稳定,版本变更可追溯
– 版本部署自动化,减少了人为错误
– 系统的可靠性和可维护性得到提升
## 案例2:DevOps环境中的GoldenGate版本管理
### 背景
– 客户:某科技公司
– 系统:Oracle Database 19c,GoldenGate 19c
– 需求:在DevOps环境中实现GoldenGate的版本管理,提高开发和部署效率
### 实施步骤
1. 版本规划:
– 确定版本策略:采用敏捷开发模式,每周进行一次版本更新
– 制定版本计划:制定详细的版本更新计划,包括开发、测试和部署阶段
– 建立版本控制体系:使用Git进行GoldenGate配置文件的版本管理
2. 版本管理:
– 记录版本变更:使用Git记录GoldenGate的版本变更,包括配置文件的修改、参数的调整等
– 管理版本配置:使用Git管理GoldenGate的配置文件,确保配置的一致性和可追溯性
– 控制版本部署:使用Jenkins进行GoldenGate的版本部署,实现自动化部署
3. 版本测试:
– 测试新版本:在测试环境中测试新版本,验证其稳定性和兼容性
– 验证版本功能:验证新版本的功能是否正常
– 验证版本性能:验证新版本的性能是否满足要求
4. 版本部署:
– 部署新版本:使用Jenkins在生产环境中部署新版本
– 监控版本运行:使用Prometheus监控新版本的运行状态,确保稳定运行
– 处理版本问题:使用Alertmanager及时处理新版本运行过程中出现的问题
5. 版本维护:
– 定期检查版本:每周检查GoldenGate的版本,确保使用的是最新的稳定版本
– 安装补丁:及时安装GoldenGate的补丁,修复已知的bug和安全问题
– 升级版本:根据业务需求和技术发展,及时升级GoldenGate的版本
### 实施结果
– 在DevOps环境中实现了GoldenGate的版本管理
– 版本部署自动化,提高了开发和部署效率
– 系统运行稳定,版本变更可追溯
– 系统的可靠性和可维护性得到提升
Part05-风哥经验总结与分享
5.1 升级经验
根据实际经验,总结以下GoldenGate升级的经验:
- 充分准备:在升级前,要充分准备,包括备份配置、测试环境验证等。
- 选择合适的升级时间:选择业务低峰期进行升级,减少对业务的影响。
- 制定详细的升级计划:制定详细的升级计划,包括升级步骤、时间安排、风险评估等。
- 测试验证:在测试环境中进行充分的测试验证,确保升级方案的可行性。
- 预留回滚时间:预留足够的回滚时间,以防升级失败。
- 升级后验证:升级后,要进行充分的验证,确保系统的功能和性能正常。
- 监控系统:升级后,要加强系统监控,及时发现和解决问题。
- 文档更新:升级后,要及时更新相关文档,记录升级的过程和结果。
5.2 迁移经验
根据实际经验,总结以下GoldenGate迁移的经验:
- 充分评估:在迁移前,要充分评估迁移的风险和影响。
- 制定详细的迁移计划:制定详细的迁移计划,包括迁移步骤、时间安排、风险评估等。
- 测试验证:在测试环境中进行充分的测试验证,确保迁移方案的可行性。
- 选择合适的迁移策略:根据业务需求和系统特点,选择合适的迁移策略。
- 备份数据:在迁移前,要备份现有的数据和配置,以防迁移失败。
- 迁移后验证:迁移后,要进行充分的验证,确保系统的功能和性能正常。
- 监控系统:迁移后,要加强系统监控,及时发现和解决问题。
- 文档更新:迁移后,要及时更新相关文档,记录迁移的过程和结果。
5.3 风哥经验分享
在多年的GoldenGate升级迁移与版本管理经验中,我总结了以下几点心得:
1. 升级迁移要谨慎:升级和迁移是高风险操作,要谨慎对待,充分准备,确保万无一失。
2. 测试是关键:在升级或迁移前,一定要在测试环境中进行充分的测试,验证方案的可行性。
3. 备份不可少:在升级或迁移前,一定要备份现有的数据和配置,以防升级或迁移失败。
4. 版本管理很重要:建立完善的版本管理体系,确保版本的可追溯性和可维护性。
5. 监控要加强:升级或迁移后,要加强系统监控,及时发现和解决问题。
6. 文档要完整:记录升级或迁移的过程和结果,及时更新相关文档,便于后续的维护和升级。
7. 培训要跟上:对相关人员进行培训,提高他们的技能和意识,确保系统的稳定运行。
8. 持续优化:根据系统的运行情况,持续优化系统的配置和性能,提高系统的可靠性和效率。
更多学习教程公众号风哥教程itpux_com
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
