`

db oracle imp/exp

阅读更多

使用Oracle 10g数据泵(EXPDP/IMPDP)

http://junmail.iteye.com/blog/215780

一、关于数据泵的概述

      在Oracle 10g中,数据泵(Data Pump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。

 

      通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。

 

      数据泵通过新的API来建立和管理,这些新的工作主要由DBMS_DATAPUMP来完成。新的导入/导出工具完全成为了一个客户端应用,通过IMPDP/EXPDP执行的命令实际上都是在调用Server端的API在执行操作,所以一旦一个任务被调度或执行,客户端就可以推出连接,任务会在server端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改

 

二、数据泵的使用

 

示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

 

注意到与EXP不同,EXPDP增加了一个主要的参数:DIRECTORY

 

这个参数是用来定义一个路径,前面已经提到,数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server端的路径

 

如:

//创建目录

create or replace directory  expdir as 'd:\';

 

//给test赋予目录的读写权限

grant read,write on directory expdir to test;

 

//导出数据

C:\>expdp test/test@acf  dumpfile=test.dmp directory=expdir

 

 

三、EXPDP/IMPDP的停止与重启动

 

EXPDP和IMPDP的本质在于,通过API调用,把传统的EXP/IMP类交付式模式的操作,转变成数据库内部的job任务,从而实现了任务的可终止与重启动。

 

c:\expdp test/test@acf directory=dpdata dumpfile=full.dmp full=y job_name=expfull

 

在执行过程中,可以拿下Ctrl+C组合键,退出当前交互模式,退出之后,导出操作不会停止,这不同于Oracle以前的EXP。以前的EXP,如果退出交互式模式,就会出错终止导出任务。

 

在Oracle 10中,由于EXPDP是数据库内部定义的任务,已经与客户端无关。退出交互之后,会进入export的命令行模式,此时支持status等查看命令:

 

Export> status

 

如果想停止改任务,可以发出stop_job命令

 

Export> stop_job

 

接下来可以通过命令行再次连接到这个任务

 

c:\expdp test/test@acf attach=expfull

 

通过start_job命令重新启动导出

 

Export> start_job

 

4、EXPDP排出部分对象的导出

 

在EXPDP的帮助文件中,可以看到存在EXCLUDE和INCLUDE参数

这个两个参数文档中介绍的命令格式存在问题,这个两个参数的正确用法是:

 

EXCLUDE=OBJECT_TYPE[:name_clause][,...]

INCLUDE=OBJECT_TYPE[:name_clause][,...]

 

示例:

expdp  <other_parameters> schema=scott exclude=sequence,table:"in('EMP','DEPT')"

impdp  <other_parameters> schema=scott include=function,package,procedure,table:"='EMP'"

 

有了这些还不够,由于命令中包含了多个特殊字符,在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行

如:EXCLUDE=TABLE:\"IN('BIGTALE')\"

oracle学习小结1

http://jackyrong.iteye.com/blog/482724


7 导出表
   导出自己的表
   exp userid=scott/xxx@xxx tables=(a,b) file=c:\xxx.dmp;
导出其他的方案
   exp userid=system/xx@xxx tables=(scott.a,scott.b) file=c:\xxx.dmp
只导出表结构,不导数据
   exp userid=system/xx@xxx tables=(scott.a,scott.b) file=c:\xxx.dmp rows=n;
   如果要导出大表,则加参数direct=y
导出方案
  exp userid=system/xx@xxx owner=(scott,system) file=c:\xxxx.dmp;

 

Oracle 备份与恢复

http://www.oracle.com/technology/global/cn/obe/2day_dba/backup.htm
http://www.oracle.com.cn/viewthread.php?tid=33849

  • 脱机备份与恢复
  • OEM中导入导出数据
  • 提高数据可用性策略
  • 使用数据泵进行逻辑备份与恢复

 

故障类型:
    实例恢复:
        主要用于DB实例故障引起的DB停机,OS错误、意外掉电、进程故障、shutdown abort终止时故障
       
        实例恢复,在再次启动DB时,由DB根据重做日志文件记录的内容(如未提交的事务,已提交但未完成的事务)自动完成恢复。
   
    介质恢复:联机备份时发生实例故障,则需介质恢复,介质损坏引起介质恢复
   
脱机备份与恢复/冷备份与恢复、联机备份与恢复/热备份与恢复、逻辑备份与恢复、

脱机备份与恢复/冷备份与恢复

http://bbs.chinaunix.net/viewthread.php?tid=776954
    shutdown 默认为 normal
    shutdown normal           //快速关闭,做个检查点
                     不允许新的连接、不等待会话结束、事务结束、做个检查点并关闭数据文件。启动时不需要实例恢复。
    shutdown abort            //快速关闭,重启DB恢复
                     不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件.启动时自动进行实例恢复
                     不可联机备份与恢复,'不干净'关闭数据库方式,可能包含未提交事务和不一致数据.若执行abort,则应重启DB,由DB
                     对事务和不一致数据进行处理,然后执行shutdown normal、shutdown immediate或shutdown transaction,最后脱机备份与恢复
    shutdown immediate   //快速关闭,截断当前事务
                     不允许新的连接、不等待会话结束、不等待事务结束、做个检查点并关闭数据文件.没有结束的事务自动rollback.
                     启动时不需要实例恢复。
    shutdown transaction //快速关闭,等待事务结束
                     不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件.启动时不需要实例恢复.

    对于ABORT,DB Buffer Cache的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有dismount和关闭,数据文件也没有关闭。当数据库启动时,需要通过redo log恢复数据,通过回滚段对事务回滚,对资源进行释放。

  对于NORMAL、TRANSACTIONAL、IMMEDIATE,DB Buffer Cache的内容写入了数据文件,没有提交的事务被回滚,所有的资源被释放,数据库被“干净”的关闭。
 
    STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ database] | MOUNT | NOMOUNT]
   
    startup open:
                    缺省参数为OPEN,打开数据库,允许数据库的访问.当前实例的控制文件中所描述的所有文件都已经打开.
    startup mount:
                    仅仅给DBA进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。
    startup nomount:
                    仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件。不能任何访问数据库。
    STARTUP PFILE=filename:
                    以filename为初始化文件启动数据库,不是采用缺省初始化文件.
    STARTUP FORCE:
                    中止当前数据库的运行,并开始重新正常的启动数据库。
  STARTUP RESTRICT:
                  只允许具有RESTRICTED SESSION权限的用户访问数据库。
  STARTUP RECOVER:
                  数据库启动,并开始介质恢复。
    若执行shutdown abort则应重启DB,由DB对事物不一致数据进行处理,然后执行shutdown normal,shutdown immediate或shutdown transaction,最后执行脱机备份与恢复.脱机备份保证DB,脱机状态较长.
   
联机备份与恢复/热备份与恢复 7x24

    DB处于archirvelog(归档模式),好处:当数据文件或表空间处于备份与恢复时,用户仍可访问其他数据.
   
逻辑备份与恢复/数据备份

    客服端工具imp/exp 数据泵工具expdp/impdp
    特点:多种方式,DB级、方案(或用户)级\表级.
                不同OS间传输,oracle二进制文件存储.               
                不同oracle间传输
                    低>>>高版本间升级
                    高>>>低版本间升级
                   
提高DB可用性策略

    设计备份与恢复策略前考略的问题
        有多少数据需要保护,能承受多少数据丢失?
        DB那些数据常修改,何时载数据,何时改DB结构?
        备份可脱机多长时间,是否7x24小时,何时使用DB最频繁?
        恢复时间多快?
        备份/恢复所需要的资源?如:工具、人员、设备、时间等
        是否需要闪回技术逆向更改?
    周备份,短时停数据库,则热备.

防止故障   

        数据/存储故障
        逻辑/物理故障
   
    物理故障:数据文件、控制文件、重做日志文件和归档日志文件.
                     磁盘毁损,人为意外删除数据文件或改写配置文件
    逻辑故障:表、索引、或表记录.一般人为原因是最大原因
   
    人为逻辑故障:
                    误删文件、数据
                    update语句中不正确使用where子句更新过多行
    oracle10g flashback (闪回)技术支持航、事务、表、表空间和DB存储故障

    估计空间量
    设计布局、数据、归档文件分开,以免I/O竞争
    创建逻辑卷和文件系统
    定义和执行数据备份和恢复计划
    创建用户的数据库
    ASM(自动存储管理),内核中提供垂直集成文件系统和数据卷管理器
    ASM本地镜像机制扩展SAME(全部条带话和镜像)用于防治存储故障的选件.
            启动实现三倍镜像,支撑硬件辅助恢复技术能力、将强数据保护.
   
备份策略

    非7x24 noarchivelog下操作
        7x24 archivelog操作,2次/周、2次/月
    多个DB恢复目录的恢复管理器 RMAN

    控制文件
        SQL>select status,name from v$controlfile;
  数据文件
      SQL>select status,file_name form dba_data_files;
  联机重做日志文件
      SQL>select group#,status,member from v$logfile;
  脱机备份
      --不连DB方式启动sqlplus
      SQL>sqlplus /nolog
      SQL>connect system/password AS SYSDBA
      --脱机备份
      SQL>shutdown immediate
      --备份拷贝:控制文件、数据文件、重做日志文件 ok
      SQL>startup open
      --在改变DB结构(如改变参数设置:表空间、表及控制文件,数据文件,重做日志文件的位置和名称)后,都应脱机备份
     脱机恢复
         data pump(数据泵)进行逻辑备份与恢复
        
         expdp/impdp 服务端程序使用,可以解决:a.表  b.方案 c.数据库
         实现逻辑备份和恢复
         数据方案之间传输
         数据库之间传输
         数据库应用软件升级
         消除磁盘碎片
         SQL>connect sys/password  AS SYSDBA
         SQL>create directory dump_dir AS 'e:\dump';
         SQL>grant read,write on directory dump_dir to system,myuser;
        
         expdp username/password parameter1[,parameter2,...]
        
         C:\expdp system/password full=y estimate_only=y estimate=statistice nologfile=y
         导出表
         导出myuser方案的department和student表的过程
         c:\expdp myuser/password directory=dump_dir dumpfile=myusertab.dmp logfile=myusertab.log tables=department,student
         导出方案
         导出muyser方案的过程
         c:\expdp myuser/password directory=dump_dir dumpfile=myuser.dmp logfile=myuser.log schemas=myuser job_name=exp_myuser_schema
         导出数据库
         使用参数文件导出数据库
             文件:e:\dump\myparfile.txt
             内容:dumpfile=dump_dir:mydb_%U.dmp
                         logfile=dump_dir:mydb.log
                         filesize=100M
                         job_name=exp_full
                         full=y
     导出整个数据库过程,时间较长多则几个小时,不易完全成功,不建议使用
             c:\expdp system/password parfile=e:\dump\myparfile.txt
        
     使用impdp导入数据 impdp username/password parameter1[,parameter2,...]
     parameter如:sqlfile=[directory_object:]file_name sqlfile=目录对象名:sql脚本名
     
     导入数据
     SQL>connect myuser/password
     SQL>delete from student;
     SQL>commit;
     
     C:\impdp myuser/password directory=dump_dir dumpfile=myusertab.dmp logfile=myuser_imp.log conect=data_only table=student
     
     导入表
     SQL>drop table student cascade constraints;
     SQL>desc student;
     c:\impdp myuser/password directory=dump_dir dumpfile=myusertab.dmp logfile=myusertab_imp.log tables=student
     
     导入方案
     SQL>connect system/password
     SQL>drop user myuser cascade;
     SQL>grant connect,resource to myuser identified by password
     SQL>alter user myuser default tablespace myts01 temporary tablespace=temp;
              若导入前没有创建用户,则导入方案是会有错误提示信息
     c:\impdp system/password directory=dump_dir dumpfile=myuser.dmp logfile=myuser_imp.log schemas=myuser job_name=imp_schema
     
     在OEM中导出导入数据 集成impdp/expdp

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

Oracle imp/exp 详解

一、 EXP

C:\>exp help=y

通过输入 EXP 命令和用户名 / 口令,您可以
在用户 / 口令之后的命令 :

实例 : EXP SCOTT/TIGER

或者,您也可以通过输入跟有各种参数的 EXP 命令来控制 “ 导出 ” 的运行方式。
要指定参数,您可以使用关键字 :

格式 : EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
实例 : EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1: P1,T1: P2) ,如果 T1 是分区表

USERID 必须是命令行中的第一个参数。



关键字      说明      默认
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                          选定导出表子集的子句      
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE     导出可传输的表空间元数据     (N)
TABLESPACES     将传输的表空间列表      

二、 IMP

1. 获取帮助
imp help=y
2. 导入一个完整数据库
imp system/manager file=bible_db log=dible_db full=y ignore=y
3. 导入一个或一组指定用户所属的全部表、索引和其他对象
imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
4. 将一个用户所属的数据导入另一个用户
imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
imp system/manager file=tank log=tank fromuser=(seapark,amy)
touser=(seapark1, amy1)
5. 导入一个表
imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
6. 从多个文件导入
imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y
7. 使用参数文件
imp system/manager parfile=bible_tables.par
bible_tables.par 参数文件:
#Import the sample tables used for the Oracle8i Database Administrator's
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import
8. 增量导入
imp system./manager inctype= RECTORE FULL=Y FILE=A
Oralce 数据泵
http://junmail.iteye.com/blog/215780
一、关于数据泵的概述
      在Oracle 10g中,数据泵(Data Pump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。
      通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。
      数据泵通过新的API来建立和管理,这些新的工作主要由DBMS_DATAPUMP来完成。新的导入/导出工具完全成为了一个客户端应用,通过 IMPDP/EXPDP执行的命令实际上都是在调用Server端的API在执行操作,所以一旦一个任务被调度或执行,客户端就可以推出连接,任务会在 server端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改
二、数据泵的使用
示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp
注意到与EXP不同,EXPDP增加了一个主要的参数:DIRECTORY
这个参数是用来定义一个路径,前面已经提到,数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server端的路径
如:
//创建目录
create or replace directory  expdir as 'd:\';
//给test赋予目录的读写权限
grant read,write on directory expdir to test;
//导出数据
C:\>expdp test/test@acf   dumpfile=test.dmp directory=expdir
三、EXPDP/IMPDP的停止与重启动
EXPDP和IMPDP的本质在于,通过API调用,把传统的EXP/IMP类交付式模式的操作,转变成数据库内部的job任务,从而实现了任务的可终止与重启动。
c:\expdp test/test@acf directory=dpdata dumpfile=full.dmp full=y job_name=expfull
在执行过程中,可以拿下Ctrl+C组合键,退出当前交互模式,退出之后,导出操作不会停止,这不同于Oracle以前的EXP。以前的EXP,如果退出交互式模式,就会出错终止导出任务。
在Oracle 10中,由于EXPDP是数据库内部定义的任务,已经与客户端无关。退出交互之后,会进入export的命令行模式,此时支持status等查看命令:
Export> status
如果想停止改任务,可以发出stop_job命令
Export> stop_job
接下来可以通过命令行再次连接到这个任务
c:\expdp test/test@acf attach=expfull
通过start_job命令重新启动导出
Export> start_job
4、EXPDP排出部分对象的导出
在EXPDP的帮助文件中,可以看到存在EXCLUDE和INCLUDE参数
这个两个参数文档中介绍的命令格式存在问题,这个两个参数的正确用法是:
EXCLUDE=OBJECT_TYPE[:name_clause][,...]
INCLUDE=OBJECT_TYPE[:name_clause][,...]
示例:
expdp  <other_parameters> schema=scott exclude=sequence,table:"in('EMP','DEPT')"
impdp  <other_parameters> schema=scott include=function,package,procedure,table:"='EMP'"
有了这些还不够,由于命令中包含了多个特殊字符,在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行
如:EXCLUDE=TABLE:\"IN('BIGTALE')\"
 

 


end

分享到:
评论

相关推荐

    Oracle(DB_Imp_Exp帮助文档) 建表SQL文

    Oracle(DB_Imp_Exp帮助文档) 建表SQL文 Oracle(DB_Imp_Exp帮助文档) 建表SQL文

    Oracle11g64bit下的bin目录,包含导入导出用的imp.exe以及exp.exe文件,可用于plsql导入导出

    Oracle11g64bit下的bin目录,包含导入导出用的imp.exe以及exp.exe文件,可用于plsql导入导出

    最全的oracle常用命令大全.txt

    su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=...

    Oracle Instant Client 11.2.0.1.0 轻量级Oracle客户端

    此版本集成了Oracle 11g 11.2.0.1.0中的实用工具tnsping、exp/imp,支持 Object Browser、TOAD等 Oracle 管理工具,并在Windows XP、Windows Vista、Windows 7平台下测试通过。 注意: 1. 请勿使用高版本的exp/imp...

    Oracle DB Migration 方式比較

    Oracle的 Migration作法 從最直接透過exp/imp 資料導出、導入,到利用Rman Cross-Platform 來作異質資料庫資料轉移,以及 Oracle 提供的 GUI tool : DBUA ( database upgrade assistant) 。

    Oracle 主要配置文件介绍

    Oracle 实例的多数内存和进程设置 以下是一些主要参 数的说明 1 实例的数据库名称 db_name = "cams" 2 实例名称 instance_name = cams 3 数据库控制文件的名称和位置 control_files = ...

    Oracle数据库学习指南

    37. 如何在oracle7和oracle8之间exp-imp数据 38. 如何在Windows 2000下将Oracle完全卸载 39. 如何正确建立TYPE、partition(分区) 40. 如何正确利用Rownum来限制查询所返回的行数 41. 什么是ROWID,为什么需要...

    oracle 10.2.0.1 精简客户端

    1、本软件可作为简单的Oracle10g客户端使用,包括:tnsping、exp、imp、sqlldr、sqlplus、tkprof(新增)等功能,如对客户端功能有更高的使用要求,请安装官方Oracle客户端。 2、本软件安装后,连接oracle服务器时...

    windows下oracle11g数据泵自动备份脚本

    grant exp_full_database,imp_full_database to backupuser;(如果该用户要执行整库备份需要加上这条) 2、将backup.bat文件放在D:\backup下,针对你自己的环境脚本中需要修改的地方如下: 备份保存天数: 如下两行...

    Oracle10g客户端(两个版本)

    oracle10g的两个版本的客户端,本人经常使用,不需要安装数据库,装完客户端,即可通过plsql访问数据库,且可以使用imp和exp命令导入导出dmp文件。 附上,操作配置: 安装版本(10.2.0.5.0和10.2.0.1.0版本) (1)如果用...

    oracle 10.2.0.1 精简客户端.msi.zip

    1、本软件可作为简单的Oracle10g客户端使用,包括:tnsping、exp、imp、sqlldr、sqlplus、tkprof(新增)等功能,如对客户端功能有更高的使用要求,请安装官方Oracle客户端。 2、本软件安装后,连接oracle服务器时...

    oracle详解

    导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理...

    oracle文本导入导出工具-ozoradts

    -func = -imp/exp Common Valid Keywords: userid = username/password@tnsname data = 数据文件 (默认dts.oz) log = 处理日志文件 control = 控制文件 columnarrayrows = 直接路径字段数组行数,5-5000 (默认...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     EXP_FULL_DATABASE, IMP_FULL_DATABASE这两个角色用于数据导入导出工具的使用。  自定义角色 Oracle建议我们自定义自己的角色,使我们更加灵活方便去管理用户  创建角色 SQL&gt; create role admin;  授权给...

    orcale常用命令

    1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 ...su - oracle -c "exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp...

    Oracle数据库实验操作

    Exp导出和imp导入 174 实验87:交互模式导出和导入数据 174 实验88:命令行模式导出和导入数据 175 实验89:参数文件模式导出和导入数据 175 实验90:导出和导入表的操作 176 实验91:导出和导入用户操作 178 实验92...

    TianleSoftware Oracle中文学习手册

    感谢这些前辈们对中国 DB 事业做出的贡献。 在这里引用的内容也是完全出于学习。 没有其他用途,如有侵犯到版权的问题,请联系我。 我将删除这些信息。 对数据库这块也是在不断的学习,对oracle 的理解也是在不断...

Global site tag (gtag.js) - Google Analytics