目的
本教程展示了如何使用Oracle SQL Developer将 Sybase12.5 迁移到 Oracle 11 g(脱机捕获,仅包含表和数据)。
- 引用了Oracle教程:Sybase 迁移
http://www.oracle.com/technetwork/cn/products/migration/sybase-085571-zhs.html#start
主题(主要操作步骤)
- 概述
- 先决条件
- 创建mwrep用户
- 创建迁移库
- 捕捉Sybase导出文件
- 检查转换和离线数据移动的偏好
- 转换Oracle模型
*(- 解决存储过程转换失败)
*(- 解决存储过程转换限制)
- 生成和执行脚本创建Oracle数据库对象
- 迁移数据
*(- 解决编译问题)
*(- 运行时问题的解决)
- 测试转移的表和数据
*(-xxx):本教程未涉及的操作步骤
概述
什么是 Oracle SQL Developer?
Oracle SQL Developer是一个免费的图形工具,提高工作效率,简化了数据库开发任务。使用Oracle SQL Developer可以浏览数据库对象,运行SQL语句,编辑和调试PL / SQL语句和运行报告。
使用Oracle SQL Developer迁移工作台,可以快速迁移第三方数据库至Oracle。
数据库迁移过程中有四个主要步骤:
先决条件
在执行本教程之前,应该拥有以下先决条件:
- 安装Oracle 10g或更高版本,或Oracle Database XE
- 下载Oracle SQL Developer
- 安装并创建了ASE数据库并包含数据(用于测试)
- 已知Sybase的用户名,密码,数据库名和服务名
(本机信息:User: sa,Pwd: “”,Dbname: ASE1119t,Server: KEVINCISA)
创建mwrep用户
1.登录Oracle SQL Developer,创建一个system用户的连接
2.登录该连接,打开新的SQL脚本窗口执行以下语句,以创建mwrep用户并赋予权限
CREATE USER MWREP
IDENTIFIED BY mwrep
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
GRANT CONNECT, RESOURCE, CREATE SESSION, CREATE VIEW TO MWREP;
3.连接并以mwrep用户登录
创建迁移库
1.右键单击mwrep_orcl连接并选择“移植资料档案库>关联移植资料档案库”
关联进程:
完成关联后,左边菜单栏为出现以下界面:
捕捉Sybase导出文件
1.创建数据库捕获脚本:“选择菜单栏中的移植>第三方数据库脱机捕获>创建数据库捕获脚本”
2.选择脚本路径和数据库版本,并生成
生成提示:
3.捕获Sybase数据库
4.使用命令提示符移至脚本目录,执行脚本:[script file] [username] [password] [dbname] [server name]
SYB12_OFFLINE_CAPTURE.BAT sa "" ASE1119t KEVINCISA
执行成功提示
在捕获文件夹中会出现master和ASE1119t的文件夹以及文件夹内生成了相应数据库dat文件:
5.加载已经捕获了数据库的脚本
6.选中“sybase12.ocp”
加载完毕:
在捕获的模型处会显示已经捕获的模型:
检查转换和离线数据移动的偏好
按照以下偏好设置转换选项:
1.标识符选项:去掉“启用加引号的标识符”的勾选
2.生成选项:勾选下列选项
3.更改:脱机日期掩码和时间戳掩码
将日期掩码更改为:
Mon dd yyyy HH:mi:ssAM
将时间戳掩码更为:
Mon dd yyyy HH:mi:ss:ff3AM
转换Oracle模型
1.右击捕获模型中的Sybase12,点击“转换为Oracle模型”
转换完成:
转换的模型中显示了已转换的Oracle模型:
## (- 解决存储过程转换失败) ##*
## (- 解决存储过程转换限制) ##*
生成和执行脚本创建Oracle数据库对象
1.右键单击“转换的模型>Sybase12”并选择“生成”
生成Oracle数据对象成功:
2.使用system用户编译生成的SQL语句
3.SQL语句创建了相应的用户,使用该用户连接登录
该用户中包含了从Sybase转换来的表结构,但是不包含数据:
迁移数据
1.生成数据移动脚本:“转换的模型>Sybase12”,右击“生成数据移动脚本”
2.选择脚本的存放路径
3.脚本生成后提示(包含捕获表的数量)
脚本文件夹下相应生成了Sybase的数据文件:
4.在脚本文件夹下,使用脚本unload_script.bat在命令提示符下获取Sybase的数据:
[script file] [username] [password] [server name]
unload_script.bat sa "" KEVINCISA
数据导出成功:
5.在将数据导入Oracle之前,先修改一下导入脚本oracle_ctl.bat对应的Oracle用户名和密码
6.执行数据导入脚本
导入成功提示:
7.回到Oracle SQL Developer,刷新表,得到导入的数据
## (- 解决编译问题) ##*
## (- 运行时问题的解决) ##*
测试转移的表和数据
转移至PL/SQL Developer下查看导入的用户,表以及数据(个人习惯)
*由于本人不是很熟悉Sybase,关于存储过程以及其他函数的转换就不写了,只是转移了表和数据。