Oracle迁移瀚高,如何做表等对象与文件名一对一的文件脚本(APP)

环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5

文档用途

Oracle迁移到瀚高后,需要整理一张表对应一个与表同名的脚本,一个函数对应一个与函数同名的脚本

详细信息

一、整理表

1、导出表与脚本名一致文件

查询该模式下所有表名,拼接导出SQL语句

select ‘pg_dump --verbose --host x.x.91.130 --port 5866 --username sysdba --format plain --file /opt/’||tablename||

‘.sql’|| ’ --table test1.‘||tablename||’ mytest’

from pg_tables where schemaname = ‘test1’ order by tablename

2、创建shell脚本

(1)opt下创建~/.pgpass,添加以下内容
在这里插入图片描述
(2)在瀚高bin目录下创建脚本 vi 脚本名称.sh,将上面SQL查询的结果粘贴进该脚本,如下:
在这里插入图片描述
(3)瀚高bin目录下./脚本.sh

(4)打开脚本格式如下
在这里插入图片描述
(5)因为创建表语句前面注释行数固定的,写脚本删除.

vi readfile.sh内容如下

#!/bin/sh

#Folder_A="/opt/b_function/create"

#Folder_A="/opt/b_view"

#Folder_A="/opt/c_trigger"

Folder_A="/opt/c_sp"  

str1="After Convert"

#line=1

for file_a in ${Folder_A}/*

do  

   #str1="After Convert"

   temp_file=`basename $file_a`

   # 查找改字段所在行

   # line=`sed -n '/After Convert/=' ${Folder_A}/$temp_file`

   #删除当前行

   # sed -i "$line d" ${Folder_A}/$temp_file

   #删除该行之前内容

     tail -n +27 ${Folder_A}/$temp_file > ${Folder_A}/$temp_file.tmp

     rm -f ${Folder_A}/$temp_file

     mv ${Folder_A}/$temp_file.tmp ${Folder_A}/$temp_file

   #替换内容

    sed -i 's/test1.//g' ${Folder_A}/$temp_file

    sed -i 's/TEST1.//g' ${Folder_A}/$temp_file  

    echo $temp_file>>test.txt  

done

(6)执行./readfile.sh脚本,文件及是所需格式

二、整理对象

1、迁移工具迁移对象后,会在HG-Sabre-Migration_V4.0.3_Windows_x86-64\html\converterfile\success路径下展示成功的对象文件夹,各文件夹下对应的每个函数各自对应的脚本

2、写脚本删除After Convert字段上面的内容,如下:

#!/bin/sh

#Folder_A="/opt/b_function/create"

#Folder_A="/opt/b_view"

#Folder_A="/opt/c_trigger"

Folder_A="/opt/c_sp"  

str1="After Convert"

#line=1

for file_a in ${Folder_A}/*

do  

    str1="After Convert"

    temp_file=`basename $file_a`

   # 查找改字段所在行

     line=`sed -n '/After Convert/=' ${Folder_A}/$temp_file`

   #删除当前行

     sed -i "$line d" ${Folder_A}/$temp_file

   #删除该行之前内容

     tail -n +$line ${Folder_A}/$temp_file > ${Folder_A}/$temp_file.tmp

     rm -f ${Folder_A}/$temp_file

      mv ${Folder_A}/$temp_file.tmp ${Folder_A}/$temp_file

   #替换内容

    sed -i 's/test1.//g' ${Folder_A}/$temp_file

    sed -i 's/TEST1.//g' ${Folder_A}/$temp_file  

    echo $temp_file>>test.txt  

done

(3)运行脚本./脚本名.sh,结果及是所需要脚本格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值