0755mx 发表于 2018-9-24 09:05:34

【Oracle Times Ten】oracle中映射表到timesten的2种方式

  前面一篇博客使用了最简单的一种映射oracle表到timesten的方式(《【Oracle Times Ten】用ttisql从oracle中映射表到timesten》),该方式不能指定表的所有者,因此默认为当前登录用户所有。我参考了官方文档再举例两种方式。
  1.使用createandloadfromoraquery命令并开启4个线程来导入到timesten,这次我们只导入前299999条数据。
Command> createandloadfromoraquery test 4 select * from root.test where>
0;  
Mapping query to this table:
  
CREATE TABLE "LION"."TEST" (
  
"ID" number NOT NULL,
  
"NAME" varchar2(20 byte),
  
"NOTE" varchar2(20 byte),
  
"MARK" varchar2(20 byte)
  
)
  
Table test created
  
299999 rows loaded from oracle.
  然后,继续使用createandloadfromoraquery命令导入后面的所有数据。操作过程中会出现一个警告提示你这个表已经存在了,随后操作完成告诉你本次操作导入了多少条数据。
Command> createandloadfromoraquery test 4 select * from root.test where>
00;  
Warning2207: Table LION.TEST already exists
  
200001 rows loaded from oracle.
  2.使用内置命令完成数据导入(如果自动提交已关闭,还需要执行提交或回滚命令才能执行完成)。
  (1)获得数据结构
Command> call ttTableSchemaFromOraQueryGet('lion','test','select * from root.tes  
t');
  
< CREATE TABLE "LION"."TEST" (
  
"ID" number NOT NULL,
  
"NAME" varchar2(20 byte),
  
"NOTE" varchar2(20 byte),
  
"MARK" varchar2(20 byte)
  
) >
  
1 row found.
  (2)用提供的建议建表语句建表
Command> CREATE TABLE "LION"."TEST" (  
> "ID" number NOT NULL,
  
> "NAME" varchar2(20 byte),
  
> "NOTE" varchar2(20 byte),
  
> "MARK" varchar2(20 byte)
  
>) ;
  (3)从oracle中提取数据插入timesten
Command> call ttLoadFromOracle('lion','test','select * from root.test where>
0');  
< 10 >
  
1 row found.
  (4)查询本次插入的结果集
Command> select * from lion.test;  
< 0, 呵呵, 我是说明, 我是简介 >
  
< 1, 呵呵, 我是说明, 我是简介 >
  
< 2, 呵呵1, 我是说明, 我是简介 >
  
< 3, 呵呵, 我是说明, 我是简介 >
  
< 4, 呵呵, 我是说明, 我是简介 >
  
< 5, 呵呵, 我是说明, 我是简介 >
  
< 6, 呵呵, 我是说明, 我是简介 >
  
< 7, 呵呵, 我是说明, 我是简介 >
  
< 8, 呵呵, 我是说明, 我是简介 >
  
< 9, 呵呵, 我是说明, 我是简介 >
  
10 rows found.


页: [1]
查看完整版本: 【Oracle Times Ten】oracle中映射表到timesten的2种方式