zoukankan      html  css  js  c++  java
  • oracle如何导出导出(转)

    问题:

    1、 使用oracle dump方式导出的数据在导入的时候不能随意选择一张表的数据进行导入;

    一般业务的表的数量都有1000左右,在出现由于某张表数据异常导致的故障时,用dump文件进行恢复基本不可行或者很费事;

    2、 表存在外键约束和触发器,使用oracle dump import方式导入表的时候不能非常简单

    的禁止触发器和外键,导致大量错误产生,导入的表的数据不全,部分表数据没有导入;

    3、 当修改了某些表的数据后需要将这些表的数据恢复到测试环境搭建时的数据,import

    不能将这些表的数据清空后重新导入。

    4、 当修改了某些表的字段后需要将这些表的数据恢复到测试环境搭建时的数据,import

    不能将这些表重建后重新导入。

    解决:

    PL/SQL Developer导入导出工具

    PL/SQL Developer位于PLSQL DEV工具的“Tools”菜单下的“Export tables„”“Import

    tables„”下,可以进行数据的导出和导入。

    导出功能介绍

    Where clause:

    使导出操作支持where条件,比如你只需要导出每张表的10000条记录,可以在输入框里输入

    “rownum < 10001”。

    Compress file:

    选中后支持导出文件的压缩,节省存储空间,但是压缩会占用多余的时间。

    Include storage:

    导出的文件中包含建表信息,如果需要在导入的时候能支持建表操作,需要选中该项。

    导入功能介绍

    Drop tables

    支持在导入数据前先删除表,选择该项后,默认选择“Create tables”选项,并且“Truncate

    tables”“Delete table”操作变成灰色不可用状态。

    Create tables

    支持在导入数据前先创建表,比如我们已将建好了用户,这个时候需要导入表而之前又没有执

    行建表脚本的时候,可以选中此项。

    Truncate tables

    支持在导入数据前先清空表数据,想恢复表数据到建测试环境的时候可以使用这个选项,该选

    项和“Delete tables”互斥。

    Delete tables

    支持在导入数据前删除表数据,这个选项目前还没有发现比较特殊的使用意义,该选项和

    “Truncate tables”互斥。该选项的导入速度大大慢于“Truncate tables”,一般使用“Truncate tables”

    如何解决导出clobblob类型数据报错的问题

    当表字段中含有clobblob类型数据时,使用PL/SQL Developer导出会报stream read error

    的错误,导出操作终止,说明PL/SQL Developer方式导出不支持这种类型,oracle export方式可以支持这种类型。

    由于需要导出的表很多,PL/SQL在导出前都要对需要导出的表进行分析,通常都会花费十几分

    钟的时间,然而由于某张表存在clobblob类型数据时就会异常终止,那之前的操作时间就会浪费,为了导出所有表需要将导出的表进行标记,只导出没有clobblob类型数据的表。我们通常的做法是在导出表的时候用ctrl或者shift按键进行手工选择,通过导出的日志记录不能导出的表,然后手工将这些表反选出待导出的表。但是这样操作费时费力,需要通过不停反复的操作,才能知道哪些表不能导出。

    如何使用oracle系统视图all_tab_columnsPL/SQL在导出表的时候提供的

    Object selection功能快速导出不包含clobblob的表数据。

    1、 使用下面的sql语句拼出Object selection的文件内容。

    --不包含clobblob的表

    select distinct('TABLE "'||a.OWNER ||'"."'||a.TABLE_NAME||'"') from sys.all_tab_columns a

    where a.OWNER = '用户名'

    and a.TABLE_NAME not in (select t.TABLE_NAME from sys.all_tab_columns t where t.OWNER =

    '用户名' and t.DATA_TYPE in ('CLOB','BLOB'))

    2、 按照上面的语句的执行结果生成Object selection的文件(后缀是.osf),文件的内容

    如下:

    PL/SQL Developer Object Selection File

    1

    TABLE "用户名"."表名1"

    TABLE "用户名"."表名2"

    TABLE "用户名"."表名3"

    3、 在导出表功能的表选择框里单击右键选择“Load Object selection”,选择上一步制

    作的文件,完成表的选择。

    4、选择合适的参数,进行导出操作。 用oracle export方式导出包含clobblob的数据。

    oracle export:.dmp   export executeble:oracle安装路径下client_1in文件夹下的exp.exe

    sql inserts:.sql

    pl/sql developer:.pde

  • 相关阅读:
    Linux 学习 step by step (2)
    公共建筑能耗监测平台的GPRS通讯服务器的开发方法分享
    幸福框架:可扩展的、动态的、万能的 编号生成器
    C++ Data Member内存布局
    .NET程序集强命名删除与再签名技术 源代码剖析
    hdu 2191(多重背包)
    五种情况下会刷新控件状态(刷新所有子FWinControls的显示)——从DFM读取数据时、新增加子控件时、重新创建当前控件的句柄时、设置父控件时、显示状态被改变时
    终于懂了:Delphi消息的Result域出现的原因——要代替回调函数的返回值!(MakeObjectInstance不会帮助处理(接收)消息回调函数的返回值)
    Firemonkey实现Mac OS程序中内嵌浏览器的功能(自己动手翻译,调用苹果提供的webkit框架)
    感悟:市场经济看得就是主观能动性,有则富贵可及,无则无限趋于零
  • 原文地址:https://www.cnblogs.com/m3Lee/p/3420910.html
Copyright © 2011-2022 走看看