进行oracle数据库版本升级的时候会有2种方式
1.通过dbua(database upgrade assistant)
2.exp/imp
通过dbua来升级的话由于不涉及到数据文件的改变,所以速度会比较快,但是如果dbua一旦在升级的过程中出现问题可能会导致原来的库不可用。
而通过exp/imp虽然对原来的库不会有影响,但是如果数据库比较大的话那么升级的时间将会是不可接受的(尤其对24*7)的应用来说。
针对这个问题,可以利用dataguard和transport tablespace功能来实现最短时间内的安全升级。
具体的实现方法是这样的
1.先为主库建立一个dataguard数据库(可以在线做)
2.在dataguard库上安装10g软件(可以在线做)
3.整理一些不能通过transport tablespace搞定的东西,比如sequence,synonyms,grants......
4.停止主库这边所有write的应用,提供read的服务(写入停止,提供查询)
5.强制归档主库redo log并传到dataguard恢复(写入停止,提供查询)
6.利用transport tablespace来转换数据库版本,并创建sequencee,synonyms,grants等(写入停止,提供查询)。
7.验证新环境的过程,在验证过程中如果发现有问题,则可以切换会原来的系统(写入停止,提供查询)。
8.切换应用到10g数据库(提供服务)
我们再从技术上验证一下transport tablespace可以运用在版本升级
在9i的库上创建一个test tablespace
create tablespace test
datafile '/opt/oracle/test.dbf' size 10m
extent management local autoallocate;
创建一张表在test表空间上
create table test1(a number) tablespace test;
insert into test1 values(1);
commit;
SQL 9i>select * from test1;
A
----------
1
把test表空间置为read only模式
alter tablespace test read only;
到处test tablespace的metadata
exp /'sys/sys as sysdba/' transport_tablespace=y tablespaces=(TEST) file=test.dmp log=test.log
传输dmp文件和数据文件(在amadeus的案例里面由于10g的库和9i的库在同一台机器上,所以避免了拷贝数据文件的时间,这也是整个方案的重点之一)到远程
scp test.dmp oracle@10.0.100.115:/opt/oracle/
scp /opt/oracle/test.dbf oracle@10.0.100.115:/opt/oracle/
在目标库上导入metadata数据
imp /'sys/sys as sysdba/' transport_tablespace=y tablespaces=(TEST) file='/opt/oracle/test.dmp' datafiles=
('/opt/oracle/test.dbf') tts_owners=test fromuser=test touser=test log=tts_i.log
查看test1表,发现数据一致
SQL 10G>select * from test1;
A
----------
1
把test表空间置为read write模式
alter tablespace test read write;
insert into test1 values(2);
SQL 10G>select * from test1;
A
----------
1
2
一切正常,测试完毕
这个测试简单的模仿了transport tablespace升级数据库的可能性,当然在实际过程中我们要校验是否自包含表空间,是否需要创建sequence等,但是总体来说这种方案能提供最短时间内的数据库版本升级。
相关推荐
### Oracle 9i 升级至 10g 的详细步骤及注意事项 #### 背景与目标 本文档详细阐述了从Oracle 9i升级到Oracle 10g的过程,特别聚焦于在HPUX操作系统下的升级流程。此次升级的目的在于迁移现有的Oracle 9.2.0.1...
随着Oracle 10g的发布,ODBC驱动也进行了相应的升级,以适应新版本的特性。10g带来了Real Application Clusters (RAC)、Automatic Storage Management (ASM)、Data Guard等高级功能,增强了数据库的可用性和可扩展性...
### Oracle 9i 全备份导入到 11g 的处理方法 #### 一、问题背景 当将Oracle 9i的数据全备份导入到Oracle 11g版本时,经常会遇到由于`db_block_size`参数不一致导致的导入失败问题。这种情况下,如果直接进行导入...
### Oracle 9i/10g 数据库管理详细知识点 #### 一、Oracle 9i/10g 概述 - **Oracle 9i** 和 **Oracle 10g** 是Oracle公司推出的两个重要的数据库管理系统版本。这些版本在企业级数据库管理领域具有重要意义。 - *...
1、本软件可作为简单的Oracle9i客户端使用,如用户对Oracle有更高的使用要求,请正式安装Oracle客户端或服务器。 2、本软件安装后,可使用自带的SQL Plus连接Oracle服务器,支持EXP、IMP命令。用户可以配合PLSQL ...
### Oracle 10g 数据导入到 Oracle 9i 解决方案 #### 背景介绍 在进行数据库迁移时,可能会遇到将Oracle 10g中的数据迁移到Oracle 9i的情况。由于Oracle 9i与Oracle 10g之间存在版本差异,这可能涉及到一些兼容性...
- [ship_9204_linux_disk1.cpio.gz](http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz) - [ship_9204_linux_disk2.cpio.gz]...
Oracle 9i、10g、11g通用JDBC驱动包是Oracle公司为Java开发者提供的数据库连接驱动,使得Java应用程序能够与Oracle数据库进行交互。这些驱动程序遵循Java Database Connectivity (JDBC) API规范,是Java平台上的标准...
Oracle9i客户端精简版。 Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版
在“oracle9i310.msi”这个文件中,包含了Oracle 9i客户端的安装程序,用户只需运行此文件即可开始安装。 4. **使用说明.htm**:这个文件提供了关于如何使用客户端的指导,可能包括安装步骤、连接配置、基本操作等...
由于其资源占用较小,因此特别适合这些环境下使用,同时也能连接到更高版本的Oracle数据库,如10g和11g。 Oracle 9i客户端主要包含以下组件和功能: 1. **Oracle Net Services**:这是客户端与服务器通信的核心...
Windows Server 2003 Oracle9i 安装指南 Windows Server 2003 是微软公司推出的服务器操作系统,而 Oracle9i 是 Oracle 公司推出的关系数据库管理系统。本文档将指导读者在 Windows Server 2003 上安装 Oracle9i ...
Oracle 9i 物理结构是数据库管理系统的核心组成部分,它决定了数据如何在磁盘上存储、管理和访问。Oracle 9i 物理结构主要由以下几个关键组件构成: 1. **数据文件 (Data Files)**: 扩展名为 .DBF 的数据文件是...
本压缩包"oracle9i10g编程艺术.rar"显然是一份关于Oracle数据库编程与实践的资源集合,旨在帮助学习者深入理解和掌握Oracle数据库技术。 首先,Oracle 9i是Oracle数据库的第九个主要版本,引入了诸多新特性,如自动...
百度云盘下载地址https://pan.baidu.com/s/1iU5zzuVbm2-uJtzQGr98zw windows下安装Oracle9i
《Oracle9i教程详解》 Oracle9i是Oracle公司推出的一款强大的关系数据库管理系统,它以其高效、稳定和灵活的特点在企业级应用中占据重要地位。本教程将深入探讨Oracle9i的核心概念和技术,帮助读者全面了解和掌握这...
本压缩包“oracle9i客户端精简免安装.rar”是专为Windows操作系统设计的Oracle9i客户端版本,旨在简化Oracle数据库的管理和操作,让用户无需进行复杂的安装过程即可快速使用。 Oracle9i客户端主要包括以下几个关键...
Oracle 9i是一款由甲骨文公司推出的数据库管理系统,它在2001年发布,是Oracle数据库的一个重要版本。这个参考手册包含了关于Oracle 9i的全面信息,旨在帮助用户理解和操作该系统。Oracle 9i在设计时强调了性能优化...
weblogic 8.1 + oracle 9i平台升级教程1.doc
oracle9i下载地址, 分三个IOS文件, 加压即可安装.