最近应公司要求,一个由.net开发的平台,需要用X5平台实现,涉及到数据库从sqlServer迁移到Oracle,以前用过Oracle,但大多配置细节没有接触过,所以这次采坑记录以示谨记!

Oracle我用的是11G,当然安装就不说了,网上一抓一大把,这里说下安装好数据库后创建表空间,授权限,连接,迁移等问题。

一、首先说下创建数据库实例:

这里介绍两种方式来创建授权

方式一:

            

点击开始菜单:开始=>程序=>Oracle=>oraDb11g_home1=>配置和移植工具=>Database Configuration Assistant,出现下图所示界面  基本上是傻瓜式操作全都下一步:

sql server数据库迁移 sqlserver数据库迁移到oracle_oracle

     单击“下一步”,系统提示选择需要进行的操作,选择“创建数据库”,点击下一步

2)选择“一般用途或事务处理”,点击下一步

3)输入“全局数据库名“和”SID“,SID即数据库实例名,如db001,全局数据库名格式通常为name.domain,name一般与SID相同(输入全局数据库名的时候,SID会自动填充,填充的值也就是name),domain可以为空,所以,全局数据库名可以和SID相同,如,都为db001,点击下一步

4)Enterprise Manager默认即可,点击下一步

5)设置数据库实例必备的用户的密码,如图:

这里一般设置全局密码,当然愿意记的话,不同密码也是可以的,这里还会提示什么密码不能满足建议需求,可以不用理会,当然,要设置成它要求的密码也可以,记住就行;

sql server数据库迁移 sqlserver数据库迁移到oracle_数据库迁移_02

6)数据库文件类型及存储,默认即可,点击下一步

7)数据库恢复选项默认即可,点击下一步

8)字符集选择Unicode AL32UTF8

9)后面的选项默认即可,然后点击确定,进行安装

10)安装时会警告,如下图,原因是监听程序未启动(如果未启用),可以先不用管,后面再配置,点击确定:

sql server数据库迁移 sqlserver数据库迁移到oracle_数据库迁移_03

11)配置口令,默认SCOTT用户是锁定的,我们可以将其解锁,然后点击“确定”,最后点击“退出”,至此,数据库实例创建完成。

以上完成了数据库实例的创建,一定谨记你的

1.全局数据库名——唯一标识 /sid:   就是你创建的用户实例

2.你设置的  ——统一口令:

 

 

12)下面是配置服务和监听程序(开始,应用程序中的 "Oracle 11g" -> "配置和移植工具" ->"Net Manager")

配置服务

配置监听程序

 

然后再重启监听服务,如下图:当然下图这个主机名localhost,一般可建议是主机计算机名称,或者端口号

这里需要跟配置文件的listener.ora相对应  

具体想了解那三个配置文件可参考: https://www.jellythink.com/archives/313

sql server数据库迁移 sqlserver数据库迁移到oracle_sql server数据库迁移_04

配置监听程序    这个localhost同上,可配置主机名称,Ip

sql server数据库迁移 sqlserver数据库迁移到oracle_oracle_05

然后再重启监听服务,如下图:

sql server数据库迁移 sqlserver数据库迁移到oracle_数据库迁移_06

 

到这里,配置就告于段落了,当然,上述的创建过程及配置过程都可以通过命令的形式,+修改配置文件的形式达到相同的效果

方式二 参照          

                                  + 

                                https://www.jellythink.com/archives/313

 

这个时候启动plsql,或者是用sqldevelop就可以登录了,我这边是用户名用system,密码由于之前设置的是全局密码,创建的时候记住那个,注意sid:你的是什么就填什么

sql server数据库迁移 sqlserver数据库迁移到oracle_数据库实例_07

接下来给数据库创建表空间和用户

sql server数据库迁移 sqlserver数据库迁移到oracle_sql server数据库迁移_08

解释一下:

create user bk identified by  "bk";——创建bk这个用户让用“bk”可以连接

create tablespace bk datafile 'D:/app/zhangbo/appuser.dbf' size 1000m autoextend on; ——创建表空间

			alter user bk  quota unlimited on bk;   ——指定表空间
			alter user bk  default tablespace bk;  ——   指定表空间

			grant connect to bk ;  ——授权用户
			grant dba to bk ;
			grant resource to bk ;

 

OK,现在可以用你自己设置的用户名(你创建的实例名称)/密码(例如这里是bk)登陆了

非本机登录,需要安装oracle的电脑关闭防火墙

 

接下来记录下sqlserver数据库迁移到oracle的方式,

网上找了下,大概也就找到两种,

一种是用Oracle sql developer工具从sqlserver迁移数据到oracle

参照:


另外一种是:


 

 

当然,配置监听什么的有时还会遇到一些问题,需要具体分析;

        欢迎探讨!