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
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