Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3131174
  • 博文数量: 144
  • 博客积分: 10056
  • 博客等级: 上将
  • 技术积分: 2603
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-13 14:20
个人简介

互通有无,共同提高。

文章分类

全部博文(144)

分类: 系统运维

2010-05-02 21:14:43

有时需要把某台工作站上的LM工区搬到另一台机器上,从而达到不必重新加载数据而在新机器上继续工作的目的(下面是方法之一,有人用PDT(Project Data Transfer)法也能恢复)。

 

搬移工区通常是由LM低版本到高版本或在同级别版本之间进行。

 

下面就以我几天前从一台Sun工作站(solaris8 SPARC平台,LM2003.0)把做了多年的LM工区搬到另一台Dell微机工作站(Linux,LM2003.12.1)上为例,简述一下操作过程:

 

一、工区备份:

1、如果有其它用户登录系统的话,则退出其登录。然后,做一下工区调优:在 Project Administration 窗口中选 Project > Tune,点 Yes 开始调优工区。接着,运行Delete Statistics,以清除tune统计信息(方法见下面的说明)。

 

2、备份井工区(可在图形界面或命令行下进行,通常选用图形界面。也可用命令行备份oracle数据,如:$OWHOME/bin/owbackup project_name /directory_path/project_name.dmp)。

 

1)Project Administration窗口选要备份的工区;

 

2)Project > Back Up,在Backup Type窗口中选 All Project Data,点OK

 

3)分别在Backup窗口中给出Oracle DatabaseExternal Project Files的备份路径和文件名,如:

 

/home4/hjq_backup/2010_4_25ora.dmp

/home4/hjq_backup/2010_4_25extn

 

3、备份地震工区。

1)分别用命令 more $OWHOME/conf/dir.dat more $OWHOME/conf/owdir.dat查看一下工区目录定义文件(用space命令也可;目的是了解一下地震工区目录的分布情况)。

 

2)在备份前,做一下工区清理工作(在清理前,对原工区tar一个备份,以防闪失),找到并删除地震工区中的下例文件:

v*v*.w3shzbf*.w**.w2stmp.*core*.inp,tmpcgm*,tmp NNNNa,vNNNNNNNNNNxxNNNNNNNNNNxx.w3s 以及*.cgm(当确认这些cgm文件已不再使用,可将其删除或mv到其它目录;*为通配符)。

 

注:查看“host_ID”的命令是:
(1)Unix下:sysdef -h
(2)Linux下:hostid

 

例如:本机的hostid340abc13,则v* v340abc13*

 

还有一项需要注意的是:要适时清理损坏的断层数据。如果这些损坏的数据写入数据库,常会导致用备份的井工区数据(oracle)恢复井工区时失败。可以:

 

进入Seismic Project Manager-->SeisWorks Fault Data Manager,在File菜单下:

运行Clean Fault Data可批量清除损坏的断层数据;

执行下列操作,以删除所有重复和所有未分配重复断层数据:

Delete All Earliest Duplicates by Fault...
Delete All Latest Duplicates by Fault...
Delete All Earliest Unassigned Duplicates by Fault...
Delete All Latest Unassigned Duplicates by Fault...

 

运行Delete Statistics可清除tune统计信息。这些信息是由运行OpenWorks Project Tune utility而遗留在SeisWorks断层表中。通常,运行OpenWorks Project Tune会提升数据库性能,但由其产生的统计信息可能会大大降低SeisWorks断层检索性能。(例如,如果一个地震工区有许多断层段和断距,SeisWorks的性能可能会降低。)

 

3)备份工区。可用tar命令,如: tar cvf project_name.tar project_name (如果工区设置了另外的global存储分区,则需分别备份sysglobal所在的地震工区,并加以注明,以便恢复工区时使用);

 

4、备份master目录。

 

5、拷贝plist.dat文件到新机器上备用。

 

二、工区恢复:

可以通过局域网用ftpscp或文件共享来拷贝备份数据,也可将数据导入移动硬盘后再拷到待恢复的机器中。

 

1、用命令 more $OWHOME/conf/lgcenv.cf查看一下OW_AUTOEXTEND的各项设置是否已经打开,将OW_AUTOEXTEND_FLAG设为“YES; OW_AUTOEXTEND_MAX设为“UNLIMITED”;OW_AUTOEXTEND_NEXT设为16。如果这是一个大工区并且以后还要不断增加新数据的话,这样设置后oracle表空间可以随工区的增大而自动扩展。(你也可以在Project Administration 窗口中选Project > Query来查看表空间的使用情况,如果发现空间不足,则需手动增加。以前曾出现过无法往井工区保存合成记录数据,毛病就是由表空间不足而引起的。)

 

2、在LM用户终端窗口内设置OW_ALLOW_IMPORT_ERRORS环境变量(当备份的工区存在错误不很严重时,可以忽略错误而强行恢复):

% setenv OW_ALLOW_IMPORT_ERRORS yes 回车

在同一窗口内输入:

% admprj 回车后打开工区管理工具

 

3、恢复同名井工区。

 

4把备份的地震工区和master目录分别解压到对应的目录,并更改相应权限到新机器的默认设置。如,原机器地震工区hjq082d的所有者为owuser,所属组为dbamaster目录所有者和组均为root;而新机器地震工区和master的默认所有者和组名分别为ow2003dba,则需把新机器上解压后的地震工区和master所有者和组名更改为:

chown -R ow2003 hjq082d

chgrp -R dba hjq082d

 

chown -R ow2003 master

chgrp -R dba master

 

这一步是必须的,不然恢复后的工区将不能导入/导出层位或无法建新层位。然而,按上述做法后有时还是无法操作层位,这可能是catalog文件或层位头文件损坏造成的,这时可以重新拷贝这些文件。如果不方便拷贝时(如,工区资料是从外地收集来的,又不想再次烦劳别人),可以:

 

1)进入sys所在的地震工区目录,找到并删除project_name.merge_hrz_cat文件。如果还不行的话,

 

2)可以删除现有catalog文件:rm project_name.hrz_cat,创建一个新的、空的catalog文件:crtcat project_name,然后用Global Manager导入层位。如果仍有问题,可以,

 

3)重建层位索引文件(或头文件)(具体可参考联机帮助),重建索引文件后,原来的SeisWorks session就无法使用了,需要新建session了。

 

5、cat plist.dat >> $OWHOME/conf/plist.dat (即,把原机器中的plist.dat内容添加到新机器中的plist.dat文件中)

 

6、在终端窗口输入 s2d 回车,选择并打开刚刚恢复的工区。
 
=========
此文发表在:阿果石油网 
=========
 
从R2003迁移到R5000也大同小异,见本博客:
阅读(10827) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~