Informi数据库升级指南

上传人:枫** 文档编号:396424156 上传时间:2022-07-19 格式:DOCX 页数:10 大小:141.99KB
返回 下载 相关 举报
Informi数据库升级指南_第1页
第1页 / 共10页
Informi数据库升级指南_第2页
第2页 / 共10页
Informi数据库升级指南_第3页
第3页 / 共10页
Informi数据库升级指南_第4页
第4页 / 共10页
Informi数据库升级指南_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《Informi数据库升级指南》由会员分享,可在线阅读,更多相关《Informi数据库升级指南(10页珍藏版)》请在金锄头文库上搜索。

1、Informix 数据库升级指南谢烨, 软件工程师, IBM孙国荣, 软件工程师, IBM谭永贻, 高级技术经理, IBM简介: Informix 数据库升级是 Informix 治理员的一项重要且具有挑战性的工作。本文主要介绍 Informix 数据库升级前的预备工作、升级的操作过程、升级后的调优工作、升级的留意事项,使读者对 Informix 数据库升级有较为全面的理解。引言Informix 11 与之前版本的 Informix 相比,增了很多特性,如 SQL 语句跟踪、非阻断的检查点、SDS 辅节点、星型连接、自动存储扩展、图形界面的治理工具 OAT 等,并且在性能上有了很大的提升。另外

2、,由于 Informix 版本 7、9、10 已进入 EOS (End Of S upport) 状态,所以很多 Informix 用户纷纷选择将 Informix 升级到版本 11。回页首Informix 数据库升级简介Informix 数据库升级是指把使用的 Informix 数据库从低版本转化为高版本。对 Informix 数据库进展升级是一项系统工程,包括升级前的测试、升级前的检查、升级操作过程、升级后的测试、升级后的调优等。Informix 数据库升级有两种类型:in-place 和 non-in-place。In-place 升级中,版本的Informix 使用的数据文件与旧版本的

3、 Informix 一样,数据库治理员无需导出导入数据。No n-in-place 升级中,版本的 Informix 使用的数据文件与旧版本的 Informix 不同,数据库治理员需要导出导入数据。In-place 升级比较简洁,升级操作时间短。non-in-place 升级比较简单,升级操作时间长, 所需的硬件资源多,风险较小。在一些状况下我们只能使用 non-in-place 升级,例如转变了硬件或操作系统。两种类型的 Informix 数据库升级的示意图如图 1 所示。图 1. 两种类型的 Informix 数据库升级的示意图回页首Informix 数据库升级的测试打算升级前后每个数据库

4、的 schema在升级前和升级后,我们需要对 Informix 数据库进展测试,然后比较升级前的测试结果和升级后的测试结果,以确保现有的数据库应用程序在版本数据库上运行的结果与在旧版本 数据库上运行的结果一样,在版本数据库上运行的性能好于在旧版本数据库上运行的性能。于是,我们必需预先制定周密的测试打算。测试打算中应收集的信息主要包括以下这些方面:升级前后磁盘空间的安排状况,如 dbspace、chunk、extent 等的状况我们可以使用 dbschema 命令得到升级前后每个数据库的 schema,并比较它们。我们需要验证升级前后数据库的 schema 没有被转变。升级前后每个数据表的行数可

5、使用 onstat -d 查看 dbspace 和 chunk 的状况。可使用 oncheck -pe 查看 extent 的状况。我们需要验证升级前后数据表的行数是一样的。可使用如下的 SQL 语句:select count(*) from ;升级前后一些列的总和或平均值可使用如下的 SQL 语句:select sum( ) from ; select avg( ) from ;升级前后一些 SQL 语句的结果我们可以选择出一些较简单比方涉及到多表查询的 SQL 语句,然后在升级前后运行这些 SQL 语句。我们需要验证升级前后这些 SQL 语句的运行结果是一样的。升级前后一些重要 SQL 语

6、句的查询打算 (query plan) 和运行时间在某一个 session 中运行如下 SQL 语句后,Informix 将把该 session 中后续的 SQL 语句的查询打算记录在 sqexplain.out 文件中。SET EXPLAIN ON;可使用如下方式得到 SQL 语句的运行时间:1. 将 SQL 语句写在一个后缀名为 sql 的文件中,例如 my.sql2. 在 shell 上运行如下命令:time dbaccess 例如 : time dbaccess crmdb my.sql升级前后数据库不包括应用程序关于典型事务的吞吐量在 dbaccess 中使用存储过程产生大量典型事务

7、,测试数据库不包括应用程序在单位时间内最多能处理多少典型事务。升级前后业务系统包括数据库和应用程序关于典型业务的吞吐量测试业务系统在单位时间内最多能处理多少典型业务。升级前后正常负载下系统资源CPU、内存、硬盘等的使用状况可使用 onstat、iostat 等命令。升级前后较大负载下系统资源CPU、内存、硬盘等的使用状况可使用 onstat、iostat 等命令。在对生产系统进展升级前,我们应在模拟系统中对“Informix 数据库升级”进展演练。在对模拟系统、生产系统进展升级的前后,我们都应执行测试打算。回页首在对生产系统进展升级前,我们还应在模拟系统中对“数据库升级失败时的应对方案”进展演

8、练。假设在“数据库升级失败时的应对方案”中使用“onmode -b”的数据库回退方案, 那么我们还需制定“验证数据库回退的正确性”的测试打算并在模拟系统中执行。Informix 数据库升级前的检查检查是否有足够的用于升级的磁盘空间假设是 non-in-place 升级,一般应使的存储空间比旧的存储空间大 10% 以上。假设是 in-place 升级,应确保: Root Chunk (Chunk 0) 至少要有 10% 的空间是可用的。 足够的规律日志空间以重建 sysmaster、sysadmin、sysutils 数据库。 Partition header s 必需有一些可用空间。( 这些可

9、用空间供 Informix 11 中的某些描述符或特性使用。) 假设一个 dbspace 上有 n 个 database,则这个 dbspace 还需要 (n * 2000) K B 的可用空间。可用下面的 SQL 语句计算每个数据库空间 (dbspace) 需要多少空间。(free_spac e_req 的单位是 KB。)DATABASE sysmaster; SELECT partdbsnum(partnum) dbspace_num, trunc(count(*) * 2000) free_space_req FROM sysdatabases GROUP BY 1 ORDER BY 1

10、;可用下面的 SQL 语句计算每个数据库空间 (dbspace) 还有多少可用空间。(free_space_avail 的单位是 。)DATABASE sysmaster; SELECT dbsnum dbspace_num, sum(nfree) free_space_availFROM syschunks GROUP BY 1 ORDER BY 1;检查是否有数据表的 extent 数目大于 200为了使升级更顺当的进展,假设一个数据表的 extent 数目大于 200,那么我们最好重建该数据表。在重建时为该数据表选择更大的 extent size,从而使该数据表的 extent 数目小于

11、 200。可用下面的 SQL 语句查找 extent 数目大于 200 的数据表:DATABASE sysmaster; SELECT dbsname, tabname, nextns FROM systabnames t, sysptnhdr p WHERE t.partnum = p.partnum AND p.nextns 200 ORDER BY 3 DE SC;检查增关键字在对数据库进展升级前,治理员应先检查数据库的 schema 中和数据库应用程序的 SQL 语句中是否含有版本数据库中增的关键词 (keyword)。例如要将 Informix 9.40 数据库升级到 Informi

12、x 11.50,治理员应先检查 Informix 9.40 数据库中是否含有 Informix 10.0 0、Informix 11.00、Informix 11.50 数据库中增的关键词。假设含有的话,应先将 Infor mix 9.40 数据库中的这些“增关键词”进展修改,直到 Informix 9.40 数据库中不含有这些“增关键词”。“增关键词”的列表请参阅 Informix Migration Guide。检查是否有“outstanding in-place table alters”检查数据库中是否有“outstanding in-place table alters”,假设有则需

13、要先消退“outstandin g in-place table alters”。具体过程请参见“Download”中的“检查和消退 OutstandingInPl aceTableAlters.doc”Informix 数据库升级操作过程Informix 数据库升级有两种类型:in-place 和 non-in-place。下面将分别介绍这两种类型升级的具体操作过程。in-place 升级操作过程in-place 升级操作过程主要包括:1. 安装配置版本 Informix 数据库效劳器2. 检查旧版本 Informix 数据库的正确性3. 备份旧版本 Informix 数据库4. 对 Inf

14、ormix 数据库里的数据构造等进展转换5. 检查版本 Informix 数据库的正确性下面通过一个 in-place 升级操作过程的例如使读者对 in-place 升级操作过程有更好的把握。在这个例如中,我们将 Informix 数据库从版本 9.40 升级到版本 11.50。1.将 Informix 9.40 数据库效劳器的各个配置文件如 onconfig、sqlhosts 等拷贝到备份文件夹。假设初始时 Informix 9.40 数据库效劳器的一些配置如下:操作系统的环境变量 INFORMIXSERVER 为 bankserver 操作系统的环境变量INFORMIXDIR 为 /opt

15、/informix940 onconfig.bank 文件里的三个参数:SERVERNUM 33 DBSERVERNAME bankserver DBSERVERALIASES bankserverdr,bankservershmsqlhosts.bank 文件: bankserver onsoctcp localhost 6784 bankserverdr drsoctcp localhost 6785 bankservershm onipcshm localhost 67862.3. 安装 Informix 11.50 数据库效劳器。4. 配置 Informix 11.50 数据库效劳器。治理员可参考 Informix 9.40 数据库效劳器的配置参数,来对 Informix11.50 数据库效劳器进展配置。特别要留意的是:假设一些配置参数是文件路径,由于 Informix

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号