千家信息网

Oracle数据库升级或数据迁移的方法是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章给大家分享的是有关Oracle数据库升级或数据迁移的方法是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。这里论述了oracl
千家信息网最后更新 2026年11月02日Oracle数据库升级或数据迁移的方法是什么

本篇文章给大家分享的是有关Oracle数据库升级或数据迁移的方法是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

这里论述了oracle数据库升级的升级前的准备、升级过程和升级后的测试与调整工作,并对各种升级方法在多种操作系统平台上作了测试。

数据库升级的必要性

数据库升级是数据库管理员经常要面对的问题,如果你的应用要使用新版本数据库的

新特性;如果数据库运行负载过重,而通过软硬件调整又不能有根本性的改善;如果要更换操作系统平台;如果要增强数据库的安全性;还有一个原因是随着新版本数据库的出现与成熟,oracle停止了对旧版本数据库的技术支持,升级到高版本,可以继续获得oracle的支持,还可以利用新版本数据库的新特新,可以改善系统的性能,健壮性,可扩张性和可用性,等等,面对这些问题,需要通过数据库升级才得以解决。不过,如果你的系统运行稳定,没有大的性能瓶颈的话,还是不要轻易升级数据库,因为升级一个产品数据库会面临很多风险.

数据库升级或数据迁移情况分析

数据库升级或数据迁移会遇到多种情况,一般有以下几种情况:

1. 相同主机条件下,低版本数据库向高版本数据库的升级。

2. 数据库有了新的补丁级,需要安装新的补丁。

3. 更换了系统主机,如从windows更换为unix系统,数据库需要迁移。

4. 实现跨平台,跨数据库版本的迁移。

5. 32位数据库升级到64为数据库。

6. 标准版的数据库升级到企业版的数据库。

制定详细的数据库升级计划

数据库升级操作会面临巨大的风险,因此在数据库升级前制定详细而周密的升级和测试计划,反复验证与测试升级数据库的各个阶段非常必要,这样才能保证升级产品数据库的各个阶段可理解,可预测并能够成功。一般来说,数据库升级的测试计划应该包括以下几种测试类型:

1. 升级测试(Upgrade testing)

2. 最小化测试(Minimal testing)。

3. 功能测试(Functional testing)。

4. 集成测试(Integration testing)。

5. 性能测试(Performance testing)。

6. 容量与负载压力测试(Volume and load stress testing)。

7. 特定的升级前后的测试(Specific Pre-Upgrade and Post-Upgrade Tests)。

8. 制定升级前的备份方案。

9. 升级步骤的反复测试(test the upgrade process)。

10.升级后的数据库的测试(test the upgraded database)。

以上是数据库升级前需要考虑和测试的问题,具体可以参考oracle数据库提供的升级文档,在此对各种要求的测试过程不做详细讨论。

数据库升级准备:

1.升级数据库前首先要熟悉新数据库的各种新特性,如:表空间、段的管理、参数的变化,内存的管理,数据库回闪特性,存储的管理,sql优化的改进等。

2.确定升级到新版本数据库的升级路径,升级到10gr2的路径取决于当前数据库的发行号(release number),很有可能不能从当前的数据库版本升级到最新版本,这种情况首先升级到一个中间版本,然后再升级到最终的版本。例如:当前版本是oracle9.1.0.1,首先升级到oracle9.1.0.4,然后再从oracle9.1.0.4升级到oracle10gr2。

下表列出了各种版本升级到oracle10gr2的路径:

当前版本



升级路径



7.3.3 and lower



7.3.4



8.0.3



8.0.4



8.0.5



8.0.6



8.1.5



8.1.6



不支持直接升级,需要先升级到一个中间版本,然后再升级到oracle10g:





· 7.3.3 (or lower) -> 7.3.4 -> 8.1.7.4 -> 10.2



· 7.3.4 -> 8.1.7.4 -> 10.2



· 8.0.· 8.1.


8.1.7.4



9.0.1.4



9.2.0.4



10.1.0.2



可以直接升级到oracle10gr2




3.选择升级方法。

4.选择oracle home目录。

5.做好数据库备份。

数据库升级的各种方法讨论

实现数据库升级可以选择多种方法,一般有:数据库升级助手(database upgrade assistant),手工的脚本升级,exp/imp(exdmp/imdmp)工具,表空间传输特性(transportable tablespace),table copy,实体化视图(material ized view)等技术,在升级前,首先确定升级路径,根据具体情况选择合适的升级方法,对升级过程的各个阶段进行测试。本文以军卫一号医院信息系统为例,涉及的数据库版本主要有oracle8i,oracle9i,oracle10gr2,操作系统平台主要有windows2000,oracle unbreakable linux as 4等,主要实现oracle8i,oracle9i向oracle10gr2的升级过程,oracle8i,oracle9i运行在windows2000上,oracle10gr2主要运行在windows2000,oracle unbreakable linux as 4两种平台,我使用以上各种方法对各种升级过程都做了测试。以下详细介绍这些方法的升级过程。

1.手工脚本升级

手工脚本升级在命令行运行一些sql脚本和工具,手工升级对升级过程提供了更多的控制,但是如果没有遵循严格的升级步骤,在升级过程中容易出错,它与dbua一样只能在相同的操作系统平台间跨数据库版本升级,对于不同的os平台不能使用,而且升级需要遵循严格的升级路径。

本测试从oracle9.2.0.1升级到oracle10.2.0.3,由于oracle9.2.0.1不能直接升级到oracle10.2.0.3,首先对oracle9.2.0.1安装补丁(补丁号p3095277_9204_WINNT)升级到oracle9.2.0.4,然后oracle9.2.0.4再升级到oracle10.2.0.3。以下是升级的测试过程:

1.安装oracle 10g r2的软件。

2.打oracle 10g最新的补丁,我打的是升级到10.2.0.2(补丁号p4547817_10202_WINNT)和10.2.0.3(补丁号p5948242_10203_WINNT)的补丁,关于如何安装oracle补丁程序,需要认真阅读每个补丁程序提供的readme,按照readme的步骤进行安装。

3.运行Pre-Upgrade Information Tool.分析升级到10g前要做的一些操作,包括:

数据库版本、日志文件大小、表空间大小、服务器选项、初始化参数(新增的,降级的,废弃的)、数据库组件、sysaux表空间、集群信息等分析。升级前要解决该脚本生成的各种问题。

启动要升级的DB,用SYSDBA运行10g的ORACLE_HOME/rdbms/admin下的utlu102i.sql,查看产生的日志.

SQL> SPOOL info.log
SQL> @utlu102i.sql
SQL> SPOOL OFF

copy oracle 9i的pfile(D:oracleora92databaseINITzhangye.ORA)到oracle 10g的pfile(D:oracle10gdatabaseINITzhangye.ORA),检查info.log,对oracle 10g的pfile修改.

4.运行Oracle Net Configuration Assistant,生成10g的listener.ora

5.rman备份DB.

6.stop所有oracle 9i的服务.

删除oracle 9i的服务. C:> ORADIM -DELETE -SID test

新建oracle 10g的服务 C:> ORADIM -NEW -SID orcl -MAXUSERS 10 -STAMODE AUTO -PFILE D:oracle10gdatabaseINITzhangye.ORA

7.UPGRADE选项启动DB. SQL> STARTUP UPGRADE

8.创建SYSAUX表空间CREATE TABLESPACE sysaux DATAFILE 'D:oracleoradatazhangyesysaux01.dbf'
SIZE 500M REUSE
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
ONLINE;

9.运行10g的ORACLE_HOME/rdbms/admin/catupgrd.sql,然后运行utlu102s.sql查看升级结果.

SQL> SPOOL upgrade.log
SQL> @catupgrd.sql
SQL> @utlu102s.sql
SQL> SPOOL OFF

检查upgrade.log,如果有错误,处理错误后再次运行catupgrd.sql.

10.重新启动DB,编译无效对象.

SQL> shutdown immediate
SQL> startup pfile=D:oracle10gdatabaseINITzhangye.ORA
SQL> @D:oracle10gRDBMSADMINutlrp.sql

编译后没有无效对象,升级完成。

SQL> SELECT count(*) FROM dba_objects WHERE status='INVALID';

2.数据库升级助手dbua:

dbua是一个图形工具,它自动化了以上手工升级的所有过程,它自动完成如下工作:

1。运行Pre Upgrade Information Utility,对表空间,redo logs等自动的做一些调整。

2。检查以上就是Oracle数据库升级或数据迁移的方法是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

升级 数据 数据库 测试 版本 运行 补丁 过程 方法 系统 平台 空间 路径 情况 手工 脚本 操作系统 特性 问题 服务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天津市摩尔互联网科技 互联网科技工作委员会毛军 今日互联网科技 腾讯阿里互联网科技 互联网公司 科技公司 深圳科技互联网 互联网科技logo设计 金融科技和互联网金融 海南科技产业互联网平台 互联网科技研发水平 朱啸虎曾投资哪些互联网科技企业 互联网时代的科技公司 富国互联网金融科技混合基金 从那以后互联网科技有限公司 郑州欣桑互联网科技有限公司 信承诺互联网科技有限公司 福州德业互联网科技 全球科技与互联网公司市值变化 西安左小互联网科技有限公司 株洲百竞科技的互联网营销顾问 广东万易互联网科技有限公司惠州分公司 互联网科技资迅 银优互联网科技有限公司 语蝶互联网科技有限公司 伍佰万互联网科技怎么赚钱 江苏苏星互联网科技有限公司 21世纪互联网科技成就 半导体是互联网高科技吗 承德科技产业互联网平台 银川新华互联网科技学校招聘
0