分类: Oracle
2009-09-13 20:42:57
指导项目中项目工程中涉及到的由sql server 2000数据库迁移到oracle
测试环境对应情况如下表:
源数据库 |
Sql server 2000 Windows server 2003 |
目标数据库 |
Oracle Windows server 2003、solaris 10 |
操作机要求 |
Windows xp 、Oracle |
Oracle sql developer download |
Sql server jdbc download |
DMV download |
|
|
|
迁移的环境也就是配置与服务器连接和对迁移工具的配置过程。
此次迁移通过操作机的windows平台分别连接到需要迁移的sql server 2000数据库服务器和oracle
如下截图所示为sql server 2000服务器网络连接配置端界面,可根据实际需要启用多种协议,在此我们选择TCP/IP协议,并且选择好需要连接的实例名,即迁移的数据库所在的实例。
配置TCP/IP协议的过程如下图所示,点击启用的协议后,选择‘属性’按钮,即可弹出一个端口设置信息,这个端口号可以默认或自己设置,需要记住这个端口号,在配置客户端连接的时候需要用到。
在本地机,也就是操作机上需要安装sql server 2000客户端,安装好后选择安装后的程序菜单中的客户端网络实用工具,如下图,根据服务器端配置协议信息及端口信息填写好后,单击确定,即完成客户端网络连接的配置工作。
配置完客户端连接信息后,需要配置ODBC数据源管理器,在操作机选择‘开始-〉管理工具-〉数据源’然后出现如下图所示的界面,在系统DSN选项中选择‘添加‘,即出现DSN配置自动引导界面,根据提示填写必要信息,单击下一步;
按照要求填好相应信息,点击下一步
在此选择网络配置信息,点击客户端配置后出现如下界面
点击确定,出现下图,选择需要连接的数据库,单击下一步
即可进行测试。验证配置信息是否正确
最好能够使用和服务器端相同的版本的客户端,当然这里使用oracle
(1) 进入Oracle Net Manager配置界面如图:
(2) 单击“本地“出现下拉式菜单,选择”服务命名“点击左上绿色的添加符号”+“,出现如下图所示的界面
(3) 输入网络服务名后,单击下一步。出现下图所示界面,选择第一项的TCP/IP:
(4) 点击下一步。进入协议设置向导,输入需要连接的服务器的主机名或IP地址,端口号可以默认1521就行
(5) 进入下一步,输入服务名,一般就是全局数据库名或SID,与网络服务名对应,选择连接类型为“共享服务器“:
(6) 点击下一步,即可测试连通性,如果测试不成功,就可以更改登录用户,因为默认的测试用户是scott/scott,故可能已经被修改:
测试成功的话,就已经成功连接到oracle服务器端了。
对sql developer的配置需要去指定网站下载相应的jdbc驱动程序包,然后添加到sql developer 中即可建立相应的环境。该过程如下:
该版本移植工作台已使用需要针对特定迁移数据库的 JDBC 驱动程序,对于SQL Server 2000,需要下载一个名为 jtds-1.2-dist.zip 的存档文件,二进制驱动程序 jar 文件位于该存档内的一个名为 jtds-1.2.jar 的文件中。安装sql developer相对简单,只需要下载sqldeveloper-
出现下图所示界面。点击
添加适合第三方的移植JDBC驱动程序:点击工具,选择 <首选项〉,弹出的对话框选择 <数据库>->第三方驱动程序,也就是下图的界面
选择第三方JDBC驱动程序选项,点击添加条目,将指定的JDBC插件路径添加进去即可。
单击确定,即完成,出现如上的图形界面,可支持多种数据库移植。
下图,建立sql server 服务器的连接信息,按照上面的要求填写好信息后可以测试,显示连接成功后,可以单击检索数据库按钮即可以选择需要连接的数据库,也就是需要迁移的数据库
成功后即可以通过树形目录查看该数据库的结构信息
完成了如上的操作,也就完成了迁移工作的大部分工作,由于该工具图形化界面较强,后期的迁移工作,很多都是自动引导功能,故迁移也就是搞清这个过程即可。建立了数据库的连接后即可进入下一步计划,就是迁移的过程,首先需要在迁移的目标数据库建立一个名为资料档案库,用户sql server 2000数据库信息捕获功能的实现。操作如下:点击目标oracle数据库连结名,鼠标右键,会出现资料档案库的菜单,选择创建资料档案库,出现如下所示的界面
选择需要创建的目标数据库,也就是迁移到的数据库连接名,即可单击创建,进入下图所示的创建过程
安装资料档案库完成后,即可开始捕获数据库的过程,单击需要迁移的sql server 数据库,右键即可出现捕获sql server 服务器的选项,选择该项,就开始sql server 2000捕获数据库,也就是对迁移数据库的对象类型进行一个分析,弹出一个捕获数据库的会话框,并显示捕获的进度和过程。
捕获完成后,关闭该对话框,即可在sql developer工具界面的左边出现捕获的数据库的菜单栏,右键单击该捕获模型名,选择转换数据库,即可弹出如下所示的对话框。
转换数据库的过程也就是对两种不同类型的数据库的分析和数据转换关系得对应过程,该过程会根据转换过程中源数据库和目标数据库的不同类型关系,生成可以在oracle 数据库中运行和创建与源数据库信息对应的数据库模型的脚本,默认会出现在worksheet中,其sql 语句大体如下 :
选择要迁移到的目标oracle数据库,直接点击运行,要注意的地方就是,在这个脚本起始部分会有一个创建用户的sql 语句,如果不做改变的话,系统会默认创建该用户后,直接在该用户下,运行后面的数据库的创建信息。所以需要在移植数据的时候重新使用这个创建的用户建立连接。当然这时可以根据需要对该脚本中部分语句做一些修改,可以把创建用户信息的sql 语句去掉,那么系统就会默认在此用户下建立数据库信息,运行完该脚本语句后,即可进行最后的工作,即数据移植功能。
以上面创建的用户建立新的连接。鼠标右击转换的 数据库模型,选择移植数据,出现如下所示的会话窗口,选择好源数据库和目标数据库的连接名。
点击确定,弹出新的会话窗口,显示数据移植过程的进度信息,以及可以观察移植中可能出现的错误信息。
此移植过程完全智能化,不需要人工干预,完成数据移植后,即可弹出完成对话信息,选择关闭该会话框的按钮,此时,我们即可在目标数据库中找到移植数据的表信息
关于迁移后的对应关系,在先前生成的脚本中创建了用户,并指定默认表空间为user,迁移完成后,利用该用户登录,即可查询相应的数据信息
1. 利用数据汇总查询数据:select count(*) from table_name ;对比源和目的数据库。另外可以通过数据库连接软件连接到目的oracle 数据库,可以查看相应的数据信息。
2. oracle官方提供了DMV数据移植验证工具可以通过运行程序,生成对比分析文件。目前支持的sql server 2000和sybase数据库的功能,但需要建立JDBC连接。连接网址 下载DMV.ZIP工具包解压后。确定如下信息:
- JDBC class path
- Source database URL, user name, and password
- Oracle Database URL, user name, and password
然后进入提示符,运行如下命令:
Prompt> java -jar dmv_install_dir\dmv.jar PropertiesFilePath 即可生成一个对比源数据库和目的数据库移植信息的report文本文件,可以通过此文本文件检查移植的完整性。