Oracle数据库迁移

  • oracle数据库间的迁移
  • 导入
  • 导出
  • db2向oracle中迁移
  • 创建Oracle用户并且赋予权限
  • 创建用户
  • 赋予权限
  • db2迁移到Oracle
  • 同义词



前言:该方法仅限于同版本的两数据库间导表

oracle数据库间的迁移

导入

在.dmp 文件的路径下打开cmd,并执行

imp user/pwd@sid(实例) file=USER.dmp ignore=y fromuser=user touser=user
file:输入文件,缺省为expdat.dmp
ignore=y:如果没有的表,创建并导入数据;如果已有该表,则忽略创建语句,直接导入数据。但是,若导入表的结构与现存表的结构不一致, 在使用IMP导入并使用ignore=y参数时,ORACLE根本不检查要导入的数据结构和现存在数据库中表的结构是否相同。
fromuser=user :指明来源用户(即当前的dmp文件来自user用户下的数据)
touser=user :指明目的用户(即把现在dmp文件中的数据导入到目标库user用户下的库)
  • 例:
imp bofdb/bofdb@bofdb file =bofdb.dmp ignore=y fromuser=bofdb touser=bofdb

导出

在将要导出.dmp 文件的路径下打开cmd,并执行

exp user/pwd@ip:port/sid(实例) file=USER.dmp #tables=t_user
file:输出文件,缺省为expdat.dmp
tables: 输出的表名列表

db2向oracle中迁移

创建Oracle用户并且赋予权限

创建用户

create user test identified by test;

赋予权限

grant dba,sysdba to test;

db2迁移到Oracle

注!:在Oracle中要先创建数据库和用户,并将建表用户赋予dba权限,否则会出现USERS命名空间不可用的情况
注!:连接db2时最好用管理员用户db2inst1,连接oracle时最好用system用户,不能用sys用户

使用Oracle数据库的自带工具Oracle sql developer 进行迁移

一、新增第三方jdbc,使得可以连接上db2数据库
如果装了dbeaver,可以直接用
常见路径C:\Users\Administrator\AppData\Roaming\DBeaverData\drivers\maven\maven-central\com.ibm.db2
网盘链接:

https://pan.baidu.com/s/1-ppnWCPd26gKQp1MI5hPIQ?pwd=q4qc 
提取码:q4qc

从db2迁移到MySQL db2数据库转成oracle吗_数据库

从db2迁移到MySQL db2数据库转成oracle吗_数据库_02

二、连上db2源数据库

从db2迁移到MySQL db2数据库转成oracle吗_db2数据库_03

三、连上Oralce目标数据库

注:不要用sys用户,sys用户部分表不可访问

从db2迁移到MySQL db2数据库转成oracle吗_创建数据库_04

四、右键源数据库连接,进行Oracle迁移

注!:在Oracle中要先创建数据库和用户,并将建表用户赋予dba权限,否则会出现USERS命名空间不可用的情况

其他只需要确认源数据库和目标数据库

从db2迁移到MySQL db2数据库转成oracle吗_数据库_05

同义词

oracle中类似db2引用的配置是同义词,用与在同一个用户下访问其他用户的
create synonym schema_name_new.table_name for schema_name_old.table_name;

schema_name_new:目标用户名
schema_name_old:源用户名