关闭

将 Sybase 12.5 迁移至 Oracle 11g

标签: sybaseoracle迁移数据
1057人阅读 评论(0) 收藏 举报
分类:

目的

本教程展示了如何使用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。

数据库迁移过程中有四个主要步骤:

这里写图片描述


先决条件

在执行本教程之前,应该拥有以下先决条件:

  1. 安装Oracle 10g或更高版本,或Oracle Database XE
  2. 下载Oracle SQL Developer
  3. 安装并创建了ASE数据库并包含数据(用于测试)
  4. 已知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,关于存储过程以及其他函数的转换就不写了,只是转移了表和数据。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1472次
    • 积分:43
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档