首页 > 代码库 > Oracle的DMP文件修改版本号

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

Oracle的DMP文件修改版本号