207
阿里云
迁移 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-阿里云