欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Oracle迁移瀚高,如何做表等对象与文件名一对一的文件脚本(APP)

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

2025/8/5 18:19:39 来源:https://blog.csdn.net/pg_hgdb/article/details/148731766  浏览:    关键词: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=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,结果及是所需要脚本格式

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词