Oracle备份与还原(Expdp/Impdp)
- 运行cmd;
- 登陆数据库,输入命令:sqlplus 用户名/密码;
- 建立目录对象:
在建立目录对象前查询是否存在目录对象,若存在则不需要创建:
select * from ALL_DIRECTORIES;
若不想要自己所创建的目录对象可删除:
drop DIRECTORY目录对象名;
create directory dir as ‘D:\dir’; –建立目录对象() - 导入导出操作授权:
Grant read,write on directory dir to 用户名; - 退出:exit;
参数介绍:
1.attach
用于在客户会话与已存在的作业建立联系
attach=[schema_name.]job_name
查看job_name : SELECT * FROM DBA_DATAPUMP_JOBS
2.compression 11g
用于指定导出时要压缩的数据,默认metadata_only
compression={all| data_only |metadata_only | none}
all 压缩元数据和对象数据 data_only 只压缩对象数据 metadata_only 只压缩元数据 none 不压缩任何数据
3.content
指定要导出的内容, 默认 all
content={all | data_only | metadata_only }
all 对象结够及数据 data_only 表示导出数据 metadata_only 只导出对象结构
4.data_options 11g
用于为某些类型的数据提供选项11g xnl_clobs
5.directory
指定转储文件的目录
directory=directory_object
6.dumpfile
指定转储文件的名称
dumpfile=[directory_object:]file_name[,…..]
7.encryption
是否加密导出数据 默认none
encryption={all | data_only |metadata_only | encrypted_columns_only | none}
all 对象和元数据 data_only 对象加密 metadata_only 元数据加密 encryption_columns_only 只加密加密列 none 不加密
8.encryption_algorithm
加密算法 默认aes128
encryption_algorithm= {aes128 | aes 192 | aes 256}
9.encryption_mode
加密和解密所使用的安全类型
encryption_mode={dual | password |transparent }
dual 表示用 oracle wallet 或指定口令建立导出文件password 指定口令建立导出文件 transparent oracle wallet建立导出文件
10.encryption_password
指定加密和解密口令 encryption_password=password
11.estimate
估计被导出表所占用的磁盘空间的方法 默认:blocks
estimate={blocks |statistics}
blocks 安照目标对象所占用的数据块个数乘以数据块的尺寸估计对象占用的空间, statics 安装最近的统计值估算对象占用的表空间
12.estimate_only
用于指定是否估算导出作业所占的磁盘空间,默认值为N
estimate_only={Y|N}
13.EXCLUDE
用于指定导出时的排出对象类型或相关对象。
exclude=object_type[:name_clause][,….]
object_type 对象类型,name_clause 指具体对象
14.filesize
导出文件的大小 默认0 无限制
filesize=integer [ B | K |M |G]
15.flashback_scn
用于指定特殊的scn点的表
flashback_scn=scn_value
16.flashback_time
用于定导出特定时间点的表数据
flashback_time=“TO_TIMESTAMP(time-value)”
17. full
导出数据库 默认N
full={y|n}
18.help
显示信息help=y
19.include
指定导出时包含的对象类型及相关对象
include=object_type [:name_clause] [,….]
20.job_name
指定作业的名称 默认 sys_xxx
job_name=jobname_string
21.logfile
指定导出日志的名称:
logfile=[directory_object:]file_name
22.network_link
指定数据库链名。 远程到本地必须设置
network_link=source_database_link
用于指定数据库的链名 不可导出远程的对象表 需要本地有数据库 数据库 内建立 dblink 和 directry路径
23.nologfile
禁止生产导出日志 y|n
24.parallel =integer
操作并行进程数 一般是cpu的2倍 可以被文件个数整除
25.parfile
指定导出的参数文件的名称。
parfile=[directory_path]file_name
26.query
该参数过滤导出数据的where条件。
query=[sehema.][table_name:] query_clause
query_clause 用于指定语句 不可与 content=metadata estimate_only transport_tablespaces 同时使用。 query=“where deptno=10”
27.remap_data
用于转换列的数据函数, 并将转换值导出到文件中
remap_data=[schema1.]tablename.column_name:[schema2.]pkg.func
28.reuse_dumpfiles Y|N
覆盖已处在的导出文件,默认N
29.SAMPLE
用于指定被采样数据块的百分比
sample=[[schema_name.]table_name:]sample_percent (采用比率)
30.schemas
用于指定特定方案,默认当前用户
31.status
显示当前导出作业进程的详细状态 默认为 0 时间将为 秒
32.tables
导出的表
tables=[schema_name.]table_name[:partition_name][,……] partition_name 分区名
33.tablespaces
导出表空间
34.transport_full_check Y|N
用于指定被搬移表空间和未搬移表空间的关联关系 默认N 当 Y导出作业检查表空间 之间是完整的关联关系,当个会报错 表表空间 和表的索引表空间 同时搬移才会成 功 N 表可以成功 索引不可成功
35.transport_tablespaces
用于指定搬移的的表空间
36.version
用于指定被导出对象的数据库版本 默认 compatible
version={compatable | latest |version_string}
compatible 根据compatible参数生成对象 latest 根据数据库的实际版本 version_string 指定数据库版本(>9.2)
开始数据库导出:
(1) 导出表:
Expdp system/newoa directory =dir dumpfile =newoa.dmp tables =emp;
(2) 导出方案:
Expdp system/newoa directory =dir dumpfile =newoa.dmp schemas =newoa;
(3) 导出表空间:
Expdp system/newoa directory =dir dumpfile =newoa.dmp tablespaces =newoa;
(4) 导出数据库:
Expdp system/newoa directory =dir dumpfile =neowa.dmp full =y;
开始还原数据库:
(1) 导入表:
Impdp system/newoa directory=dir dumpfile=newoa.dmp tables=emp;
注意,如果将表导入其他方案中,必须指定REMAP_SCHEMA选项
Eg: Impdp system/newoa directory=dir dumpfile=newoa.dmp tables=emp REMAP_SCHEMA=system:test;
(2) 导入方案:
Impdp system/newoa directory=dir dumpfile=newoa.dmp schemas=newoa;
导入其他方案同上
(3) 导入表空间:
Impdp system/newoa directory=dir dumpfile=newoa.dmp tablespaces=newoa;
(4) 导入数据库
Impdp system/newoa directory=dir dumpfile=newoa.dmp full = y;