精华内容
下载资源
问答
  • 1、如果当前值并不大并且表中数据不多,可使用以下... select seq_T_AREA_ACCESSAREA.nextval as ACCESSAREA_GROUP_ID from dual 2、如果数据条数过多,可以重建序列,并设置序列的起始值大于数据条数即可...

    1、如果当前值并不大并且表中数据不多,可使用以下语句自动增加当前序列值

     select seq_T_AREA_ACCESSAREA.nextval as ACCESSAREA_GROUP_ID from dual

    2、如果数据条数过多,可以重建序列,并设置序列的起始值大于数据条数即可

    展开全文
  • Oracle批量导入数据

    2016-09-07 22:09:26
    下面我们直接以一个导入数据的案例来讲述oracle批量导入数据的方式,案例是为一个usertest的表导入数据 一、创建对应的表(usetest)语言create table usetest( id int, name varchar(20) );usetest.csv的数据格式1 ...

    下面我们直接以一个导入数据的案例来讲述oracle批量导入数据的方式,案例是为一个usertest的表导入数据


    一、创建对应的表(usetest)语言

    create table usetest(
    id int,
    name varchar(20)
    );

    usetest.csv的数据格式

    1   张三
    2   李四
    3   王五
    4   翠花
    ........
    ........

    二、创建导数据的ctl文件usetest.ctl

    load data
    infile usetest.csv
    into table usetest
    (
        id char terminated by '\t',//tab空格分离数据
        uname char terminated by whitespace
    )

    三、开始导入数据

    sqlldr userid=scott/tiger control=usetest.ctl

    展开全文
  • sqoop从oracle导入数据导hive表不支持的数据类型: sqoop语句实例: sqoop import-all-tables --connect jdbc:oracle:thin:@ip:1521:orcl --username TJAMIS_LXF --password ******--hive-database TJAMIS_LXF -...

    sqoop从oracle导入数据导hive表不支持的数据类型:

    sqoop语句实例:

    sqoop  import-all-tables --connect jdbc:oracle:thin:@ip:1521:orcl  --username TJAMIS_LXF --password ******--hive-database TJAMIS_LXF  -m 1 --create-hive-table  --hive-import --hive-overwrite 

    sqoop import --hive-import --connect jdbc:oracle:thin:@ip:1521:orcl --username TJAMIS_LXF --password ******--hive-table testdb.TMP_T08_PSNCOMPENSATE --verbose -m 1 --table TMP_T08_PSNCOMPENSATE

    不支持的数据类型:

    create table aaaa
    (
      PID        VARCHAR2(14),
      T08PROJECT VARCHAR2(8),
      DATAID     ROWID
    )



    create table bbbbb
    (
      PROCESS_ORDER          NUMBER,
      DUPLICATE              NUMBER,
      DUMP_FILEID            NUMBER,
      DUMP_POSITION          NUMBER,
      DUMP_LENGTH            NUMBER,
      DUMP_ORIG_LENGTH       NUMBER,
      DUMP_ALLOCATION        NUMBER,
      COMPLETED_ROWS         NUMBER,
      ERROR_COUNT            NUMBER,
      ELAPSED_TIME           NUMBER,
      OBJECT_TYPE_PATH       VARCHAR2(200),
      OBJECT_PATH_SEQNO      NUMBER,
      OBJECT_TYPE            VARCHAR2(30),
      IN_PROGRESS            CHAR(1),
      OBJECT_NAME            VARCHAR2(500),
      OBJECT_LONG_NAME       VARCHAR2(4000),
      OBJECT_SCHEMA          VARCHAR2(30),
      ORIGINAL_OBJECT_SCHEMA VARCHAR2(30),
      ORIGINAL_OBJECT_NAME   VARCHAR2(4000),
      PARTITION_NAME         VARCHAR2(30),
      SUBPARTITION_NAME      VARCHAR2(30),
      DATAOBJ_NUM            NUMBER,
      FLAGS                  NUMBER,
      PROPERTY               NUMBER,
      TRIGFLAG               NUMBER,
      CREATION_LEVEL         NUMBER,
      COMPLETION_TIME        DATE,
      OBJECT_TABLESPACE      VARCHAR2(30),
      SIZE_ESTIMATE          NUMBER,
      OBJECT_ROW             NUMBER,
      PROCESSING_STATE       CHAR(1),
      PROCESSING_STATUS      CHAR(1),
      BASE_PROCESS_ORDER     NUMBER,
      BASE_OBJECT_TYPE       VARCHAR2(30),
      BASE_OBJECT_NAME       VARCHAR2(30),
      BASE_OBJECT_SCHEMA     VARCHAR2(30),
      ANCESTOR_PROCESS_ORDER NUMBER,
      DOMAIN_PROCESS_ORDER   NUMBER,
      PARALLELIZATION        NUMBER,
      UNLOAD_METHOD          NUMBER,
      LOAD_METHOD            NUMBER,
      GRANULES               NUMBER,
      SCN                    NUMBER,
      GRANTOR                VARCHAR2(30),
      XML_CLOB               CLOB,
      PARENT_PROCESS_ORDER   NUMBER,
      NAME                   VARCHAR2(30),
      VALUE_T                VARCHAR2(4000),
      VALUE_N                NUMBER,
      IS_DEFAULT             NUMBER,
      FILE_TYPE              NUMBER,
      USER_DIRECTORY         VARCHAR2(4000),
      USER_FILE_NAME         VARCHAR2(4000),
      FILE_NAME              VARCHAR2(4000),
      EXTEND_SIZE            NUMBER,
      FILE_MAX_SIZE          NUMBER,
      PROCESS_NAME           VARCHAR2(30),
      LAST_UPDATE            DATE,
      WORK_ITEM              VARCHAR2(30),
      OBJECT_NUMBER          NUMBER,
      COMPLETED_BYTES        NUMBER,
      TOTAL_BYTES            NUMBER,
      METADATA_IO            NUMBER,
      DATA_IO                NUMBER,
      CUMULATIVE_TIME        NUMBER,
      PACKET_NUMBER          NUMBER,
      INSTANCE_ID            NUMBER,
      OLD_VALUE              VARCHAR2(4000),
      SEED                   NUMBER,
      LAST_FILE              NUMBER,
      USER_NAME              VARCHAR2(30),
      OPERATION              VARCHAR2(30),
      JOB_MODE               VARCHAR2(30),
      QUEUE_TABNUM           NUMBER,
      CONTROL_QUEUE          VARCHAR2(30),
      STATUS_QUEUE           VARCHAR2(30),
      REMOTE_LINK            VARCHAR2(4000),
      VERSION                NUMBER,
      JOB_VERSION            VARCHAR2(30),
      DB_VERSION             VARCHAR2(30),
      TIMEZONE               VARCHAR2(64),
      STATE                  VARCHAR2(30),
      PHASE                  NUMBER,
      GUID                   RAW(16),
      START_TIME             DATE,
      BLOCK_SIZE             NUMBER,
      METADATA_BUFFER_SIZE   NUMBER,
      DATA_BUFFER_SIZE       NUMBER,
      DEGREE                 NUMBER,
      PLATFORM               VARCHAR2(101),
      ABORT_STEP             NUMBER,
      INSTANCE               VARCHAR2(60),
      CLUSTER_OK             NUMBER,
      SERVICE_NAME           VARCHAR2(100),
      OBJECT_INT_OID         VARCHAR2(32)
    )

    1)DATAID     ROWID

    2)GUID                   RAW(16),

    展开全文
  • Oracle导入数据到ElasticSearch

    万次阅读 2018-05-22 22:28:54
    使用工具是logstash6.2.4https://www.elastic.co/cn/首先要知道的是,logstash抽取Oracle数据是通过追踪某一个递增列实现增量导入的,所以就要求在查询结果有一个递增列,这并不是说需要一个自动增长列,因为在...

    使用工具是logstash6.2.4

    https://www.elastic.co/cn/

    首先要知道的是,logstash抽取Oracle的数据是通过追踪某一个递增列实现增量导入的,所以就要求在查询结果有一个递增列,这并不是说需要一个自动增长列,因为在Oracle中,rownum可以作为查询结果中的一个递增列,如

    SELECT * FROM(SELECT NP.*, ROWNUM RN FROM (SELECT * FROM NPMIS_ZW_YSDFMX) NP ) WHERE RN BETWEEN 5000001 AND 6000000;

    所以logstash可以追踪rownum来增量导入。

    有自动增长列

    orderid为自动增长列

    input {

    jdbc {

    jdbc_driver_library => "/opt/app/logstash-6.2.4/orcl-lib/ojdbc6.jar"

    jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"

    jdbc_connection_string => "jdbc:oracle:thin:@10.10.10.13:1521:testdb11g"

    jdbc_user => "udvmp"

    jdbc_password => "pwdvmp"

    schedule => "*/2 * * * *"

    statement => "SELECT * FROM NPMIS_ZW_YSDFMX_BAK_BAK WHERE orderid > :sql_last_value"

    record_last_run => "true"

    use_column_value => "true"

    tracking_column => "orderid"

    last_run_metadata_path => "/opt/app/logstash-6.2.4/config/last_id"

    clean_run => "false"

    }

    }

    filter {

    mutate {

    convert => { "zdl" => "float_eu"}

    }

    }

    output {

    elasticsearch {

    hosts => "cdh05.codsway.com"

    index => "obak-npmis_zw_ysdfmx_bak"

    document_id => "%{orderid}"

    }

    }

    没有自动增长列

    把rownum查询出来作为一列,rn模拟自动增长列

    input {

    jdbc {

    jdbc_driver_library => "/opt/app/logstash-6.2.4/orcl-lib/ojdbc6.jar"

    jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"

    jdbc_connection_string => "jdbc:oracle:thin:@10.10.10.13:1521:testdb11g"

    jdbc_user => "udvmp"

    jdbc_password => "pwdvmp"

    schedule => "*/2 * * * *"

    statement => "SELECT * FROM(SELECT NP.*, ROWNUM RN FROM (SELECT * FROM NPMIS_ZW_YSDFMX_BAK) NP) WHERE RN > :sql_last_val

    ue"

    record_last_run => "true"

    use_column_value => "true"

    tracking_column => "rn"

    last_run_metadata_path => "/opt/app/logstash-6.2.4/config/last_id"

    clean_run => "false"

    }

    }

    filter {

    mutate {

    convert => { "zdl" => "float_eu"}

    }

    }

    output {

    elasticsearch {

    hosts => "cdh03.codsway.com"

    index => "orcl-npmis_zw_ysdfmx_bak"

    document_id => "%{rn}"

    }

    }

    数据重复问题和Oracle增量数据ES同步慢问题

    在默认配置下,tracking_column这个值是@timestamp,存在elasticsearch就是_id值,是logstash存入elasticsearch的时间,这个值的主要作用类似mysql的主键,是唯一的,但是我们的时间戳其实是一直在变的,所以我们每次使用select语句查询的数据都会存入elasticsearch中,导致数据重复。

    解决方法:在要查询的表中,找主键或者自增值的字段,将它设置为_id的值,因为_id值是唯一的,所以,当有重复的_id的时候,数据就不会重复

    input

    // 是否记录上次执行结果, 如果为真,将会把上次执行到的 tracking_column 字段的值记录下来,保存到 last_run_metadata_path 指定的文件中

    record_last_run => "true"

    // 是否需要记录某个column 的值,如果record_last_run为真,可以自定义我们需要 track 的 column 名称,此时该参数就要为 true. 否则默认 track 的是 timestamp 的值.

    use_column_value => "true"

    // 如果 use_column_value 为真,需配置此参数. track 的数据库 column 名,该 column 必须是递增的. 一般是mysql主键,由于我们是用rownum也是递增的,可以在sql语句中查询出rownum作为这一列,orderid是rownum别名

    tracking_column => "orderid "

    last_run_metadata_path => "/opt/app/logstash-6.2.4/config/last_id"

    //如果不设置,会从头开始再查询一次,因为数据量巨大所以导致同步的时间会很长,可能导致Oracle数据没有同步到ES

    clean_run => "false"

    //sql语句最后添加WHERE orderid > :sql_last_value,如果不适用where,那么之前的所有配置同步的配置都没有生效,每次都执行查询全部的语句,然后在大量的结果集中比较orderid,再将符合要求的数据插入ES,所以非常耗时间,:sql_last_value会读取last_run文件的值,如果没有这个文件就赋值为0开始

    statement => "SELECT np.*,ROWNUM orderid FROM NPMIS_ZW_YSDFMX_BAK_BAK np WHERE orderid > :sql_last_value"

    output

    //index必须固定,不能随时间增长

    index => "ORCL-NPMIS_ZW_YSDFMX_BAK"

    //把查询出来的rownum赋值给document_id,document_id在文档中具有唯一性,所以不会重复,也就不会插入重复数据

    document_id => "%{orderid }"

    实际上并不是不同步,而是没有记录上次Oracle查询的位置,所以保存上次的查询记录就行了

    数据丢失问题

    logstash读取数据类型是由第一行或前几行决定的,所以如果某一列第一行值是整数,那么logstash就认定这一列是整数,第二行是小数,可能会把小数强转成整数,然后因为出现error丢失第二行或多行,丢失行可以在日志文件中看到,所以我们需要设置filter对列类型进行转换。

    通过查看日志文件,查看出问题的是第几列,然后强转该列的类型。

    float_eu是因为oracle查询出来的数据带有,号分隔符,比如12,340.99,所以需要写成float_eu,写成float会报错。如果是其他数据库可以试试float

    filter {

    mutate {

    convert => { "zdl" => "float_eu"}

    }

    }

    展开全文
  • oracle 导入数据 字段过长

    千次阅读 2012-07-23 17:09:58
    今天往oracle导入数据 出现错误说有的字段 超出的最大长度    那么出现这种情况第一反应肯定是编码的问题 网上找来文章分享一下:   一、什么是Oracle字符集  Oracle字符集是一个字节数据的解释的符号...
  • sqoop oracle导入数据到HBASE

    千次阅读 2018-01-18 17:12:20
    一、简介及部分重要参数介绍 Sqoop除了能够将数据从关系型数据库导入到HDFS和Hive中,还能够导入到HBase表中。 --hbase-table:通过指定--hbase-table参数值,指明将数据导入到HBase表中,而不是HDFS上的一个目录...
  • Oracle快速批量导入数据

    千次阅读 2019-07-12 15:13:18
    Oracle快速批量导入数据 要求是从SQLServer中读取数据然后存储到Oracle中,使用了Oracle的类库:Imports Oracle.ManagedDataAccess.dll 前期扒了一个前辈的C#代码,小伙伴们可以去观摩学习:...
  • ORACLE 导入文本数据

    2007-08-28 16:39:32
    关于Oracle导入文本数据,按照下面的步骤: 1、首先在数据库中建立数据表,例如:id(varchar(32)),username(varchar(32)),title(varchar(200)) 2、生成txt数据文件,数据用制表符分割(tab) 3、编辑一个ctl文件...
  • 索引1.1.1,Oracle 百万数据导入 txt1.1.2,准备工作1.1.3,首先我们创建个测试账户#1.1.4,写个测试表1.1.5,编写自动入库脚本 ctl1.1.6,示例1 编写.ctl 控制器1.1.7,执行脚本1.1.8从新测试用到的 sql1.1.9python...
  • oracle 数据导入

    千次阅读 2012-10-04 00:43:13
    Oracle导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文 件。imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用 法。 1. 获取帮助 imp help=y 2. ...
  • oracle导入数据时出现字段过长

    千次阅读 2014-02-27 11:07:18
    今天往oracle导入数据 出现错误说有的字段 超出的最大长度 那么出现这种情况第一反应肯定是编码的问题 网上找来文章分享一下: 一、什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之...
  • oracle19c数据导入oracle11g

    千次阅读 2020-06-18 15:39:48
    此文章是记录的把数据oracle19.3版本导入11g中 源数据版本:19.3.0.0.0 目标数据库版本:11.2.0.4.0 oracle客户端版本:sqldeveloper19.1 操作过程 首先我尝试使用expdp和impdp来导出导入,导出没有问题,...
  • 我从本地导出一个库dmp,然后新建一个用户,再导入库,在同一表里面同一个字段, 有的数据是正确的,有的数据就编程科学计数了
  • Oracle导入excel数据方法汇总

    万次阅读 热门讨论 2008-03-21 17:34:00
    Oracle导入excel数据方法汇总摘要:在程序编制过程和数据汇总交换过程中,经常会碰到需要将其他人员在office办公环境下编制的文件数据内容导入oracle中的情况。目前程序开发者经常使用的方法有如下几种:1,使用...
  • sqoop使用,从hive向oracle导入数据

    千次阅读 2018-12-19 10:51:25
    指定了将要填充的表(或将要调用的存储过程),以及hdfs包含资源数据的目录 --columns 默认将查询出表中所有的字段。通过这个参数可以选择列的子集并控制它们的顺序,使用逗号分割,例如:–columns “col1,col2,...
  • 首先用记事本在c盘下建一个.ctl结尾的控制文件,假定为input.ctl,要导入数据文件test.txt也在该盘下 然后向该控制文件中写入以下代码:   load data --1、控制文件标识 infile 'test....
  • oracle数据导入导出

    千次阅读 2013-08-22 17:55:39
    最近学习oracle数据的操作,主要是导入导出的实现:好多朋友说用exp和imp做导入导出。可是exp和imp不太灵活。单表数据导出,生成文件格式不太好控制。好些ETL系统,数据的抽取,加载。针对oracle,都是通过sqlplus ...
  • oracle之——oracle数据库数据导入导出步骤(入门)

    万次阅读 多人点赞 2017-04-18 16:38:59
    oracle数据库数据导入导出步骤(入门)说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具...
  • Oracle数据导入Mysql中

    2020-07-21 23:07:36
    尝试了oracle to mysql工具,迁移时报错不说,这么大的数据量,用这种简陋的工具不大可靠。 意外发现平时用的数据库视图工具Navicat Premium中有数据迁移工具,意外的好用。这个工具本身支持mysql,oracle,sqlLite...
  • 导入数据oracle

    千次阅读 2012-04-27 10:55:02
    不小心将服务器上一个表里面的数据删除,想从...这些方法也可以用于将其它格式的数据导入oracle中,这里只是以excel为例。 方法一,使用SQL*Loader 这个是用的较多的方法,前提必须oracle数据中目的表已经存在
  • 如果是txt文件的数据导入oracle中,数据量大的话用pl/sql会卡死,那么就要用到sqlload命令。 前两天在做一个不算任务的任务,用shell脚本将数据库中的数据导出到文件,在万能的百度上找了一些资料,自己亲手实践了...
  • *当我们拿到一个备份的Oracle数据库时,要导入到新的数据库里,有时会出现字符集不匹配的情况,在这里会详谈一些个人的解决办法。文笔不足之处,请大家原谅。* 一、首先我想让大家了解一些基本概念,如下: 字符集...
  • 不管是开发还是测试,工作中经常需要去批量新增测试数据,但是大量数据的新增速度有时候让我们苦不堪言,下面通过两种方式完成oracle数据的批量新增,比较两种方式的效率。 第一种方式:采用工具导入sql文件 以...
  • Oracle数据库导入数据的方法

    千次阅读 2008-03-28 10:54:00
    导读: Oracle数据库导入数据的方法前言 每个数据库管理员都会面临数据导入的问题,这有可能发生在数据库的新老移植过程中,或者是在数据库崩溃的恢复重建过程中,还有可能是在创建测试数据库的模拟环境过程中,...
  • Oracle数据导入 oracle load data infile

    千次阅读 2014-10-22 11:30:50
    Oracle数据导入导出相信很多时候,在不同数据库的表间记录进行复制或迁移时我们都会涉及到!!!废话不多说,这里我列举一下几种常见的操作方法: A库的table表的记录导出为一条条分号隔开的 insert ...
  • oracle impdp导入数据时用户建立

    千次阅读 2018-05-22 16:13:04
    概述:我们在进行导入dmp数据时,以前在使用imp导入时是需要目标库中创建好表空间和用户并充分授权是吧!那imp的进阶工具impdp呢?实验:imp工具帮助手册使用:oracle@host01 ~]$ impdp help=yImport: Release 12.1....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,342
精华内容 23,736
关键字:

oracle导入数据后id