80 likes | 301 Views
Oracle数据库日常管理 之数据备份,恢复及迁移 (第三讲 ) 主讲:斩月 新浪微博:http://weibo.com/ylw6006 腾讯微博:http://t.qq.com/redora 博客:http://ylw6006.blog.51cto.com/ 邮箱:ylw6006@163.com. exp/imp 工具介绍. 1. exp/imp 是 oracle 早期提供的一个对数据库进行逻辑备份的客户端工具
E N D
Oracle数据库日常管理 之数据备份,恢复及迁移 (第三讲 ) 主讲:斩月 新浪微博:http://weibo.com/ylw6006 腾讯微博:http://t.qq.com/redora 博客:http://ylw6006.blog.51cto.com/ 邮箱:ylw6006@163.com
exp/imp工具介绍 1. exp/imp 是 oracle早期提供的一个对数据库进行逻辑备份的客户端工具 利用这个工具可以将数据库按表空间、用户或某些表保存到操作系统下的一个二进制格式的文件里。exp/imp在操作上可以看成是一个select--create--insert的过程。因而导出导入的速度较慢; 2. exp/imp可以针对tables(一张或多张表),owner(一个或多个用户),full(全库)进行导出导入 3. 客户端命令,不需要在服务器端运行导出导入命令 4. 如果网络中断,导出导入任务也将中断 5. 不支持任务暂停,任务采样,预估等 6. 需要提前配置好相应的用户及权限
exp/imp工具使用演示 exp演示: exp test1/test1 buffer=20480000 file=test1.dmp log=test1.log tables=t1,t2,t3 exp system/123456 buffer=20480000 file=test2.dmp log=test2.log owner=test1 exp system/123456 buffer=20480000 file=test3.dmp log=test3.log full=y imp演示: imp test1/test1 buffer=20480000 file=test1.dmp log=test1.log ignore=y imp system/123456 buffer=20480000 file=test2.dmp log=test2.log fromuser=test1 touser=test2
exp/imp优化 exp优化: 1:使用DIRECT DIRECT参数定义了导出是使用直接路径方式(DIRECT=Y),常规路径导出使用SQL SELECT语句从表中抽取数据,直接路径导出则是将数据直接从磁盘读到PGA再原样写入导出文件,从而避免了SQL命令处理层的数据转换过程。在数据量大的情况下,直接路径导出的效率优势更为明显。 2:避免I/O竞争 imp优化: 1.调整BUFFER选项,imp参数BUFFER定义了每一次读取导出文件的数据量,设的越大,就越减少Import进程读取数据的次数,从而提高导入效率。 2.使用COMMIT=Y选项,COMMIT=Y表示每个数据缓冲满了之后提交一次,而不是导完一张表提交一次。 3.使用INDEXES=N选项,只导入数据不创建索引,从而加快导入速度。
expdp/impdp工具介绍 1:expdp/impdp从oracle 10g版本后开始支持,是exp/imp工具的增强版,服务器端命令,直接路径加载,支持并行度 2:需要目录对象支持,转储文件只能被存放在DIRECTORY对象对应的OS目录中 3:expdp/impdp可以针对tables(一张或多张表),schemas(一个或多个用户),full(全库)进行导出导入 4:可以对导出任务进行空间预估及采样 5:任务可以暂停和恢复 6:支持数据库链接和闪回查询导入 7:导入前不需要创建用户,但需要创建好对应的表空间 ,除非使用remap_tablespace参数 8:可用来配置传输表空间
expdp/impdp工具使用演示 expdp演示: expdp test1/test1 directory=expdp_dir dumpfile=test01.dmp tables=t1,t2 expdp system/123456 directory=expdp_dir dumpfile=test02.dmp schemas=test1 expdp system/123456 directory=expdp_dir dumpfile=test03.dmp tablespaces=users,t1 expdp system/123456 directory=expdp_dir dumpfile=test04.dmp full=y parallel=4 expdp system/123456 directory=expdp_dir full=y parallel=4 estimat e_only=y expdp system/123456 directory=expdp_dir dumpfile=test05.dmp full=y parallel=4 sample=10 impdp演示: impdp system/123456 directory=expdp_dir dumpfile=test02.dmp remap_schemas=test1:test2
expdp/impdp优化 1:disk_async_io: 异步I/0,默认为TRUE 2:db_block_checking: 检查逻辑坏块,默认为FALSE,若改为true,则性能会降低10%,但对system表空间进行逻辑效验 3:db_block_checksum: 检查物理坏块,默认为TRUE 4:process: 默认为150 5:session: 默认为170 6:parallel_max_server: 即服务器进程可以打开的子进程数 7:share_pool_size和undo_tablespace的大小
impdp高级特性 1:network_link选项 直接通过数据库链接从source导入数据至target数据库; 需要配置数据库链接,不产生dump文件; 适用于磁盘空间紧张,网络质量良好的场景; Source数据库上的用户需要有exp_full_database权限; 2:flashback_time 支持导出先前的数据; 这部分的数据在source数据库中应当是可以被闪回的; 3:query 支持只导出导入部分数据 impdp test2/test2 directory=impdp_dir logfile=1.log network_link=dblink01 tables=test1.t3 remap_schema=test1:test2 remap_tablespace=t1:users job_name=impdp_job01 flashback_time='2013-07-23-10:00:16 query=‘test1.t3:"WHERE rownum < 3“’