Oracle数据库逻辑备份方法exp-expdp
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据泵技术
5.只导出数据,使用EXPDP的CONTENT参数,可以指 定导出表数据和元数据(对应参数ALL),导出表 行数据(对应参数DATA_ONLY)或只导出元数据 即表以及其他数据库对象的定义(对应参数 METADATA_ONLY)。 F:\>expdp system/oracle@orcl dumpfile =pump_dir:mydb_dataonly_%u.dat filesize=100m job_name=larry full=y content =data_only logfile =pump_dir:mydb_exp_dataonly_log
SQL> grant read on directory pump_dir to scott;
授权成功。
数据泵导入导出操作实例:
1.导出整个数据库,我们使用SYSTEM用户登录数据库, 限制备份的数据文件的大小为100M,一旦备份数据文 件满,则自动创建一个新的备份文件,使用了替换变 量%U来实现备份文件的自动创建,其中NOLOGFILE=Y 即不记录备份过程。 F:\>expdp system/oracle@orcl dumpfile = pump_dir:mydb3_%u.dat filesize = 100m nologfile = y job_name =tom full = y。 2.导出一个模式 我们导出SCOTT模式,在下例中没有SCHEMA参数,但 是默认导出登录数据库时的模式对象。 D:\>expdp scott/tiger@orcl dumpfile=pump_dir:scottschema.dmp logfile =pump_dir:scottschema.log
INCTYPE INDEXES: (Y) INDEXFILE:接收索引建立命令的文件 LOG: PARFILE: RECALCULATE_STATISTICS:导入时生成数据库优 化器统计 RECORDLENGTH: ROWS: (Y) SHOW:屏幕上显示导出文件的内容,而不导入 它们,还是导入它们。(N)
1.2.1
Export程序的参数
BUFFER:缓冲区大小 COMPRESS:(Y)是否合并压缩 CONSISTENT: (N)一致性 CONSTRAINTS:约束(Y) DIRECT:直接路径导出(N) FEEDBACK:点格式显示进度(0) FILE:导出文件名称。(expdat.dmp)
FILESIZE:导出文件最大字节数 FULL:是否在全数据库方式下导出(N) GRANTS:权限(Y) HELP:显示描述参数的帮助信息(N) INCTYPE:指定增量备份的类型 INDEXES:导出索引(Y) LOG:接收报告和错误消息的文件名 OWNER:用户导出方式 PARFILE:参数文件
授权成功。
Fra Baidu bibliotek
数据泵的目录对象(续)。
数据泵的目录对象(续)。
如果使用SYS用户可以直接创建数据泵目录。 SQL> create directory pump_dir as 'f:\pump'; 目录已创建。 我们创建了一目录。该目录可以给其他用户使用,但是必须将读、写该目录的权限赋予用 户,我们可以将该目录的读、写权赋予SCOTT用户,如下所示。
2.3 调用Import
(1)输入命令 imp username/password PARFILE=filename (2)输入命令 exp username/password <parameters> (3)输入命令 imp username/password
第三章 导入导出与字符集
导入导出经常遇到的问题: (1)字符集 (2)版本
数据泵导入导出操作实例:
3.导出特定的表,此时使用TABLES参数指定导入的表的列表,如果该表不 属于登录的用户,但是登录用户有访问这些表的权限,则在TABLES参数 的表必须使用schema.tablename的方式。 F:\>expdp system/oracle@orcl dumpfile = pump_dir:scott_tables_%u.dat tables=scott.emp,scott.dept nologfile=y job_name=only_scott 4.导出表空间,导出指定表空间使用TABESAPCES参数,如果有多个表空间 需要导出,表空间名使用逗号隔开,这里我们使用了PARALLEL参数,指 定数据导出并行线程数量,与之对应使用替换变量%U来创建相应数量 的备份数据文件,这样每个线程可以独立写一个备份数据文件,提高了 导出速度。 D:\>expdp system/oracle@orcl dumpfile=pump_dir:users_tbs_%u.dmp tablespaces=users filesize=100m parallel=2 logfile=users_tbs.log job_name =exp_users_tbs
3.1 字符集
导出使用的字符集将会记录在导出文件中, 当文件导入时,将会检查导出时使用的字 符集设置。如果不同于导入客户端的 NLS_LANG设置,字符集将根据导入客户端 NLS_LANG设置进行转换。
通常在导出时最好把客户端字符集设置得和 数据库端相同。
两种情况
当进行数据导入时,主要存在以下两种情 况: (1)源数据库和目标数据库具有相同的字 符集:
第一章 Export(导出)
使用Export,必须要有Oracle数据库上的 CREATE SESSION特权。
要导出其他用户拥有的表,必须有 EXP_FULL_DATABASE角色。 导出顺序:类型定义、表定义、表数据、 表索引、完整性约束、视图、过程和触 发器、位图、函数和区域索引
1.1 导出方式
只需设置导出和导入端的客户端 NLS_LANG等于数据库字符集即可。
(2)源数据库和目标数据库字符集不同: 先将导出端客户端的NLS_LANG设置成和导 出端的数据库字符集一致,导出数据,然后 将导入端客户端的NLS_LANG设置成和导出 端一致,导入数据,这样转换发生在数据库 端,而且只发生一次。 只有当导入端数据库字符集为导出端数据库 字符集的严格超集时,数据才能完全导成功 ,否则,可能会有数据不一致或乱码出现。
Oracle数据库逻辑备份方法 exp/expdp, imp/impdp
exp/imp简介
Export(导出)和Import(导入)程序可以将 Oracle数据从Oracle数据库中导出和导入, 为用户提供一个在Oracle数据库间移动数据 对象的简单方法。Export和Import两者是互 补的,Export讲数据按Oracle特定的格式从 Oracle数据库写到操作系统文件中。Import 读取Export导出的文件,将相应信息恢复到 现有数据库中。
表方式 用户方式 表空间方式 全数据库方式
1.2 使用Export
为了使用Export,在建立数据库后必须运行脚 本CATEXP.SQL或CATALOG.SQL。它们只需在 数据库上运行一次,在执行导出前不需重 新运行。 运行Export前,要确保有足够的磁盘或磁带存 储空间以写导出文件。若没有足够的空间 ,则发生写故障,Export中断。
Oracle数据泵技术特点-续
4.独立于客户机:因为数据泵技术是基于数据库服务器的, 它是数据库服务器的一部分,一旦 启动数据泵作业,则 与客户机无关。 5.支持网络操作:支持在两个联网的数据库服务器之间导入 和导出数据文件,也支持直接的将 数据从一个数据库导 入另一个数据库,而不需要备份文件。网络操作的方式基 于数据库连接 ,在数据库间直接移动数据的方法不需要 磁盘存储。 6.导入功能更加细粒度:在数据泵技术中,使用INCLUDE和 EXCLUDE参数使得数据泵实用程序可 以导入或导出更加 细粒度的对象,如可以选择只导出过程或函数等。 7.支持增量备份以及快速增量备份,使得备份的数据量减少 加快了备份速度。
数据泵的目录对象
数据泵的目录对象。
数据泵作业在数据库服务器上创建所有的备份文件,而Oracle要求数据泵必 须使用目录对象,以防止用户误操作数据库服务器上特定目录下的操作 系统文件。目录对象对应于操作系统上的一个指定目录。 如果用户需要自己创建目录对象,需要具有CREATE ANY DIRECTORY权限,如 下所示,首先向SCOTT用户授权CREATE ANY DIRECTORY然后创建属于 SCOTT用户的数据泵目录对象。 授权过程: SQL> conn system/oracle@orcl 已连接。 SQL> grant create any directory to scott;
1.2.2
调用Export程序
(1)输入命令 exp username/password PARFILE=filename (2)输入命令 exp username/password (3)只输入命令 exp
1.3 警告、错误和完成信息
日志文件:可以在日志文件中查找全部Export 信息 警告信息:非致命错误后Export不中断。这些 非致命错误称为警告(warning) 致命错误信息:致命错误发生,并中断Export 会话。 完成消息:Export没有错误而成功
3.2 版本
可以跨版本的使用 EXP/IMP ,但必须正确地 使用EXP和IMP的版本: 使用IMP的版本匹配数据库的版本 使用EXP的版本匹配两个数据库中最低的版本 版本跨度不要大
Oracle数据泵expdp/impdp
数据泵技术是在Oracle10g及以上版本中使用的数据库备份与 恢复技术,是一种更自动化、智能化得数据库备份与恢复 工具。 数据泵技术的特点: 1.导入导出速度更快:因为在数据泵导入导出作业中可以启 动多个线程,所以可以并行的实现 作业,对于移动大数 据量,性能显著提高。 2.重启失败的作业:这个功能是传统的EXP/IMP程序无法实现 的,不论是数据泵导入导出作业 停止还是失败,都可以 很容易的重启作业。同时也支持手动停止或重启作业。 3.实时交互能力:在一个运行的数据泵作业中,可以从其他 屏幕或控制终端与当前数据泵作业 交互,以监控作业的 执行以及更改作业的某些参数。
QUERY:选择表的行的子集 RECORD:是否记录系统表(Y) RECORDLENGTH:文件记录长度 ROW:到出表数据的行(Y) STATISTICS:优化器统计类型(estimate) TABLES:表方式 TABLESPACES:表空间列表 TRANSPORT_TABLESPACE:表空间方式(N) USERID:用户名/密码 VOLSIZE:每卷磁带中导出文件的最大字节数
2.2 Import程序的参数
ANALYZE:导出文件中的sql analyze语句,或 装入导出时的优化统计。(Y) BUFFER: COMMIT:每组插入后是否提交(N) CONSTRAINTS: (Y) DATAFILES:在表空间导入时,制定要传输导 数据库的数据文件
DESTROY:数据库文件是否被重用(Y) FEEDBACK: (0) FILE : (expdat.dmp) FILESIZE:导出时指定导入时必须指定 FROMUSER:指定包含导入对象的模式列表 FULL: (N) GRANTS: (Y) HELP: (N) INNORE:如何处理对象建立错误(N)
第二章 Import(导入)
Import程序将Export程序从一个Oracle数据库 中导出的数据插入到另一个Oracle数据库中 。Export导出的文件只能由Import读取。 建议在到入导已有表时,将引用完整性约束 使不能,在导入完成后重新是能该约束
2.1 导入方式
表方式 用户方式 全数据库方式 可传输的表空间方式
SKIP_UNUSABLE_INDEXES:是否跳过已被设为 不可用的索引。(N) TABLE:导入的表的列表 TABLESPACES: TOUSER:指定被导入的用户名列表 TRANSPORT_TABLESPACE: TTS_OWNERS:表空间导入时列出可传输表空 间中的数据的用户 USERID VOLSIZE
1.4 直接路径导出
Export提供常规路径导出和直接路径导出两种方法 导出表数据。 常规路径导出使用sql select语句从表中提取数据。 直接路径导出中,数据从磁盘读到缓冲区高速缓存 中,行被直接传输到Export用户 直接路径导出提去数据比常规路径导出快
1.5 Export常见注意事项
跨网络传输导出文件 远程导出/导入 字符集 使用不同版本的Export