Oracle 10g 已经引入了数据泵(Data Dump)技术,这项技术和之前的exp/imp有哪些好处呢,简单的来说就是恢复和备份速度非常快;
在说明数据泵的使用方法之前,我们先来了解二者的区别:
1、 数据库的导入导出功能简介:
目前oracle官方提供两种导入导出方式:imp/exp和impdp/expdp;
2、两者简单比较:
|
命令适用范围 |
效率 |
导出的DMP文件存放路径 |
备注 |
IMP/EXP |
服务端/客户端 |
底 |
当在客户端使用时存放在客户端;在服务端使用时存放在服务端 |
|
IMPDP/EXPDP |
服务端/客户端 |
高 |
只存放服务器端 |
|
3、用法举例
用户名、表空间均相同的情况:
imp user/[email protected]:1521/orcl file=d:\qis.dmp
exp user/[email protected]:1521/orcl file=d:\qis.dmp full=y ignore=y
create or replace directory impdp_dir as ‘d:\impdp_dir’;--注意物理盘符也要创建对应的目录
create or replace directory expdp_dir as ‘d:\expdp_dir’;--注意物理盘符也要创建对应的目录
grant read,write on directory impdp_dir,expdp_dir to user;
impdp user/[email protected]:1521/orcl directory=impdp_dir dumpfile=qis.dmp
expdp user/[email protected]:1521/orcl directory=expdp_dir dumpfile=qis.dmp
用户名、表空间不相同的情况:
Impdp user/[email protected]:1521/orcl directory=impdp_dir dumpfile=qis.dmp remap_schema=qis:cvqm remap_tablespace=qis:cvqm
说明:qis是当前需要导入dmp文件的schema和tablespace
4、数据库表空间的创建
create tablespace tablespace_name logging datafile ‘d:\app\hwm\oradata\orcl\QIS.DBF’
size 2048m
autoextend on next 100m
maxsize 10G extent—限制表空间最大增长到10G
management local;
5、用户创建和授权
create user user_name identified by password default tablespace tablespace_name;
grant connect,dba,resource to user_name with admin option ;
6、利用.bat文件备份数据库
每次备份数据库都要重敲一遍命令是一件非常令人痛苦的事情,好在批处理为我们解决了这一问题,以下代码为使用批处理预计进行备份的例子:
请将以下代码存放在txt文本中,然后将文本后缀改为bat
@echo 即将备份数据库
pause
set Data_FileName=CVQM-%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%.DMP
set Log_FileName=CVQM-%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%.LOG
expdp cvqm/[email protected]:1521/orcl directory=expdp_dir schemas=cvqm dumpfile=%Data_FileName% logfile=%Log_FileName%
@echo 数据库备份成功
pause