oracle数据库的导出/导入

来源:互联网 发布:暴风影音视频剪辑软件 编辑:程序博客网 时间:2024/05/19 11:48

在使用数据库时,数据库的导出导入操作是很常见的,相对于SQLServer的附加数据库文件和由备份数据库文件展开两种方式,oracle数据库的导出导入稍微复杂些,需要通过Export和Import两个工具编写命令行语句完成。

      1.数据的导出

      它是将数据库中的数据连同数据库的逻辑结构(重建表、索引和其他数据库对象所必须的结构信息)写入到一个操作系统文件(成为导出转储文件.dmp).

      若需要查看与exp相关的参数及其缺省值,可在命令窗口中输入:exp help=y

当然了需要安装了oracle数据库。

      下面将介绍下三种常用的导出方式及其对应的参数设置:

      (1)全数据库导出方式

       将全部数据库导出到.dmp文件中,需要用户具有EXP_FULL_DATABASE角色,所以常用system导出,使用full=y参数,导出命令行格式为:

       exp username/pwd@server file=filepath/filename log=filepath/logfilename full=y

       例如以system用户导出orcl_qfc服务下的全数据库:

      exp system/orcl@orcl_qfc file=C:/timts log=C:/timts_exp full=y

     (2)用户导出方式

      将所有属于制定数据库用户的对象导出到.dmp文件中,使用owner=<users list>参数,例如导出timsys用户下的所有数据库对象,命令行语句为:

     exp system/orcl@orcl_qfc file=C:/timts log=C:/timts_exp owner=timsys

     (3)表方式导出

     从数据库中导出指定的一个或多个表,使用tables=<list schema.tablename>参数,默认rows=y同时导出表的定义和数据,rows=n时只导出表定义。例如使用timsys用户导出TOS_INVEST_NODE_TABLE和TOS_INVEST_lINK_TABLE,命令行语句为:

     exp timsys/timsys@orcl_qfc file=C:/timts log=C:/timts_exp tables=(TOS.TOS_INVEST_NODE_TABLE, TOS.TOS_INVEST_lINK_TABLE)

      2.数据库导入

     包含在导出转储文件(.dmp)中的数据可以通过使用Import工具在目标数据库中重建。oralce执行数据库重建过程如下:

      (1)重建表

      (2)从导出文件中读取行并将它们导入到这些表中

      (3)重建索引

      (4)导入表触发器并在表中重新启用完整性约束

     同样的,若需要查看与exp相关的参数及其缺省值,可在命令窗口中输入:imp help=y

     对应数据库导出的三种方式,下面将介绍下三种常用的导入方式及其对应的参数设置:

    注意:在进行数据导入前,需要在目标数据库中先重建导出文件中导出的用户,若用户对应的表空间是自建的也学要先建立表空间并分配给用户。例如,我的导出了TOS和TIMSYS两个用户,其中TOS的表空间为默认的USER,而TIMSYS为自建的TIMTS,所以在执行导入操作前,需要在目标数据库中新建TOS和TIMSYS及TIMTS表空间。

     (1)全局数据库导入方式

      执行全局数据库导入的用户需要具有IMP_FULL_DATABASE角色,命令行语句与导出时类似,只是换用了imp工具:

      imp system/orcl@orcl_qfc file=C:/timts log=C:/timts_imp full=y

     (2)用户方式

      用户方式导入,可以从导出文件中的一个用户导入到目标数据库中指定的用户主要是使用 FROMUSER和TOUSER两个参数。例如将导出文件中timsys用户导入到目标数据库中新建的timsys用户,命令行语句如下:

      imp timsys/timsys@orclstats_qfc file=C:/timts log=C:/timts_imp fromuser=timsys touser=timsys

      (3)表方式

      与表导出方式类似也是用到tables=<schema.tablename>参数,例如使用timsys用户导入TOS_INVEST_NODE_TABLE和TOS_INVEST_lINK_TABLE,命令行语句为:

       imp timsys/timsys@orcl_qfc file=C:/timts log=C:/timts_exp tables=(TOS.TOS_INVEST_NODE_TABLE, TOS.TOS_INVEST_lINK_TABLE)

      3.此外还有一些其他的参数,入indexes,grant,derect等,可通过使用exp/imp help=y查看参数描述及默认值。

 

原创粉丝点击