在 Oracle table 中以高性能加载巨大的 CSV 文件

Loading a huge CSV file with high performance in Oracle table

我有一个 CSV 文件,其大小约为 20 Gig。该文件具有三个波斯语列。我想将它加载到 Oracle Table。我搜索了一下,发现 sql loader 性能很高。但是,当我加载 table 中的文件时,波斯语数据未按正确顺序加载。事实上,这是因为波斯语数据是从右到左的语言。 我使用这个控制文件:

 OPTIONS (SKIP=0, ERRORS=500, PARALLEL=TRUE, MULTITHREADING=TRUE, DIRECT=TRUE, 
 SILENT=(ALL))
 load data
 CHARACTERSET UTF8
 infile '/home/oracle/part.csv'
 APPEND
 into table Fact_test
 fields terminated by ','
 trailing nullcols(
 A_ID INTEGER,
 T_ID,
 G_ID,
 TRTYPE,
 ORRETURNED,
 MECH,
 AMN,
 TRAM INTEGER,
 USERID INTEGER,
 USERS INTEGER,
 VERID INTEGER,
 TRSTAMP CHAR(4000),
 OPR_BRID INTEGER
 )

文件是这样的:

 A_ID,T_ID,g_id,TrType,ORRETURNED,Mech,Amn,Tram,UserID,UserS,VerID,TRSTAMP,OPR_BRID
 276876739075,154709010853,4302,بروفق,اصلی,غیر سبک,بررسی,86617.1,999995,NULL,NULL,1981-11-16 13:23:16,2516

当我以 excel 格式导出 table 时,我收到这个,一些数字变成负数:

 (A_ID,T_ID,g_id,TrType,ORRETURNED,Mech,Amn,Tram,UserID,UserS,VerID,TRSTAMP,OPR_BRID) values (276876739075,'154709010853',411662402610,'4302','غیر بررسی','اصلي','سبک',-1344755500,-1445296167,-1311201320,909129772,'77.67',960051513);

问题是加载数据时,某些列为负数并且某些列的顺序发生变化。

你能指导我如何解决这个问题吗?

非常感谢任何帮助。

问题已解决: 我将控制文件更改为这个:

  load data
  CHARACTERSET UTF8
  infile '/home/oracle/test_none.csv'
  APPEND
  into table Fact_test
  FIELDS terminated BY ','
  trailing nullcols(
  A_ID CHAR(50),
  T_ID CHAR(50),
  G_ID CHAR(50),
  TRTYPE,
  ORRETURNED,
  MECH,
  AMN,
  TRAM CHAR(50),
  USERID,
  USERS CHAR(50),
  VERID CHAR(50),
  TRSTAMP,
  OPR_BRID CHAR(50)
  )