扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
为把数据从大型机迁移到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
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者