文章目錄
- 環境
- 文檔用途
- 詳細信息
環境
系統平臺: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,結果及是所需要腳本格式