一 说明
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