问题描述:如何将oracle 10g中的数据库对象迁移到9i中.这个10g和9i的服务器分别搭建在局域网的两个机器上,可以相互访问.
问题分析:在网上查了一些资料,表明要想将10g导出的dmp文件导入到9i中,是不可实现的.只能实现9i往10g中导.如果想要把10g中的数据导入到9i中,可以先到9i那台服务器上配置一个tnsnames.ora串,用于访问10g数据库,之后在9i服务器中用9i客户端提供的exp命令实现导出,再用imp命令实现导入.
10g导出的dmp往9i中导入,可能会报以下错误.
在安装有9i客户端执行导入命令时会报:
Import started on 2013-3-13 14:17:13 E:\oracle\ora92\bin\IMP.EXE log=C:\DOCUME~1\wangzh\LOCALS~1\Temp\plsimp.log file=D:\yusj\dqjz\dqjz20130308.dmp userid=dqjz/dqjz@ORCL buffer=30720 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes 连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production IMP-00010: 不是有效的导出文件,标题验证失败 IMP-00000: 未成功终止导入 Import finished on 2013-3-13 14:17:13
在安装有10g客户端执行导入命令时会报:
Import started on 2013-3-13 上午 11:13:02 D:\oracle\product\10.2.0\db_1\bin\imp.exe log=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\plsimp.log file=C:\dqjz20130308.dmp userid=dqjz/dqjz@ORCL_232 buffer=30720 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes IMP-00058: 遇到 ORACLE 错误 6550 ORA-06550: 第 1 行, 第 33 列: PLS-00302: 必须说明 'SET_NO_OUTLINES' 组件 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored IMP-00000: 未成功终止导入 Import finished on 2013-3-13 上午 11:13:03
问题解决:
1. 在安装有9i客户端的机器中配置tnsnames.ora,保证可以正常连接到10g数据库.
2. 在安装有9i客户端的机器中执行exp命令导出dmp文件之前,需要解决一个问题,那就是对BLOB的支持,如果要导出的表中含有BLOB字段,那么在执行exp命令的时候会报EXP-00003错误,解决方法如下:需要先连接到10数据库,用sys用户登录,找到exu9tne视图(view),备份出来.再把执行下面SQL语句:
CREATE OR REPLACE VIEW SYS.EXU9TNE (tsno, fileno, blockno, length) AS SELECT ts#, segfile#, segblock#, length FROM sys.uet$ WHERE ext# = 1 UNION ALL SELECT "TSNO","FILENO","BLOCKNO","LENGTH" FROM SYS.EXU9TNEB;
注意,在导出完数据之后,一个要把这个view恢复到初始值.
我本地的初始值为:
CREATE OR REPLACE VIEW SYS.EXU9TNE (tsno, fileno, blockno, length) AS SELECT ts#, segfile#, segblock#, length FROM sys.uet$ WHERE ext# = 1;
3. 在安装有9i客户端的机器中执行imp命令,完成导入操作(注意在导入之前一定要先建立相应的表空间,用户等).
相关推荐
由于上传限制,这是我之前资源“Oracle 9i教程”的随书所带的资源,包括相关sql语句,图表以及工具。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于 在oracle 9i 中 安装目录ora92BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
目录回到顶部↑第1章 开发成功的Oracle应用 1 1.1 我的方法 2 1.2 黑盒方法 4 1.3 开发数据库应用的正确(和不正确)方法 8 1.3.1 了解Oracle体系结构 8 1.3.2 理解并发控制 14 1.3.3 多版本 19 1.3.4 数据库...
oracle数据灾难恢复工具。支持oracle 9i,10g,11g版本。支持dmp文件恢复。
随着数据库版本的变化,DUL工具也在逐渐升级之中,对应Oracle8 / Oracle8i / Oracle9i / Oracle10g都有其相应版本。 作为DBA们首先应该知道DBA第一守则:备份重于一切。首先应该把备份作为数据恢复的第一手段。 ...
支持的Oracle数据库版本包括8i,9i,10g,11g 自动检测数据文件的表空间号和文件号 在有SYSTEM表空间的情况下,自动获取数据字典信息。 支持各种表,普通的HEAP表,IOT表,聚簇(CLUSTER)表。 DESC表,以显示表的...
支持的Oracle数据库版本包括7,8i,9i,10g,11g 支持多种平台的数据库,包括AIX、LINUX、HPUX、SOLARIS、WINDOWS等。能够在一个平台上导出其他平台的数据,比如在Windows 32位系统上,使用AIX系统上的数据文件导出数据...
4.支持的Oracle数据库版本包括7,8i,9i,10g,11g,12c支持跨平台运行,aix,hpux,linux,windows等 5.支持的数据类型包括:NUMBER, CHAR, VARCHAR2, NCHAR,NVARHCAR2, LONG, DATE, RAW, LONG RAW, BLOB, CLOB, ...
Oracle数据库导入时,高版本导出的dmp文件不能直接导入到低版本数据库中,本工具可以轻松的解决这个问题,亲测支持9i、10g、11g等目前主流版本Oracle导出Dmp文件的版本变更。
昨天要把自己机器上的数据库迁移到专用服务器上一份,本地安装的Oracle10g,服务器上安装的数据库是Oracle9i,一开始进行如下操作: 本地导出数据库文件: expgzwp/wlkp@taxserfile= d:20130226.dmp owner=...
这样将创建f1.dmp, f2.dmp等一系列文件,每个大小都为2G,如果导出的总量小于10G EXP不必创建f5.bmp. IMP常用选项 1、FROMUSER和TOUSER,使用它们实现将数据从一个SCHEMA中导入到另外一个SCHEMA中。例如:假设我们...
可以快速将dmp文件从9i转换成10g当然这个仅是改变了版本表示可以倒入;但是入果在从高版本转换成底版本时候;有用到新版本特有的类型或约束时候就会出问题
su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=...
启动oracle9i数据库命令: $ sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> connect / as ...
1、对于10g及以上版本,看是否可以通过闪回进行恢复。 2、查看测试环境数据库,看其中是否有需要的数据。 3、使用备份进行恢复,此方法一般花费时间较长。 快速shutdown数据库 1. 停止监听 2. 做一个...