Oracle备份方式主要分为数据泵导出备份、热备份与冷备份三种,今天首先来实践一下数据泵备份与还原。数据泵导出/导入属于逻辑备份,热备份与冷备份都属于物理备份。oracle10g开始推出了数据泵(expdp/impdp),可以使用并行参数选项,因此,相对于传统的exp命令来说,执行效率更高。
一、知晓expdp命令
|
二、准备工作
1、查询路径信息
查看已经创建的路径信息:
SELECT * FROM dba_directories;
2、创建路径
创建路径需要sys权限,需要有create any
directory权限才可以创建路径。
选项:DIRECTORY=directory_object
Directory_object用于指定目录对象名称。需要注意,目录对象是使用CREATE
DIRECTORY语句建立的对象,而不是OS目录。
eg: CREATE OR REPLACE directory backup_path
AS ‘D:\APP\ORADATA\db_backup‘; --创建路径名为dackup_path的路径,并指向硬盘的指定位置
对新创建的路径进行授权操作:
eg:grant read,write on directory backup_path
to orcldev; --将对路径的读写权限分配各orcldev用户。
三、操作实例
执行expdp和impdp命令需要拥有exp_full_database和imp_full_database权限,授权语句如下:
eg:grant exp_full_database,imp_full_database
to orcldev;
1、导出orcldev这个schema的所用对象[schemas or
full]
eg:expdp orcldev/[email protected]
directory=backup_path dumpfile=orcldev_schema.dmp
logfile=orcldev_schema_2013.log schemas=orcldev
2、导出orcldev这个用户下的某些表[tables]
eg:C:\>expdp orcldev/oracle
directory=dackup_path dumpfile=orcldev_table.dmp logfile=orcldev_table_2013.log
tables=(‘TAB_TEST‘,‘TAB_A‘)
3、只导出orcldev这个用户的元数据[content]
eg:C:\>expdp orcldev/oracle
directory=dackup_path dumpfile=orcldev_meta.dmp logfile=orcldev_meta_2013.log
SCHEMAS=orcldev
CONTENT=METADATA_ONLY
4、只导出orcldev这个用户50%的抽样数据[sample]
eg:C:\>expdp orcldev/oracle
directory=dackup_path dumpfile=orcldev_samp.dmp logfile=orcldev_samp_2013.log
schemas=orcldev sample=50
5、采用并行方式备份整库[parallel]
parallel参数只有在oracle10g之后的版本(包含10g)有效。
oracle_online:you
can use the DUMPFILE parameter during export operations to specify multiple dump
files, by using a substitution variable (%U) in the filename. This is called a
dump file template. The new dump files are created as they are needed, beginning
with 01 for %U, then using 02,03,and so on.
eg:C:\>expdp orcldev/oracle
directory=dackup_path dumpfile=orcldev_parallel_%U.dmp
logfile=orcldev_parallel_2013.log parallel=4
"%U"表示自动生成递增的序列号。
6、导出orcldev这个方案对象,但不包含索引[exclude]
eg:
--可以剔除的对象有:VIEW,PACKAGE,FUNCTION,index,constraints,table,schema,user等等
1) C:\>expdp orcldev/oracle directory=dackup_path
dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log SCHEMAS=orcldev
EXCLUDE=index
2)
C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp
logfile=orcldev_exclude.log SCHEMAS=orcldev EXCLUDE=INDEX:"LIKE
‘TEST%‘" --导出这个orcldev方案,剔除以TEST开头的索引
3) C:\>expdp orcldev/oracle directory=dackup_path
dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log
EXCLUDE=SCHEMA:"=‘SCOTT‘"
C:\>expdp
orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp
logfile=orcldev_exclude.log EXCLUDE=USER:"=‘SCOTT‘"
--备份整库但剔除SCOTT这个用户的对象。
注意:include与exclude不能同时使用。
7、PARFILE选项
expdp命令可以调用parfile文件,在parfile里可以写备份脚本,可以使用query选项。
Oracle
highly recommends that you place QUERY
specifications in a parameter file;
otherwise, you might have to use operating system-specific escape characters on
the command line before each quotation mark.
如expdp.txt
内容如下:
USERID=orcldev/oracle directory=dackup_path dumpfile=orcldev_parfile.dmp
logfile=orcldev_parfile.log TABLES=‘TAB_TEST‘ QUERY="WHERE
TRAN_DATE=TO_DATE(‘2013-08-31‘,‘YYYY-MM-DD‘)"
执行方法:expdp
parfile=expdp.txt 即可执行备份
使用parfile好处是使用query选项是不用使用转义字符,如果将query参数放到外边的话,需要将""进行转义。
eg:
UNIX写法:
expdp
orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log
schemas=orcldev INCLUDE=TABLE:\"IN \(\‘TEST_A\‘,\‘TEST_B\‘\)\"
--在Unix系统执行是需要将单引号进行转义操作,否则会报错。
WINDOWS写法:
expdp
orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log
schemas=orcldev INCLUDE=TABLE:"IN \(‘TEST_A‘,‘TEST_B‘)"
8、TABLESPACE导出表空间
eg:expdp
orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log
tablespaces=user,orcldev
9、Version选项
VERSION选项默认值是COMPATIBLE,即兼容模式。在我们备份的时候,可以指定版本号。
eg:expdp
orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log full=Y
VERSION=10.2.0.4
10、FLASHBACK_TIME选项
指定导出特定时间点的表数据,可以联系一下FLASHBACK功能。
eg:C:\>expdp
orcldev/oracle directory=dackup_path dumpfile=orcldev_flash.dmp
logfile=orcldev_flash.log SCHEMAS=orcldev
FLASHBACK_TIME="TO_TIMESTAMP(‘2013-09-28 14:30:00‘,‘DD-MM-YYYY
HH24:MI:SS‘)"
四、参考
http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_export.htm#i1007829