Oracle数据库文件集锦

对于Oracle数据库来说,它的导入导出的方法并不是那么容易,需要一个很繁琐的过程,下面就给大家总结一下Oracle数据库导入导出的具体流程作为Oracle数据库教程的第一部分。

imp/exp命令 10g以上expdp/impdp命令详细

A) 数据导出:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中

   exp system/manager@TEST file=d:daochu.dmp full=y

2 将数据库中system用户与sys用户的表导出

   exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)

3 将数据库中的表inner_notify、notify_staff_relat导出

    exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

   exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"

  上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

  也可以在上面命令后面 加上 compress=y 来实现。

B) 数据的导入

1 将D:daochu.dmp 中的数据导入 TEST数据库中。

   imp system/manager@TEST  file=d:daochu.dmp

   imp aichannel/aichannel@HUST full=y  file=d:datanewsmgnt.dmp ignore=y

   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

   在后面加上 ignore=y 就可以了。

2 将d:daochu.dmp中的表table1 导入

imp system/manager@TEST  file=d:daochu.dmp  tables=(table1)

 

*注:要先是将表彻底删除,然后导入。

操作者要有足够的权限,权限不够它会提示。

数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上

当然,上面的方法在导出数据时可能会导出很大的包,那是因为你的用户可能在授权的时候授予了DBA的权限,所以可以采用下面方法来进行数据库备份:

二、数据库备份

建议系统过渡后,每周进行一次备份。或者在数据表发生重大改变前,对要改变的数据表进行备份。

执行以下步骤,进行备份。

在命令行里,敲入“cmd”,回车,进入命令行窗口。

在窗口中,输入:

exp mas/123456@mas

系统提示:输入数组提取缓冲区大小: 4096 >

可以直接回车;

系统提示:导出文件: EXPDAT.DMP>

此处输入导出文件的位置,其路径必须存在,Oracle在这里不会自动建立路径,但可以建立文件名。备份文件以dmp作为后缀。

输入内容如:e:\work\mas_db_090925v1.dmp 回车

系统提示: (1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > u

此处可以输入u,也可以直接回车,因为系统此时默认的是U

系统提示:导出权限(yes/no):yes>回车

系统提示:导出表数据(yes/no):yes>回车

系统提示:压缩区(yes/no):yes>回车

系统提示:要导出的用户: (RETURN 以退出) > mas

系统提示:要导出的用户: (RETURN 以退出) > 回车

此时系统会自动进行备份

 

学习数据库经验总结:

A.说明

 oracle 的exp/imp命令用于实现对数据库的导出/导入操作;

   exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件;

    imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。

B.语法

可以通过在命令行输入 imp help=y 获取imp的语法信息:

C:\Documents and Settings\auduser>imp help=y

  Import: Release 9.0.1.1.1 - Production on 星期二 5月 20 18:21:57 2008

  (c) Copyright 2001 Oracle Corporation.  All rights reserved.

  可以通过输入 IMP 命令和您的用户名/口令

  后接用户名/口令的命令:

 

  A.导入:例程: IMP SCOTT/TIGER

 

或者, 可以通过输入 IMP 命令和各种参数来控制“导入”

  按照不同参数。要指定参数,您可以使用关键字:

 

  格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)

  例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N

  或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

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

  关键字  说明(默认)        关键字      说明(默认)

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

  USERID   用户名/口令           FULL         导入整个文件 (N)

  BUFFER   数据缓冲区大小         FROMUSER     所有人用户名列表

  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)

  FEEDBACK               每 x 行显示进度 (0)

  TOID_NOVALIDATE        跳过指定类型 ID 的验证

  FILESIZE               每个转储文件的最大大小

  STATISTICS             始终导入预计算的统计信息

  RESUMABLE              遇到与空格有关的错误时挂起 (N)

  RESUMABLE_NAME         用来标识可恢复语句的文本字符串

  RESUMABLE_TIMEOUT      RESUMABLE 的等待时间

  COMPILE                编译过程, 程序包和函数 (Y)

 

  下列关键字仅用于可传输的表空间

  TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)

  TABLESPACES 将要传输到数据库的表空间

  DATAFILES 将要传输到数据库的数据文件

  TTS_OWNERS 拥有可传输表空间集中数据的用户

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

同样可以通过输入 exp help=y 获取exp的语法信息

  Microsoft Windows XP [版本 5.1.2600]

  (C) 版权所有 1985-2001 Microsoft Corp.

  C:\Documents and Settings\auduser>exp help=y

  Export: Release 9.0.1.1.1 - Production on 星期二 5月 20 18:26:34 2008

  (c) Copyright 2001 Oracle Corporation.  All rights reserved.

  通过输入 EXP 命令和用户名/口令,您可以

  后接用户名/口令的命令:

 

B .导出例程: 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)

  DIRECT     直接路径 (N)            TRIGGERS     导出触发器 (Y)

  LOG        屏幕输出的日志文件  STATISTICS   分析对象 (ESTIMATE)

  ROWS    导出数据行 (Y)        PARFILE      参数文件名

  CONSISTENT 交叉表一致性    CONSTRAINTS  导出约束条件 (Y)

  FEEDBACK             每 x 行显示进度 (0)

  FILESIZE             每个转储文件的最大大小

  FLASHBACK_SCN        用于回调会话快照的 SCN

  FLASHBACK_TIME       用来获得最接近于指定时间的 SCN 的时间

  QUERY                用来导出表的子集的选择子句

  RESUMABLE            遇到与空格有关的错误时挂起 (N)

  RESUMABLE_NAME       用来标识可恢复语句的文本字符串

  RESUMABLE_TIMEOUT    RESUMABLE 的等待时间

  TTS_FULL_CHECK       对 TTS 执行完全或部分相关性检查

  TABLESPACES          要导出的表空间列表

  TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)

  TEMPLATE 调用 iAS 模式导出的模板名称

 

三、使用示例

3.1 数据导出:

 1 将数据库SampleDB完全导出,用户名system 密码manager 导出到E:\SampleDB.dmp中

   exp system/manager@TestDB file=E:\sampleDB.dmp full=y

 2 将数据库中system用户与sys用户的表导出

   exp system/manager@TestDB file=E:\sampleDB.dmp  owner=(system,sys)

 3 将数据库中的表 TableA,TableB 导出

    exp system/manager@TestDB  file=E:\sampleDB.dmp  tables=(TableA,TableB)

 4 将数据库中的表tableA中的字段filed1 值为 "王五" 的数据导出

   exp system/manager@TestDB  file=E:\sampleDB.dmp  tables=(tableA)  query=' where filed1='王五'

   如果想对dmp文件进行压缩,可以在上面命令后面 加上 compress=y 来实现。

3.2 数据的导入

 1 将备份数据库文件中的数据导入指定的数据库SampleDB 中,如果 SampleDB 已存在该表,则不再导入;

   imp system/manager@TEST  file=E:\sampleDB.dmp  full=y  ignore=y

 2 将d:\daochu.dmp中的表table1 导入

 imp system/manager@TEST  file=E:\sampleDB.dmp  tables=(table1)

3. 导入一个完整数据库

 imp system/manager file=bible_db log=dible_db full=y ignore=y

4. 导入一个或一组指定用户所属的全部表、索引和其他对象

 imp system/manager file=seapark log=seapark fromuser=seapark imp

 system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)

5. 将一个用户所属的数据导入另一个用户

 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)

6. 导入一个表

 imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)

7. 从多个文件导入

 imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)

log=paycheck, filesize=1G full=y

8. 使用参数文件

 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

参数文件示例见附录

9. 增量导入

 imp system./manager inctype= RECTORE FULL=Y  FILE=A

*注:不少情况下要先将表彻底删除,然后导入。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值