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源数据库
三、连上Oralce目标数据库
注:不要用sys用户,sys用户部分表不可访问
四、右键源数据库连接,进行Oracle迁移
注!:在Oracle中要先创建数据库和用户,并将建表用户赋予dba权限,否则会出现USERS命名空间不可用的情况
其他只需要确认源数据库和目标数据库
同义词
oracle中类似db2引用的配置是同义词,用与在同一个用户下访问其他用户的
create synonym schema_name_new.table_name for schema_name_old.table_name;
schema_name_new:目标用户名
schema_name_old:源用户名