oracle中导出和导入含有blob,clob字段的表数据

来源:互联网 发布:海淘软件 编辑:程序博客网 时间:2024/04/29 16:29

因为需求要把数据库中的特定的表数据导出,不过用plsql工具无法导出含有clob等大字段的表,

 所以用命令操作,步骤如下

Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>G: 选择盘符

G:\>exp                                                         执行命令

Export: Release 10.1.0.2.0 - Production on 星期四 6月 4 14:08:01 2009

Copyright (c) 1982, 2004, Oracle. All rights reserved.


Username: skymovie    用户名
Password:                    密码

Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Produc
tion
With the Partitioning, OLAP and Data Mining options
Enter array fetch buffer size: 4096 >                        回车默认

Export file: EXPDAT.DMP > exp_colbDemo.dmp  

(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3 选择3-按照表导出

Export table data (yes/no): yes >                               回车默认

Compress extents (yes/no): yes >                             回车默认

Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set

About to export specified tables via Conventional Path ...
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > t_users 输入要到处的表名 回车

. . exporting table                        T_USERS        319 rows exported    导出完毕
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >         输入下个要导出的表名

======================================================================

======================================================================

用oracle自身的exp和IMP,方法为:

  1、 exp XXX/XXX@XXXX tables=(xxxx) file=c:\xxx.dmp

  query="where birthday>= to_date('1980.12.18','yyyy-mm-dd')"

  这是在WINDOWS平台下,对其他平台的话,要注意一下双引号转义:

  exp ….. query=\"where col1 \< 1000\"

  exp ….. query=\"where col1 \< '1000′\"

  或者干脆写在一个文件TXT里,就不用考虑这么多了,比如

  首先建立一个1.txt文件:

  tables=employee

  file=f:/exp.dmp

  query="where birthday>= to_date('1980.12.18','yyyy-mm-dd')"

  然后:

  exp user/user@bsrun parfile=1.txt

  2 、IMP时,注意导入时,用参数ignore=yes,即可在原来的表上追加记录拉,很简单

=====================================================================

        create   table  表名  AS  select  *  from  表名@数据库链路名称

=====================================================================

0 0