207
windows
遷移 RDS for PPAS 數據到本地 Oracle__數據遷移_用戶指南_雲數據庫 RDS 版-阿裏雲
限製說明
當前隻支持文件及普通數據類型進行導出,不支持 BLOB 等二進製類型。
前提條件
- 已安裝好 Oracle 數據庫的服務器。
- 在 RDS for PPAS 數據庫實例的白名單中添加 Oracle 服務器的IP地址,具體操作請參見設置白名單。
- 用戶需要按 RDS for PPAS 數據庫中的表結構在 Oracle 中建立對應的表結構。
- 已獲取 PostgreSQL 客戶端並上傳到 Oracle 數據庫服務器上。
操作步驟
說明:本例以將 RDS for PPAS 數據遷移到安裝在雲服務器 ECS 上的 Oracle 為例。本例中的雲服務器 ECS 操作係統為 CentOS 6.5。
在 Oracle 數據庫服務器上安裝 PostgreSQL 客戶端。
[root@oraclexe ~]# yum install postgresql.x86_64
[root@oraclexe ~]# /usr/bin/psql --version
psql (PostgreSQL) 8.4.20
在 ECS 中配置對 RDS for PPAS 實例的無密碼登錄。
[root@oraclexe ~]# vim ~/.pgpass
[root@oraclexe ~]# cat ~/.pgpass
rm-2ze466l5u1k657yyn.ppas.rds.aliyuncs.com:3433:ora:myadmin:xxxxxxx
//參數格式為 HOSTNAME:PORT:DATABASE:USERNAME:PASSWORD
[root@oraclexe ~]# chmod 0600 ~/.pgpass
說明:配置文件 .pgpass 位於 HOME 目錄下。
測試 ECS 和 RDS for PPAS 連接。
[root@oraclexe ~]# psql -h rm-2ze466l5u1k657yyn.ppas.rds.aliyuncs.com -p 3433 -U myadmin ora
psql.bin (9.3.1.3, 服務器 9.3.13.37)
輸入 "help" 來獲取幫助信息.
ora=>
如果能以 ora 用戶登錄 RDS for PPAS,則連接成功。測試成功後,返回到 root 用戶。
ora=> q
[root@oraclexe ~]#
在 ECS 中建立數據導出腳本。
建立文件 ppas_exp_all_tables_to_csv.sh。
vi ppas_exp_all_tables_to_csv.sh
將如下文本插入到 ppas_exp_all_tables_to_csv.sh 腳本中。
# ppas_exp_all_tables_to_csv.sh <hostname> <port> <username> <database>
# Author: Xiao Shaocong (Scott Siu)
# E-Mail: shaocong.xsc@alibaba-inc.com
TMP_PATH="/tmp/ppas_tables_$1_$2_$3_$4"
mkdir $TMP_PATH
if [ $? -ne 0 ]
then
exit 1;
fi
echo "select '$1 $2 $3 $4 ' || tablename || ' $TMP_PATH ' || tablename from pg_tables where tableowner='$3' and (schemaname='$3' or schemaname='public');" > /tmp/ppas_tables_$1_$2_$3_$4.sql
psql -h $1 -p $2 -U $3 $4 -f /tmp/ppas_tables_$1_$2_$3_$4.sql | head -n -2 | tail -n +3 | awk -F " " '{printf ("psql -h %s -p %s -U %s %s -c "\copy %s TO '''%s/%s''' CSV HEADER"n",$1,$2,$3,$4,$5,$6,$7)}' | sh
給 ppas_exp_all_tables_to_csv.sh 腳本添加執行權限。
[root@oraclexe ~]# chmod 0755 ppas_exp_all_tables_to_csv.sh
在 ECS 中執行數據導出腳本。
[root@oraclexe ~]# ./ppas_exp_all_tables_to_csv.sh rm-2ze466l5u1k657yyn.ppas.rds.aliyuncs.com 3433 myadmin ora
驗證導出 CSV 文件的數據。
[root@oraclexe ~]# cat /tmp/ppas_tables_rm-2ze466l5u1k657yyn.ppas.rds.aliyuncs.com_3433_myadmin_ora/*
deptno,dname,loc
10,ACCOUNTING,NEW YORK
20,RESEARCH,DALLAS
30,SALES,CHICAGO
40,OPERATIONS,BOSTON
empno,ename,job,mgr,hiredate,sal,comm,deptno
7369,SMITH,CLERK,7902,17-DEC-80 00:00:00,800.00,,20
7499,ALLEN,SALESMAN,7698,20-FEB-81 00:00:00,1600.00,300.00,30
7521,WARD,SALESMAN,7698,22-FEB-81 00:00:00,1250.00,500.00,30
7566,JONES,MANAGER,7839,02-APR-81 00:00:00,2975.00,,20
7654,MARTIN,SALESMAN,7698,28-SEP-81 00:00:00,1250.00,1400.00,30
7698,BLAKE,MANAGER,7839,01-MAY-81 00:00:00,2850.00,,30
7782,CLARK,MANAGER,7839,09-JUN-81 00:00:00,2450.00,,10
7788,SCOTT,ANALYST,7566,19-APR-87 00:00:00,3000.00,,20
7839,KING,PRESIDENT,,17-NOV-81 00:00:00,5000.00,,10
7844,TURNER,SALESMAN,7698,08-SEP-81 00:00:00,1500.00,0.00,30
7876,ADAMS,CLERK,7788,23-MAY-87 00:00:00,1100.00,,20
7900,JAMES,CLERK,7698,03-DEC-81 00:00:00,950.00,,30
7902,FORD,ANALYST,7566,03-DEC-81 00:00:00,3000.00,,20
7934,MILLER,CLERK,7782,23-JAN-82 00:00:00,1300.00,,10
empno,startdate,enddate,job,sal,comm,deptno,chgdesc
7369,17-DEC-80 00:00:00,,CLERK,800.00,,20,New Hire
7499,20-FEB-81 00:00:00,,SALESMAN,1600.00,300.00,30,New Hire
7521,22-FEB-81 00:00:00,,SALESMAN,1250.00,500.00,30,New Hire
7566,02-APR-81 00:00:00,,MANAGER,2975.00,,20,New Hire
7654,28-SEP-81 00:00:00,,SALESMAN,1250.00,1400.00,30,New Hire
7698,01-MAY-81 00:00:00,,MANAGER,2850.00,,30,New Hire
7782,09-JUN-81 00:00:00,,MANAGER,2450.00,,10,New Hire
7788,19-APR-87 00:00:00,12-APR-88 00:00:00,CLERK,1000.00,,20,New Hire
7788,13-APR-88 00:00:00,04-MAY-89 00:00:00,CLERK,1040.00,,20,Raise
7788,05-MAY-90 00:00:00,,ANALYST,3000.00,,20,Promoted to Analyst
7839,17-NOV-81 00:00:00,,PRESIDENT,5000.00,,10,New Hire
7844,08-SEP-81 00:00:00,,SALESMAN,1500.00,0.00,30,New Hire
7876,23-MAY-87 00:00:00,,CLERK,1100.00,,20,New Hire
7900,03-DEC-81 00:00:00,14-JAN-83 00:00:00,CLERK,950.00,,10,New Hire
7900,15-JAN-83 00:00:00,,CLERK,950.00,,30,Changed to Dept 30
7902,03-DEC-81 00:00:00,,ANALYST,3000.00,,20,New Hire
7934,23-JAN-82 00:00:00,,CLERK,1300.00,,10,New Hire
將 CSV 導入到 Oracle。
- 方案 1:通過 Oracle 的 SQL*Loader 進行數據導入,詳情請參考:Oracle SQL*Loader Overview。
- 方案 2:通過 Oracle SQL Developer 進行數據導入,詳情請參考:SQL Developer Concepts and Usage。
問題處理
問題
執行數據導出腳本時,提示無法創建目錄,如下所示。
[root@oraclexe ~]# ./ppas_exp_all_tables_to_csv.sh rm-2ze466l5u1k657yyn.ppas.rds.aliyuncs.com 3433 myadmin ora
mkdir: 無法創建目錄"/tmp/ppas_tables_rm-2ze466l5u1k657yyn.ppas.rds.aliyuncs.com_3433_myadmin_ora": 文件已存在
處理步驟
刪除已存在的目錄。
[root@oraclexe ~]# rm -rf /tmp/ppas_tables_rm-2ze466l5u1k657yyn.ppas.rds.aliyuncs.com_3433_myadmin_ora
最後更新:2016-11-23 16:04:20
上一篇:
遷移 RDS for PPAS 數據到本地 PPAS__數據遷移_用戶指南_雲數據庫 RDS 版-阿裏雲
下一篇:
緩存數據持久化__典型應用_用戶指南_雲數據庫 RDS 版-阿裏雲
雲服務器 ECS 登錄 Linux 實例
快遞_阿裏雲幫助中心-阿裏雲,領先的雲計算服務提供商
雲服務器 ECS鏡像(Image)
刪除路由器接口__高速通道相關接口_API 參考_雲服務器 ECS-阿裏雲
欠費說明__購買指導_消息服務-阿裏雲
SetDefaultPolicyVersion__授權策略管理接口_RAM API文檔_訪問控製-阿裏雲
阿裏巴巴新財年業績高開:天貓交易增49%,阿裏雲付費用戶數首超100萬
宗寧:城市大腦開始落地,阿裏雲讓城市開始思考
係統默認應用列表__應用管理_用戶指南_容器服務-阿裏雲
命令行工具的簡單 Shell 腳本__腳本使用示例_用戶指南_命令行工具 CLI-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲