异构环境oracle数据库迁移教程之exp和imp以及expdp和impdp的使用
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
上一篇: ORACLE创建作业JOB详细教程
下一篇: C++ —— C++运算符与表达式