Oracle的DMP文件修改版本号

概括的说就是折腾。

1、11G的Oracle备份(原来不知道),往10G的Oracle恢复,恢复的时候提示头不对,于是漫长的修改版本号开始了。

2、由于备份很大很大,开始用UE等打开试试,漫长的等待后卡死+磁盘空间不足。

3、于是开始找文件分割工具,找到了工具。结果因为太大,好不容易分割完了,合并的时候总是在一半的时候报错。(一下子一天过去了)

4、终于准备自己动手丰衣足食。

就写了这么一个方法

public static void doFile(String fileName){
		try{
			RandomAccessFile raf = new RandomAccessFile(fileName,"rw");
			byte b[] = new byte[50];
			raf.read(b);
			for(int i=0;i<b.length;i++){
				System.out.print(b[i]+",");
			}
			b[12] = 48;//commend by danielinbiti,这个是修改成10g:V10.02.01。如果在修改前自己可以截出头部的几个字节确认一下,是不是就是修改第12,18字节
			b[18] = 49;
			raf.seek(0);
			raf.write(b);

			System.out.println("");
		}catch(Exception ex){

		}
	}

弄完我郁闷坏了... ...早知道就自己写了。几行代码修改+验证还没折腾超过半小时。希望后来人有一样情况的能少花点精力。

时间: 2024-10-13 21:23:01

Oracle的DMP文件修改版本号的相关文章

Linux下oracle系统安装到数据库建立配置及最后oracle的dmp文件导入一站式操作记录

简介 之前也在linux下安装过oralce,可每次都是迷迷糊糊的,因为大脑一片空白,网上随便看见一个文档就直接复制,最后搞了乱七八糟,虽然装上了,却乱得很,最近几天因为离职,交接的时候又要安装oracle,发现老遇到错误,导致装不上了,通过这次我好好的研究了下oracle,非要搞清楚它,现在记录下来,希望能给其他网上朋友遇到问题时提供点帮助,该篇文件借鉴大量网友的总结,首先谢谢他们! 安装环境 Linux 服务器: SuSe11-linux      64/32位 Oracle服务器: Ora

案例:Oracle exp dmp文件损坏 通过CPFL工具抽取dmp中的数据表进行恢复

Oracle数据库逻辑导出exp的dmp文件损坏,通过非常规恢复抽取dmp文件中表的数据 在有些时候,exp的dmp文件因为某种原因损坏(比如磁盘异常,exp过程损坏等),导致imp导入无法继续,下面的处理方法(直接读取dmp文件)来对dmp文件进行抢救性恢复,最大程度减少数据丢失损失 1.创建exp dmp文件并使用dd破坏 SQL> create table t_xifenfei as select * from dba_objects; Table created. SQL> selec

Linux下oracle11gR2系统安装到数据库建立配置及最后oracle的dmp文件导入一站式操作记录(转)

简介 之前也在linux下安装过oralce,可每次都是迷迷糊糊的,因为大脑一片空白,网上随便看见一个文档就直接复制,最后搞了乱七八糟,虽然装上了,却乱得很,最近几天因为离职,交接的时候又要安装oracle,发现老遇到错误,导致装不上了,通过这次我好好的研究了下oracle,非要搞清楚它,现在记录下来,希望能给其他网上朋友遇到问题时提供点帮助,该篇文件借鉴大量网友的总结,首先谢谢他们! 安装环境 Linux 服务器: SuSe11-linux      64/32位 Oracle服务器: Ora

案例:Oracle exp dmp文件存在坏块并损坏 使用CPFL跳过坏块并成功导入恢复

Oracle数据库exp导出dmp文件损坏存在坏块/corruption通过CPFL工具跳过dmp坏块进发导入 在有些情况下,大家都知道通过dul可以恢复损坏的dmp文件的表的数据,但是该方法有很多问题,特别是对很多数据类型的支持不够完美,比如lob,long raw类型等,而且还有可能恢复出来数据大量丢失,本人通过对dmp结构的分析,使用使用一些特殊的技巧方法,可以实现对于损坏的dmp文件,通过跳过异常坏块所在表,继续恢复后续表,从而最大程度减少损坏 1.创建Oracle测试表 SQL> co

Oracle学习——dmp文件(表)导入与导出

前言 关于dmp文件我们用的还是比较多的,dmp文件它是作为oracle导入和导出表使用的文件格式,今天就将dmp文件导出和导入进行学习. dmp文件导出 dmp文件导出用的比较多的一般是三种,他们分别是:导出整个数据库实例下的所有数据.导出指定用户的所有表.导出指定表. 这里已我的数据库为例,进行介绍,我的Oracle数据库实例为"ORACLE",查看自己数据库实例可以从"任务管理器-->服务"中进行查看,如下图 打开命令行: 1,将数据库ORACLE完全导

oracle导入.dmp文件

在日常开发中,经常需要往一个数据库里导入.dmp文件,下面简单介绍下如何通过命令导入 1.创建一个awsbpm用户create user 用户名 identified by 密码; 如:create user test identified by test; 2.用户赋予相应的权限,权限最好赋高一点grant connect,resource,dba to test; 3.oracle中导入dmp文件,buffer最好给大点 imp userid='sys/[email protected] a

Oracle 导入DMP文件

首先说明dmp文件: 通常oracle数据库通过exp或expdp命令导出的备份文件是以dmp结尾.这种文件是oracle的逻辑备份文件,常用于数据库逻辑备份,数据库迁移等操作. Oracle导入备份文件步骤:我用的是Oracle 11g版本 1.把数据库的备份文件:xx.DMP  拷贝到 D:\work\app\admin\orcl\dpdump 目录下 在你的PLSQL Developer中作如下操作:步骤2-4 2.创建表空间 xx.dbf create tablespace shjwms

DMP 文件修改字符集 ZHS16GBK转WE8ISO8859P1

我源库为ZHS16GBK的字符集,能过EXP导出了DMP文件.现在想通过编辑DMP文件来修改字符集,使其可以导入到字符集为WE8ISO8859P1的数据库. 首先通过sql查出两个字符集的16进制码: 解决的办法: 编辑DMP文件(ultraedit) 修改第一行:2,3字节(0354)改为001F 修改第四行:2,3字节(0354)改为001F ,在这里我参照其它的资料,修改的地方不一样,不知道怎么回事.

在linux服务器上导入oracle的DMP文件

导入库: 事前准备: 1,确保linux服务器上已经正确安装oracle 2,拥有oracle的客户端,能够连接上服务器的oracle. 开始步骤: 1,创建表空间(表空间比较多的话一般会给你创建表空间的脚本.比如createspace-for-Windows.sql). 2,登录linux服务器,比如ssh 192.168.20.222 ,输入用户名密码.默认用户名为root 3,输入su - oracle   注意,不要输入成su oracle. 4,移动需要导入的DMP文件移动至linux