Oracle逻辑备份与恢复选项说明


说明

1.2 估计导出文件大小

可以根据条件查询 dba_segments 视图

按用户查询

Select sum(bytes/1024/1024/1024) G from dba_segments where owner in(‘ZXD’,’ODC’);

放后台执行

如果是类 unix 系统可以使用 nohup 配合 &

Example

nohup exp sys/oracle file=/backup/expdp/full.dmp log=/backup/expdp/full.log full=Y &

 

EXP/IMP

简介: 10g 以前逻辑备份或导入导出工具。支持多种导出模式,导出和导入前需要先设置字符集即 NLS_LANG 环境变量。导入之前需要先创建好使用到的表空间和用户

2.1 EXP 参数

关键字     说明(默认)    

----------------------------------------------

USERID    用户名 / 口令

FULL    导出整个文件 (N)

BUFFER    数据缓冲区的大小

OWNER    所有者用户名列表

FILE    输出文件 (EXPDAT.DMP)

TABLES    表名列表

COMPRESS  导入一个范围 (Y)

RECORDLENGTH  IO 记录的长度

GRANTS    导出权限 (Y)

INCTYPE    增量导出类型

INDEXES    导出索引 (Y)

RECORD    跟踪增量导出 (Y)

ROWS    导出数据行 (Y)

PARFILE    参数文件名

CONSTRAINTS  导出限制 (Y)

CONSISTENT  交叉表一致性

LOG    屏幕输出的日志文件

STATISTICS  分析对象 (ESTIMATE)

DIRECT    直接路径 (N)

TRIGGERS  导出触发器 (Y)

FEEDBACK  显示每 x (0) 的进度

FILESIZE  各转储文件的最大尺寸

QUERY    选定导出表子集的子句

 

全库导出 Example:

exp sys/oracle file=/backup/expdp/full.dmp log=/backup/expdp/full.log full=Y

 

按用户导出 Example:

exp "'"/ as sysdba"'" file=/backup/expdp/users.dmp log=/backup/expdp/users.log owner=zxd,odc

 

按表导出 Example

exp "'"/ as sysdba"'" file=/backup/expdp/users.dmp log=/backup/expdp/users.log tables=zxd.student, henry.BBB

 

2.2 IMP 参数

关键字     说明(默认)    

----------------------------------------------

USERID    用户名 / 口令

FULL    导入整个文件 (N)

BUFFER    数据缓冲区大小

    所有人用户名列表

FILE    输入文件 (EXPDAT.DMP)

TOUSER    用户名列表

SHOW    只列出文件内容 (N)

TABLES    表名列表

IGNORE    忽略创建错误 (N)

RECORDLENGTH  IO 记录的长度

GRANTS    导入权限 (Y)

INCTYPE    增量导入类型

INDEXES    导入索引 (Y)

COMMIT    提交数组插入 (N)

ROWS    导入数据行 (Y)

PARFILE    参数文件名

LOG    屏幕输出的日志文件

CONSTRAINTS  导入限制 (Y)

DESTROY    覆盖表空间数据文件 (N)

INDEXFILE  将表 / 索引信息写入指定的文件

SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)

ANALYZE    执行转储文件中的 ANALYZE 语句 (Y)

FEEDBACK  显示每 x (0) 的进度

TOID_NOVALIDATE  跳过指定类型 id 的校验

FILESIZE  各转储文件的最大尺寸

RECALCULATE_STATISTICS 重新计算统计值 (N)

 

全库导入 Example:

imp sys/oracle file=/backup/expdp/full.dmp log=/backup/expdp/full.log full=Y ignore=y

 

按用户导入 Example:

imp "'"/ as sysdba"'" file=/backup/expdp/users.dmp log=/backup/expdp/users.log fromuser=zxd,odc touser=zxd1,odc1 ignore=y

 

按表导入 Example

imp "'"/ as sysdba"'" file=/oradata/users.dmp log=/oradata/users.log fromuser=zxd,henry touser=henry,zxd tables=student,BBB

 

EXPDP/IMPDP

简介: 10g 开始新特性,效率高。支持压缩、并行、按 SCN 导出等新功能,只能在服务端运行。导入之前需要创建好表空间或者指定 remap 参数。 expdp/impdp 需要指定 directory 。可以查看 dba_directories 视图,查找 directory 所在路径,也可以自己创建。

创建语句如下:

create directory dump as ‘/oradata/dump’;

 

3.1 EXPDP 参数

关键字               说明 ( 默认 )

---------------------------------------------------------------------

ATTACH                 连接到现有作业 , 例如 ATTACH [= 作业                                                                ] 。可通过查看 dba_datapump_jobs 视图

COMPRESSION               减小有效的转储文件内容的大小

                    关键字值为 : (METADATA_ONLY) NONE

CONTENT               指定要卸载的数据 , 其中有效关键字为 :

                   (ALL), DATA_ONLY METADATA_ONLY

DIRECTORY               供转储文件和日志文件使用的目录对象。

DUMPFILE               目标转储文件 (expdat.dmp) 的列表 ,

                    例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp

ENCRYPTION_PASSWORD          用于创建加密列数据的口令关键字。

ESTIMATE               计算作业估计值 , 其中有效关键字为 :

                   (BLOCKS) STATISTICS

ESTIMATE_ONLY             在不执行导出的情况下计算作业估计值。

EXCLUDE               排除特定的对象类型 , 例如 EXCLUDE=TABLE:EMP

FILESIZE               以字节为单位指定每个转储文件的大小。

FLASHBACK_SCN             用于将会话快照设置回以前状态的 SCN

FLASHBACK_TIME           用于获取最接近指定时间的 SCN 的时间。

FULL                 导出整个数据库 (N)

HELP                 显示帮助消息 (N)

INCLUDE               包括特定的对象类型 , 例如 INCLUDE=TABLE_DATA

JOB_NAME               要创建的导出作业的名称。

LOGFILE               日志文件名 (export.log)

NETWORK_LINK            链接到源系统的远程数据库的名称。

NOLOGFILE               不写入日志文件 (N)

PARALLEL               更改当前作业的活动 worker 的数目。

PARFILE               指定参数文件。

QUERY                 用于导出表的子集的谓词子句。

SAMPLE                要导出的数据的百分比 ;

SCHEMAS               要导出的方案的列表 ( 登录方案 )

STATUS                在默认值 (0) 将显示可用时的新状态的情况下 ,

                    要监视的频率 ( 以秒计 ) 作业状态。

TABLES                标识要导出的表的列表 - 只有一个方案。

TABLESPACES          标识要导出的表空间的列表。

TRANSPORT_FULL_CHECK    验证所有表的存储段 (N)

TRANSPORT_TABLESPACES    要从中卸载元数据的表空间的列表。

VERSION             要导出的对象的版本 , 其中有效关键字为 :

                 (COMPATIBLE), LATEST 或任何有效的数据库版本。

全库导出 Example:

expdp sys/oracle directory=expdp dumpfile=full.dmp logfile=full.log full=Y

 

 

按用户导出 Example:

expdp sys/oracle directory=expdp dumpfile=full.dmp logfile=full.log schemas=zxd,odc

 

按表导出 Example

expdp sys/oracle directory=expdp dumpfile=full.dmp logfile=full.log tables=zxd.student,henry.BBB

 

3.2IMPDP 参数

关键字               说明 ( 默认 )

---------------------------------------------------------------------

ATTACH                            连接到现有作业 , 例如 ATTACH [= 作业名 ]

CONTENT                          指定要加载的数据 , 其中有效关键字为 :

                                    (ALL), DATA_ONLY METADATA_ONLY

DIRECTORY                       供转储文件 , 日志文件和 sql 文件使用的目录对象。

DUMPFILE                          要从 (expdat.dmp) 中导入的转储文件的列表 ,

                                     例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp

ENCRYPTION_PASSWORD         用于访问加密列数据的口令关键字。

                                     此参数对网络导入作业无效。

ESTIMATE                         计算作业估计值 , 其中有效关键字为 :

                                   (BLOCKS) STATISTICS

EXCLUDE                          排除特定的对象类型 , 例如 EXCLUDE=TABLE:EMP

FLASHBACK_SCN                 用于将会话快照设置回以前状态的 SCN

FLASHBACK_TIME                用于获取最接近指定时间的 SCN 的时间。

FULL                               从源导入全部对象 (Y)

HELP                               显示帮助消息 (N)

INCLUDE                           包括特定的对象类型 , 例如 INCLUDE=TABLE_DATA

JOB_NAME                         要创建的导入作业的名称。

LOGFILE                          日志文件名 (import.log)

NETWORK_LINK                  链接到源系统的远程数据库的名称。

NOLOGFILE                       不写入日志文件。

PARALLEL                        更改当前作业的活动 worker 的数目。

PARFILE                          指定参数文件。

QUERY                            用于导入表的子集的谓词子句。

REMAP_DATAFILE                在所有 DDL 语句中重新定义数据文件引用。

REMAP_SCHEMA                  将一个方案中的对象加载到另一个方案。

REMAP_TABLESPACE             将表空间对象重新映射到另一个表空间。

REUSE_DATAFILES               如果表空间已存在 , 则将其初始化 (N)

SCHEMAS                           要导入的方案的列表。

SKIP_UNUSABLE_INDEXES        跳过设置为无用索引状态的索引。

SQLFILE                           将所有的 SQL DDL 写入指定的文件。

STATUS                             在默认值 (0) 将显示可用时的新状态的情况下 ,

                                      要监视的频率 ( 以秒计 ) 作业状态。

STREAMS_CONFIGURATION       启用流元数据的加载

TABLE_EXISTS_ACTION           导入对象已存在时执行的操作。

                                     有效关键字 : (SKIP), APPEND, REPLACE TRUNCATE

TABLES                             标识要导入的表的列表。

TABLESPACES                      标识要导入的表空间的列表。

TRANSFORM                       要应用于适用对象的元数据转换。

                                     有效的转换关键字 : SEGMENT_ATTRIBUTES, STORAGE

                                    OID PCTSPACE

TRANSPORT_DATAFILES          按可传输模式导入的数据文件的列表。

TRANSPORT_FULL_CHECK        验证所有表的存储段 (N)

TRANSPORT_TABLESPACES       要从中加载元数据的表空间的列表。

                                     仅在 NETWORK_LINK 模式导入操作中有效。

VERSION                      要导出的对象的版本 , 其中有效关键字为 :

                               (COMPATIBLE), LATEST 或任何有效的数据库版本。

                                仅对 NETWORK_LINK SQLFILE 有效

 

全库导入 Example:

impdp "'"/ as sysdba"'" directory=impdp dumpfile=full.dmp logfile=full.log full=y

 

按用户导入 Example:

impdp "'"/ as sysdba"'" directory=impdp dumpfile=user.dmp logfile=user.log schemas=zxd,odc

 

impdp "'"/ as sysdba"'" directory=impdp dumpfile=user.dmp logfile=user.log remap_schema=zxd:zxd1,odc:odc1

 

按表导入 Example

impdp "'"/ as sysdba"'" directory=impdp dumpfile=tables.dmp logfile=tables.log remap_tables=zxd.sutdent:odc.student,

 

按表导出 并做 remap 映射

impdp odc/odc directory=expdp tables=YG2.YG_TB_JIANYAN dumpfile=tab.dmp logfile=tab.log remap_schema=YG2:YG215 table_exists_action=replace

 

只导入用户和权限

impdp \'/ as sysdba\' DIRECTORY=DATA_PUMP_DIR LOGFILE=dp_userimp.log NETWORK_LINK=ttslink FULL=y INCLUDE=USER,ROLE,ROLE_GRANT,PROFILE

 

按查询条件导出
C:\>expdp  scott/tiger@orcl directory=dirdp dumpfile=expdp.dmp query='dept:"WHERE DEPTNO=20"';

 

追加数据
TABLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | REPLACE}

 

C:\>impdp david/abc123 directory=dirdp dumpfile=expdp.dmp schemas=scott remap_schema=scott:david table_exists_action=append

 

 


请使用浏览器的分享功能分享到微信等