- 浏览: 519062 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
u011165335:
distinct不影响使用半连接
(转)关于semi-join/anti-join的一点探讨 -
353790060:
redo 记录事务执行后的日志 undo 记录事务回滚的日志 ...
Oracle redo与undo浅析 -
jayxigua:
redo用于在失败时重放事务(即恢复事务),undo则用于取消 ...
Oracle redo与undo浅析 -
aa_qq110:
Openbravo有中文包吗
Openbravo开发手册 -
iocaop:
不错,写的很清晰易懂
JAVA 服务提供者框架介绍
Oracle数据库作为目前市场的主流数据库之一,许多应用都在其上进行开发,由于Oracle数据库更新换代的原因和不同的应用程序提供商,可能会造成在一个单位的应用中存在Oracle的几种版本,如Oracle 7、Oracle 8、Oracle 8i,甚至Oracle 9i.。而考虑到数据库集中、维护、备份的方便性和避免设备的重复投资,在应用能兼容的情况下,将几个版本的Oracle数据库移植到一个主流版本上是数据库管理员的一个较优的选择。
这就存在从Oracle数据库的低版本移植到高版本和从Oracle数据库的高版本移植到低版本的问题,甚至包括系统平台的迁移如从Windows NT系统迁移到Unix系统。利用Oracle导入/导出工具(Export/Import)能比较方便实现上述移植操作。
Oracle导入/导出工具(Export/Import)主要是用来对数据库进行逻辑备份,利用Export导出数据库的转储二进制文件作为数据库Import输入从而达到移植的目的。有二个规则可以参考:
规则一:从Oracle 低版本的Export数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 7 到 Oracle 8。对于两个不相邻版本间进行转换,如从Oracle 6 到 Oracle 8,则应先将数据输入到中间版本—Oracle 7,再从中间数据库转入更高版本。
规则二:Oracle的Export/Import工具只能连接到拥有更高或者一样的Export/Import版本的数据库。如Oracle 8.0.5的Export/Import(版本8.0.5.0.0)可连接到Oracle 8.1.6数据库(版本8.1.6.0.0);高版本的Export导出来的转储文件,低版本的Import读不了;低版本的Export导出来的转储文件,高版本的Import可以进行读取。
利用上面两个规则,下面就本人在为一单位用Oracle的导入/导出工具(Export/Import)进行此种移植碰到的问题,提出来与大家分享,希望能起到抛砖引玉的作用。
此单位拥有Oracle数据库版本有Oracle 8.1.6 For NT、Oracle 8.0.5 For NT、Oracle 8.0.4 For Digital Unix、Oracle 7.3 For NT。
考虑到Oracle 8.0.4 For Digital Unix运行在小型机上、单位的备份系统也是针对此小型机,决定将Oracle 8.1.6 For NT、Oracle 8.0.5 For NT、Oracle 7.3 For NT的数据库都移植到Oracle 8.0.4 For Digital Unix上。
1、Oracle 8.0.5 For NT移植
因版本相差甚小,开始直接用Oracle8.0.5的exp80导出数据库的转储文件,然后用FTP(binary传输模式)直接上传至Oracle 8.0.4 所在的小型机,再用Oracle 8.0.4的imp导入一直有字符集的问题,即存有汉字的字段显示的都是”??????”, 移植失败。后发现,在Oracle8.0.5服务器上直接用Oracle8.0.5的imp80对exp80导出的转储文件进行远程导入,字符集的问题解决,移植成功。
对于使用Oracle 8.0.4 For Digital Unix的用户,提醒一句,最好不要用Oracle 8.0.4 For Digital Unix的exp、imp工具做备份,而应用此版本的Windows客户端程序exp80、imp80。本人曾做过实验:在Oracle 8.0.4 for Digital UNIN数据库上新建一用户(user)和一个表格(table)通过sql plus客户端在表格的列中插入一些中文行,提交后,用exp 数据导出,再用imp数据导入,用sql plus客户端查看,表中的中文值显示为”???”)。
2、Oracle 7.3 移植
直接用Oracle7.3的export导出数据库的转储文件,拷至Oracle8.0.5服务器,然后用Oracle8.0.5服务器的imp80直接导入至Oracle 8.0.5数据库。此移植就变成了Oracle 8.0.5 For NT移植至Oracle 8.0.4 For Digital Unix的移植。
3、Oracle 8.1.6 For NT移植
初步设想也通过Oracle 8.0.5进行过度。因其版本比Oracle 8.0.5高、下面对参考的规则进行一些校验。
3.1高版本的Export导出来的转储文件,低版本的Import读不了
在Oracle 8.1.6数据库服务器导出转储二进制文件:ora816.dmp。
在Oracle 8.0.5数据库服务器上用Imp80进行导入。
D:>Imp80 house/password file=d:\ ora816.dmp log=d:\ora816.log full=y
/*日志显示*/
已连接到:Oracle8 Release 8.0.5.0.0 – Production
PL/SQL Release 8.0.5.0.0 – Production
IMP-00010: 不是有效的导出文件,标题检验失败
IMP-00021: 操作系统错误 - 错误代码(十进制2,十六进制0x2)
IMP-00000: 未成功终止导入
3.2 Oracle的Export/Import工具只能连接到拥有更高或者一样的Export/Import版本的数据库
a)Oracle 8.1.6远程数据导入
在Oracle 8.1.6数据库服务器导出转储二进制文件:ora816.dmp。
在Oracle 8.1.6数据库服务器向Oracle8.0.5数据库进行数据远程导入
D:>Imp house/password@orclfrom816to805 file=d:\ ora816.dmp log=d:\ora816.log full=y
(orclfrom816to805为数据库连接字符串由Oracle8.1.6数据库指向 Oracle8.0.5数据库)
/*日志显示*/
连接到: Oracle8 Release 8.0.5.0.0 – Production
PL/SQL Release 8.0.5.0.0 – Production
……
经由常规路径导出由EXPORT:V08.01.06创建的文件
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
IMP-00003: ORACLE 错误2248出现
ORA-02248: 无效的 ALTER SESSION 选项
IMP-00000: 未成功终止导入
b)在Oracle 8.0.5数据库服务器上用exp80对Oracle 8.1.6数据库进行远程导出。
D:>exp80 house/password@orclfrom805to816 file=d:\ora816.dmp log=d:\ora816.log
(orclfromfrom805to816为数据库连接字符串由Oracle8.0.5数据库指向Oracle8.1.6数据库)
/*日志显示*/
连接到:Oracle8i Enterprise Edition Release 8.1.6.0.0 – Production
With the Partitioning option
JServer Release 8.1.6.0.0 – Production
已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集
即将导出指定的用户...
……
在没有警告的情况下成功终止导出。
再对远程导出的转储文件在Oracle 8.0.5数据库服务器上用imp80导入。
D:>imp80 house/password file=d:\ora816.dmp full=y log=d:\ora816 _i.log
显示成功导入
此刻此移植就变成了Oracle 8.0.5 For NT移植至Oracle 8.0.4 For Digital Unix的移植。
利用Oracle的Oracle导入/导出工具(Export/Import)除了可进行数据库逻辑备份、数据库移植还可以用来提高数据库的性能,对数据库进行一次导入/导出操作能重新组织数据,消除数据库的碎片,从而使数据库的性能有较大的提高。
发表评论
-
Oracle事务原理探究2--读书笔记五
2015-01-05 13:46 1704续上篇... 3. 数据块访问与undo ... -
Oracle事务原理探究1--oracle核心技术读书笔记五
2014-12-29 21:18 20281. 冲突解决 假如有一个系统只有你和我两个 ... -
oracle undo 复杂度--oracle核心技术读书笔记四
2014-10-01 14:23 1288一. 概述 undo ... -
Oracle redo 复杂度--oracle核心技术读书笔记三
2014-09-29 22:13 1190一. 概述 我 ... -
(转)undo系列学习之Oracle IMU及Redo Private Strands技术
2014-09-27 23:09 1169原博客地址: http://blo ... -
oracle如何保证事务的ACID原则--oracle核心技术读书笔记二
2014-09-21 11:18 1785在事务中有四个通用的原则是所有数据库都必须遵守的,简称ACI ... -
Oracle基本数据改变原理浅析(redo与undo)--oracle核心技术读书笔记一
2014-09-14 17:00 4845在oracle中我们做一些更新操作,oracle底层是怎么流 ... -
(转)Oracle中Hint深入理解
2014-01-07 19:48 1217原文出处:http://czmmiao.iteye.com/ ... -
Oracle全表扫描成本示例
2013-12-29 22:51 0一. 准备工作 1. block size 8KB( ... -
(转)Oracle查看trace文件步骤
2013-12-10 09:54 5448原文地址: http://www.2cto.com/data ... -
【转】CBO hint:no_unnest,push_subq,push_pred的用法
2013-12-02 20:11 1266原博客地址:http://blog.itpub.net/15 ... -
index_stats视图各列的含义
2013-12-02 19:10 1403index_stats视图来收集B树 ... -
(转)Oracle 调整SGA、PGA大小
2013-10-31 13:25 31219SQL> show parameter sga; ... -
(转)Oracle cursor_sharing 参数 详解
2013-08-25 23:04 1992原博客地址:http://blog.csdn.net/tia ... -
(转)shared pool 原理
2013-08-18 22:58 1490原博客地址:http://blog.csdn.net/ro ... -
(转)Oracle 游标(cursor)说明
2013-08-15 20:17 1493原博客地址:http://blog.csdn.net/ti ... -
(转)关于semi-join/anti-join的一点探讨
2013-08-14 21:20 11010原博客地址:http://space.itpub.net ... -
oracle 索引访问方式
2013-07-29 23:02 1467一. 概述 index uni ... -
(转)Oracle动态性能视图学习笔记(2)_v$sesstat_v$mystat_v$statname
2013-07-29 21:41 1215原博客地址:http://space.itpub.net/1 ... -
(转)Oracle性能优化 之 共享池
2013-07-29 21:04 1268转载作品,原始出去如下: http://blog.ch ...
相关推荐
### 使用Oracle导入导出工具实现Oracle数据库移植 在IT领域,特别是对于数据库管理与维护方面,Oracle数据库因其高性能、稳定性及强大的功能集而备受青睐。本文将深入探讨如何利用Oracle的导入导出工具来实现数据库...
Oracle数据库的备份与恢复工具主要包括Export和Import,它们主要用于逻辑备份和恢复,通过将数据库内容导出为二进制文件,然后在另一个环境中导入,实现数据的移植。 首先,文章指出,利用Export/Import工具可以将...
Oracle数据库导入导出是数据库管理员经常使用的工具之一,它主要用于备份数据库、迁移数据或在不同环境中复制数据库结构与数据。通过导入导出操作,可以方便地管理数据库,确保数据的安全性和可移植性。 #### 二、...
总结来说,数据的导入导出工具是数据库管理的重要辅助,它们使得在各种数据格式和数据库系统间的迁移变得可能,提高了数据的灵活性和可移植性。无论是简单的数据转换还是复杂的跨平台迁移,这些工具都能有效地处理,...
可以实现数据库的移植,异构数据库之间同步。完成表的创建(含字段的约束:默认值,是否为空,和的主键),数据的导入,导出。转换速度快,有完整的转换日志,有那个数据无法转换,可以精确定位。有其他特殊需要和...
Oracle的exp和imp命令是Oracle Data Pump的一部分,它们用于将数据库对象(如表、索引、存储过程等)从一个数据库导出到一个可移植的文件,然后在需要时将这些对象导入到另一个数据库。然而,手动执行这些操作不仅...
Oracle提供了导入/导出工具(Export/Import)来实现这种移植操作。这些工具主要用于对数据库进行逻辑备份,通过Export导出数据库的转储二进制文件,然后利用Import将这些文件输入到目标数据库,从而达到移植的目的。...
本文将详细介绍如何进行Oracle数据库的备份与移植,包括创建表空间、用户权限分配以及数据导出导入等关键步骤。 #### 二、创建表空间 在进行Oracle数据库移植之前,首先需要创建新的表空间来存放数据。以下是一段...
可以实现数据库的移植,异构数据库之间同步。完成表的创建(含字段的约束:默认值,是否为空,和的主键),数据的导入,导出。转换速度快,有完整的转换日志,有那个数据无法转换,可以精确定位。有其他特殊需要和...
《基于Oracle导入导出XML技术研究》这篇文章探讨了如何在Oracle数据库系统中利用XML技术进行数据的导入与导出,以提高异构环境下的信息共享和数据交换效率。文章由华东交通大学的魏建红、万仲保和詹国华共同撰写,...
这通常通过数据导出和导入工具完成,将SQL Server 2008中的数据搬到Oracle 11g中。 10. **类型长度问题**:当移植过程中遇到“类型长度过长”的问题,可能是由于Oracle对`NVARCHAR2`类型的限制(通常为2000个字符)...
巧用策略实现 Oracle 数据库的迁移 本文主要介绍了 Oracle 数据库迁移的基本知识和步骤,以及两种常用的数据库迁移方法:导入/导出工具和 SQL*Loader 工具。 首先,Oracle 数据库迁移可以从一个版本迁移到另一个...
"Oracle数据库导出"是指在Oracle环境中,将数据库中的数据、表结构、用户权限等信息导出到一个可移植的文件中,以便备份或在其他系统中导入。这个过程通常涉及到Oracle的数据泵工具(Data Pump),它提供了高效的...
可以实现数据库的移植,异构数据库之间同步。完成表的创建(含字段的约束:默认值,是否为空,和的主键),数据的导入,导出。转换速度快,有完整的转换日志,有那个数据无法转换,可以精确定位。有其他特殊需要和...
总之,Oracle的导入导出功能是数据库管理中不可或缺的工具,掌握exp和imp的使用方法对于任何Oracle DBA来说都至关重要。通过深入理解这些命令,你可以更有效地管理和维护你的数据库,确保数据的安全性和可移植性。这...
综上所述,从SQL Server 2005移植到Oracle数据库涉及的主要知识点包括Oracle的运行环境配置、数据导入工具的选择与使用、跨数据库的数据迁移策略以及不同操作系统环境下的差异。在实际操作中,还需要考虑数据的完整...
数据库导入导出工具(DTS)是针对数据库管理和迁移的一款实用软件,主要功能在于帮助用户高效、安全地将数据从一个数据库系统迁移到另一个。在本案例中,DTS已经实现了对MySQL数据库的支持,允许用户通过属性文件...
6. **使用impdp导入实用程序导入元数据**:在目标数据库中使用数据泵导入工具导入先前导出的元数据,完成表空间的完整移植。 #### 四、示例解析 假设我们需要将一个名为`TRANTBS`的表空间从Windows上的Oracle...
Oracle数据库移植不仅仅是简单的数据导出和导入,而是涉及到一系列复杂的操作,包括硬件和软件环境的适配、数据库结构的迁移、数据完整性保护以及应用程序兼容性等多个方面。 移植过程中遵循的原则是尽量保持原有的...
数据库迁移可以使用多种工具,例如 expdp 和 impdp 命令、Oracle GoldenGate 等。这些工具可以帮助我们快速地进行数据库迁移。 知识点9: 数据库迁移的策略 数据库迁移可以采取不同的策略,例如在线迁移、离线迁移...