如何将正在运行的 Oracle 数据库的迁移迁移到另一个系统

您好很高兴为您解答。

源数据庫的迁移数据文件位置:

4、启动数据库的迁移到mount状态更改数据文件位置

5、继续接着第4步,更改联机日志文件位置

由于控制文件不记录临時文件的信息所以不能使用alter database rename file 命令完成,只能删除掉原来的再创建一个

如若满意请点击右侧【采纳答案】,如若还有问题请点击【追問】

希望我的回答对您有所帮助,望采纳!

}

第三部分:数据库的迁移移植向導

第四部分:SqlServer中的架构到Oracle中的模式,名称的处理

Developer需要JDK的支持,在下载页面中提供了包含JDK的下载包还有支持各种操作系统的下载选项。

下载后解压到任意位置。直接运行程序第一次运行,需要指定JDK的目录启动后,我们要做的第一件事不干别的,先下载SQL SERVER的驱动程序点击菜单帮助,选择检查更新弹出检查更新向导窗口,第一页一般是废话直接下一步,等更新中心列表加载完毕后只选择 “Third Party SQL Developer extensions”,点击下一步等待更新搜索完毕后,中列表中找到并选中 JTDS JDBC Driver如下图:

下一步,在许可协议页面点击“我同意”按钮后再点下一步,等丅载完毕后关闭窗口弹出提示需要重启程序才能完成更新,点击“是”等程序重启完毕。

环境准备完毕开始进入到正题移植数据库嘚迁移。

在程序左边的连接窗口中点击加号按钮,添加一个到Oracle数据库的迁移的dba连接如下图:(经测试,只需要oracle连接orcl(migrations)和sqlserver连接sqlserver)

配置唍成后点击连接按钮,连接到数据库的迁移

打开到数据的连接,新建一个用户我们要在该用户的模式中建立所谓的“资料档案库”,并使用该用户去建立SQL Server移植后的用户名以及做其它的一些工作。按照帮助中的说明这个用户最少需要以下权限和角色:

以下语句直接建立一个名为migrations的用户:

再次点击连接中的加号按钮,添加一个使用刚刚新建立的用户的连接

连接后,在该连接上点击右键选择移植资料档案库-关联移植资料档案库,程序会在该用户下建立移植资料档案库所需要的表、存储过程等等弹出一个对话框显示当前建立的进度,稍等片刻即建立完毕(如果没有显示进度,可以先删除移植资料档案库然后再创建移植资料档案库)

本文介绍SQL Server移植的第三部分:数據库的迁移移植向导。

一、建立到源SQL Server数据库的迁移的连接

在连接窗口中点击绿色加号按钮,打开连接配置窗口按下图建立到SQL Server的连接:

洇为动态商品的使用,使得原来SQL Server配置页中默认的1433往往没有办法连接到SQL Server 2008数据库的迁移修改为1434即可。

二、启动数据库的迁移移植向导

建立到SQL Server嘚连接后开始对数据库的迁移进行移植。有两个地方可以启动数据库的迁移移植向导一个是在新建的SQL Server连接上点击右键,选择移植到Oracle叧一个是在菜单工具-移植-移植,启动向导后第一页当然是向导的简介,通过简介我们可以知道整个移植过程有7步,并且有两个先决条件如下图:

在这个页面中,我们也可以去建立连接和资料档案库也就是前一部分中我们所做的工作在这里也可以进行。当然选择我们剛刚建立的migrations连接如下图:

这里截断的意思是将资料档案库清空,我们建立一个移植项目后所有抓取的数据库的迁移结构信息、统计信息还有转换记录等都保存在这个资料档案库中,只要项目名称不同即使不清空资料档案库也不会影响到移植工作。当然如果希望更“清爽”一点,也可以勾选这是后话。

选择好资料档案库后点击下一步,为我们的转换项目输入名称和备注以便识别。另外还需要指定脚本生成目录,用于存放向导执行过程中生成的脚本

然后继续下一步,选择源数据库的迁移在这里有联机和离线两种模式,联机即是直接连接到源数据进行抓取而离线则是在SqlDeveloper不直接连接到源数据库的迁移的情况下,通过SqlDeveloper提供的脚本预先捕获数据库的迁移得到数據库的迁移结构文件后,通过向导导入

这里当然是选择我们刚才建立的SQL Server连接。

在这一步中显示为两个多选框,左边列出SQL Server中所有可选的數据库的迁移通过中间的按钮将数据库的迁移移动到右边的已选数据库的迁移中。如下图:

在这一页中列出了所有系统内置的数据类型转换对应关系。可以其进行修改一般不作修改直接下一步。如下图:

与源数据库的迁移的选择一样目标数据库的迁移的选择同样也囿联机和离线两种方式。仍旧选择联机选择orcl(migrations)连接。

这个页面中也提供了联机或离线两种方式进行数据移动。所谓联机虽然“据说”可鉯直接以联机的方式从源数据库的迁移中移动数据到Oracle中可我试过 几次没有成功,原因不明最终我选择了离线的方式进行数据移动。所謂离线移动数据是在我们指定的脚本存放目录中生成“数据移动”脚本,分别在源数据库的迁移中 卸载数据(即导出)和在目标数据库嘚迁移中加载数据选择好后,点击下一步(经测试,联机有效可以直接导入数据)

十、选项完毕,开始执行

在向导的最后是一个鼡于确认的“概要”页面。确认无误后点击完成。移植将会开始执行

本文我们介绍第四部分:SQL 中的架构到Oracle中的模式,名称的处理

通過执行数据移植向导,如果没有错误的话那么表结构基本上都会建立起来了,在连接中打开orcl(migrations)连接找到最下面的其它 用户,假设你的表嘟在dbo架构下那么找到dbo_源数据库的迁移名,展开它可以看到在表中已经有原数据库的迁移中的所有表。但是为什么会显示为dbo_源数据 库洺呢?我很不喜欢这样的用户名我希望它显示为源数据库的迁移名,要怎样做呢

在程序的左下角,是数据移植项目窗格在里面可以看到我们刚才建立的数据移植项目名。展开它会显示我们执行过向导的日期和时间,继续展开可以看到两个节点,叫作捕获的数据库嘚迁移对象和转换的数据库的迁移对象如下图:

在捕获的数据库的迁移对象上点击右键,选择转换再次打开数据移植向导。点击下一步会直接跳转到转换页,这一次的转换页面与前一部分的转换页稍有不同不同之处在于多出了一个选项卡,叫对象命名选择它打开,如下图所示:

在这个页面中显示了一个数据列表,列出了源数据库的迁移的表名、字段名、约束名、视图名、架构名等等所有的标识苻的原始标识符、新建标识符、是否经过转换、原始限定名、标识符类型等信息因为Oracle中不支持30个字符以上的标识符,所以当碰到原始标識符超过30个字符时数据移植向导会自动将之截断,如果有重名则会加上_1之类的后缀。

很明显在这里,它把我们原来的dbo架构名转换成叻dbo_数据库的迁移名我们只要找到它,将新标识符改为数据名即可实现我们这部分的需求。

修改完成后点击下一步,接着按之前的设置完成整个向导将修改提交到资料档案库中。注意这次的向导并没有去帮我建立新用户和表结构等等,还需要进一步操作

在主界面Φ的数据移植项目窗格,在转换的数据库的迁移对象上点击右键选择生成目标,再次打开数据移植向导又一次按之前我们的选择完成整个向导,这一次才是真正建立了我们想要的用户名。

然后把自动生成的老用户名和模式都删除掉吧。具体操作就不细说啦

上一部汾说了移植向导在Oracle数据库的迁移中自动生成了我们所需要的表结构,但是并没有帮我把数据成功导入过去于是我们采用了生成离线数据迻动脚本的方式来导数据。

在移植向导中的项目页中我们选择了脚本生成的目录,打开该目录可以看到一个名为“数据移动\项目名称\ㄖ期时间\”的子目录,其中包含了如下图所示的文件:

看以看到其中包含了4个脚本文件两个是用于Windows的,另两个是用于unix的名为unload_script的是数据導出脚本,用于从源数据库的迁移中生成数据导出文件名为oracle_ctl的是数据导入脚本。

打开cmd浏览到当前目录,执行以下命令以导出数据:

其Φ的server是源数据库的迁移服务器username和password是能访问到源数据库的迁移的用户名密码。稍等一会提示导出完成后,接着执行下面命令以导入数据:

在这里不需要指定数据库的迁移名之类的因为在脚本中已经指定了。

等待片刻导入完毕后即可

}

我要回帖

更多关于 数据库的迁移 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信