因为服务器装了oracle 11G,本地装了oracle 10g,从服务器上导出的dmp文件在放到本地导入时,都显示:
IMP-00010:不是有效的导出文件,头部验证失败
后来在网上找了一哈资料,看到以下内容,下载下来试着修改了一下,还真可以导入了。
为了这个问题一直苦恼,差点就想卸掉11g然后装10g了,后来想想,头部验证,那么头部到底是什么,用Notepad++查看了dmp文件,发现头部真的显示一些东西:
11g R2:V11.02.00
11g R1:V11.01.00
10g:V10.02.01
把版本改成对方机子数据库版本,执行imp就不再报错了。
考虑到如果文件过大,可能打不开导致死机,做个小程序。(C# WINFORM)
2个按钮的事件:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
file.InitialDirectory = Application.ExecutablePath;
if (file.ShowDialog() == DialogResult.OK)
{
String path =label11.Text= file.FileName;
FileStream fs = File.OpenRead(path);
fs.Seek(0, SeekOrigin.Begin);
byte[] byData = new byte[100];
fs.Read(byData, 0, 50);
string charData = new UTF8Encoding(true).GetString(byData, 0, byData.Length);
string[] da = System.Text.RegularExpressions.Regex.Split(charData, @":V", RegexOptions.IgnoreCase);
Regex r = new Regex(@":V\d{2}\.\d{2}\.\d{2}");
Match m = r.Match(charData);
label9.Text = m.Index.ToString ();
label10.Text = m.Length.ToString();
textBox1.Text = System.Text.RegularExpressions.Regex.Split(m.Value, @":V", RegexOptions.IgnoreCase)[1];
fs.Close();
}
}
private void button2_Click(object sender, EventArgs e)
{
Regex r = new Regex(@"\d{2}\.\d{2}\.\d{2}");
Match m = r.Match(textBox1.Text);
if (m.Success)
{
FileStream fs = File.OpenWrite(label11.Text);
fs.Seek(int.Parse(label9.Text.ToString())+2, SeekOrigin.Begin);
Byte[] info = new UTF8Encoding(true).GetBytes(textBox1.Text);
fs.Write(info, 0, info.Length);
fs.Close();
MessageBox.Show("版本修改成功。");
}
else
MessageBox.Show("版本格式错误。");
}
我已上传附件。大家可根据图片执行软件完成。
相关推荐
在Oracle数据库管理中,"IMP-00010:不是有效的导出文件,头部验证失败" 是一个常见的导入错误,通常发生在尝试使用`expdp`(数据泵导出)或`impdp`(数据泵导入)工具进行数据迁移或备份恢复时。这个错误意味着系统...
标题“IMP-00010:不是有效的导出文件,头部验证失败”涉及的是Oracle数据库导入(IMP)过程中遇到的一个常见错误。这个错误通常发生在尝试使用IMP工具从.dmp文件导入数据时,表明导入文件可能已损坏或不完整,导致...
在Oracle数据库管理过程中,经常会遇到数据迁移的需求,其中一个常见的操作就是使用`exp`命令将表数据导出为一个文件,再使用`imp`命令将这个文件中的数据导入到另一个数据库或用户下。然而,在实际操作中可能会遇到...
Oracle数据库的Data Pump(DMP)工具是进行大规模数据迁移、备份和恢复的重要手段。它提供了比传统EXP/IMP更快的导出和导入性能,同时支持并行处理和压缩选项,使得数据操作更加高效。本篇文章将详细讲解如何使用DMP...
Oracle 数据泵(Data Pump,简称DMP)是Oracle数据库中用于高效数据迁移的工具,它在Oracle 10g及后续版本中引入,提供比传统EXP/IMP更快、更灵活的数据导出和导入功能。在Oracle 12C中,DMP文件可能包含一些特定于...
这里我们关注的是从Oracle 11G备份导入到Oracle 10G的场景,但过程中遇到了一个问题:“IMP-00010:不是有效的导出文件,头部验证失败”。这个错误提示意味着数据库导入工具无法识别或验证备份文件的头部信息,这...
当你尝试将一个从Oracle 11G数据库导出的DMP文件导入到Oracle 10G数据库时,可能会遇到导入失败的问题。这是因为Oracle的DMP文件包含了源数据库的版本信息,高版本的DMP文件不兼容低版本的数据库。为了解决这个问题...
以下将详细介绍如何使用Oracle 10g进行DMP文件的导入导出。 ### 导出(Export) 1. **使用命令行工具**: - 导出数据通常通过`expdp`命令完成。例如,要导出用户`mmis`在服务名`pcms`下的所有对象到`d:\pcms.dmp`...
通过上述步骤,可以从一个现有的Oracle环境中导出DMP文件,并将其导入到不同的表空间和不同的用户下,从而实现数据的有效迁移和管理。这种方式在进行数据迁移、测试环境搭建等方面非常实用,能够有效避免数据丢失和...
exp 用于导出数据库对象和数据,而 imp 用于导入数据库对象和数据。两个命令都可以使用 help 选项来获取帮助信息,例如,exp help=y 和 imp help=y。 二、工作方式 exp 和 imp 工具都有三种工作方式:交互式方式、...
Oracle 导入导出 DMP 数据库是指使用 Oracle 数据库管理系统提供的导入导出工具,实现数据库的导入和导出。这里我们将详细介绍两种方法:使用客户端 Enterprise Manager Console 和使用 PL/SQL。 方法 1:使用...
这个"oracle数据库dmp文件导入导出.exe文件-10版本和11版本.rar"压缩包似乎包含了与Oracle 10g和11g版本相关的DMP文件导入导出工具,以及可能解决版本不一致问题的方法。 首先,理解DMP文件的结构和用途是关键。DMP...
### Oracle数据库导入导出DMP文件操作详解 #### 一、Oracle数据库DMP文件导出操作 DMP文件是Oracle数据库特有的数据交换格式,主要用于数据的备份与迁移。通过使用Oracle的导出工具(EXPDP或传统的EXP),可以将...
在IT领域,尤其是在数据库管理与维护中,Oracle数据库的DMP文件导入导出技术是一项极为重要的技能。DMP文件,即Data Pump Export/Import文件,是Oracle用于数据备份与恢复的关键工具之一。以下是对“dmp文件导入到...
### 如何将 .dmp 文件导入 Oracle 数据库 在日常工作中,我们经常需要将数据从一个Oracle数据库迁移到另一个Oracle数据库。通常情况下,这可以通过使用Oracle的导出(exp)和导入(imp)工具来实现。本文将详细介绍...
Oracle 导入导出 DMP 文件详解 Oracle 是一种广泛使用的关系型数据库管理系统,导入导出 DMP 文件是 Oracle 数据库管理员和开发者经常遇到的一个重要任务。下面将详细介绍 Oracle 导入导出 DMP 文件的步骤和相关...
在数据库管理领域,`.dmp` 文件是一种常见的数据备份格式,通常用于 Oracle 数据库的数据导出与导入操作。此类文件包含了数据库表结构及数据,通过特定的工具或命令可以将这些数据恢复到数据库中。 #### 二、导入 ....