欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

异构环境oracle数据库迁移教程之exp和imp以及expdp和impdp的使用

程序员文章站 2022-10-31 15:41:05
exp/imp可在以下情况下使用 两个之间传送数据 1.同一个oracle数据库的版本之间 2.不同oracle数据库的版本之间 3.相同或不相同的操作之间的oracle数据库 用于数据库的备份与恢...

exp/imp可在以下情况下使用

两个之间传送数据

1.同一个oracle数据库的版本之间

2.不同oracle数据库的版本之间

3.相同或不相同的操作之间的oracle数据库

用于数据库的备份与恢复

从一个数据库用户传送到另一个用户中

从一个表空间传送到另一个表空间中

创建一个表空间

create tablespace bank_tbs(数据库表空间) datafile '/oracle/test(数据路径) bank_data02.dbf(数据文件名)' size 5m autoextend on maxsize 10g;

创建用户时指定表空间

create user bankuser identified by bankpwd default tablespace bank_tbs;

使用export导出数据

exp bankuser/bankpwd file='/backup/bankuser.dmp' log='/backup/bankuserexp.log' 格式为exp 用户名/密码 file=导出路径及文件名称

使用import导入数据

imp bankuser/bankpwd file=/backup/bankuser.dmp full=y 注意后面这个full=y,这是指全部导入,也可以指定某个表的表名

为了有明显效果,我们可以先用bankuser用户创建一个表,然后exp,接着进入sqlplus删掉这个表,最后imp就会发现数据库恢复了

如果是在windows环境的话,貌似还需要在用户名/密码后面加上@数据库名及oracle_sid

使用另一种方法expdp实现备份数据库

首先在sqlplus中执行,使用sysdba登录,因为涉及到grant权限

create or replace directory expdp_dir as '/home/oracle/expdp_dir';

grant read,write on directory to dbauser;

退出sqlplus,进入oracle家目录

创建文件夹

mkdir expdp_dir

修改权限

chmod 777 expdp_dir

导出数据

expdp dbauser/123456 directory=expdp_dir(这里不再需要使用绝对路径) dumpfile=backuptest.dmp logfile=backuptestlog.log

导入数据

impdp dbauser/123456 directory=expdp_dir(这里不再需要使用绝对路径) dumpfile=backuptest.dmp logfile=backuptestlog.log