DB2数据提取转化的一个脚本

日期: 2010-01-25 来源:TechTarget中国

  为把数据从大型机迁移到AIX平台上的DB2 UDB , 其过程通常事实这样的:登录到大型机,提取数据到一个文件中,ftp文件到AIX机器上, 然后将数据装载到DB2 UDB。 这需要两个不同的工作环境。

  替代方案是:通过只使用一个脚本,在DB2 UDB的AIX环境下我可以完成整个过程。这个过程非常快, 不会加重大型机或AIX环境的负担。

  你所需要做的是使用大型机连接,再用EXPORT命令来听取数据。 例如:

  db2 connect to DB2S390 USER xxxxxx USING yyyy

  db2 “export to exportfile.ixf of IXF select * from SYSIBM.SAMPLE”

  你可以再将输出的文件导入装有AIX系统的DB2 UDB中。我已经写了一个在AIX上的Korn shell脚本, 只需给出图表名称,用户名和密码,就可用一个命令从大型机上提取和加载数据。同时值得提出的是使用db2look命令,你可以用大型机的DB2 Connect连接作为数据提取DDL。

  #!/bin/ksh

  # Extract data from Mainframe and Load into the

  # Specified Table in the DDHAP00 Database

  #

  export LOADFILE=”/udb/db2aix01/file/file1/$1″

  export USERID=$2

  export PSWD=$3

  export CurrentPWD=$PWD # Save current directory

  echo ‘date’

  # Connect to mainframe

  db2 CONNECT TO DB2S390 USER $USERID using $PSWD

  echo “Extracting data from mainframe…”

  # Extract data from mainframe

  db2 “export to $LOADFILE.ixf of IXF select * from DBDEV.$1”

  echo ‘date’

  echo “Extract completed”

  # Disconnect from mainframe

  db2 DISCONNECT DB2S390;

  # Connect to database on AIX

  db2 CONNECT TO DDHAP00 USER xxxxx USING xxxxxx;

  # Clear load messages file

  cp /dev/nul /udb/db2aix01/file/file1/Load_$1.msg

  echo ‘date’

  echo “Loading data…”

  # Load data from flat file

  db2 “LOAD FROM $LOADFILE.ixf OF IXF MODIFIED BY pagefreespace=0

  totalfreespace=0 ROWCOUNT 999999999 WARNINGCOUNT 9 MESSAGES Load_$1.msg

  REPLACE INTO DBO.$1 STATISTICS NO INDEXING MODE AUTOSELECT”

  echo ‘date’

  echo “End of Load”

  db2 DISCONNECT DDHAP00;

  # Reset to previous directory

  cd $PWD

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐