文章目录
- 环境
- 文档用途
- 详细信息
环境
系统平台: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=1for 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.tmprm -f ${Folder_A}/$temp_filemv ${Folder_A}/$temp_file.tmp ${Folder_A}/$temp_file#替换内容sed -i 's/test1.//g' ${Folder_A}/$temp_filesed -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=1for 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.tmprm -f ${Folder_A}/$temp_filemv ${Folder_A}/$temp_file.tmp ${Folder_A}/$temp_file#替换内容sed -i 's/test1.//g' ${Folder_A}/$temp_filesed -i 's/TEST1.//g' ${Folder_A}/$temp_file echo $temp_file>>test.txt done
(3)运行脚本./脚本名.sh,结果及是所需要脚本格式