quarta-feira, 10 de janeiro de 2018

Migrando tabelas gigantes para tabelas particionadas no Tibero


Uma das preocupações comuns durante a migração de dados é em relação a tabelas com grande volume de dados, que não estão particionadas.
Esta é a principal causa de grandes janelas de migração, principalmente quando existem tipos LOB nas tabelas de origem.
Não importa qual o motivo destas tabelas de origem não estarem particionadas.
O fato é que se estivessem particionadas, o processo de migração das partições antigas, poderiam ser realizados antecipadamente.
Deixando para o dia “D”, somente a tarefa de migrar a partição atual, minimizando a janela de migração final drasticamente.
Evidente que isso não se aplica para todos os tipos de particionamento,

Neste exemplo, demonstraremos como realizar esta tarefa para o Tibero usando o particionamento por range de datas, que é muito comum.

Para este exemplo usaremos a ferramenta "table_migrator" do Tibero (Não é uma ferramenta oficial do produto! Mas pode utilizada, Download: table_migrator_6_170201)

Para maiores informações sobre esta ferramenta acesse: Tibero Migration Utility Guide

Esta ferramenta permite a utilização de "filtros", onde direcionaremos os dados para suas respectivas partições de destino durante a migração.

Faremos uma migração de uma tabela não particionada do Oracle para uma tabela particionada no Tibero.

 Criando a tabela de origem: (ORACLE)

CREATE TABLE LUIZ.TESTE(ID NUMBER(5,0) PRIMARY KEY, NAME VARCHAR2(100), AGE NUMBER(3,0), DOC CLOB, STARTDATE DATE);

➔ Inserindo dados:

DECLARE
D  NUMBER(2,0);
M  NUMBER(2,0);
Y  NUMBER(4,0);
DT DATE;
BEGIN
FOR N IN 1..1000 LOOP
D  := DBMS_RANDOM.VALUE(1, 28);
M  := DBMS_RANDOM.VALUE(1, 12);
Y  := DBMS_RANDOM.VALUE(2010, 2017);
DT := TO_DATE(D || '/' || M || '/' || Y, 'DD/MM/YYYY');
INSERT INTO LUIZ.TESTE VALUES (N, DBMS_RANDOM.STRING('U', 100), DBMS_RANDOM.VALUE(21,85), DBMS_RANDOM.STRING('U', 1000), DT);
END LOOP;
COMMIT;
END;

➔ Verificação:

SELECT COUNT(*) FROM LUIZ.TESTE;
SELECT COUNT(*) FROM LUIZ.TESTE WHERE STARTDATE >= '01/01/2010' AND STARTDATE < '01/01/2011';
SELECT COUNT(*) FROM LUIZ.TESTE WHERE STARTDATE >= '01/01/2011' AND STARTDATE < '01/01/2012';
SELECT COUNT(*) FROM LUIZ.TESTE WHERE STARTDATE >= '01/01/2012' AND STARTDATE < '01/01/2013';
SELECT COUNT(*) FROM LUIZ.TESTE WHERE STARTDATE >= '01/01/2013' AND STARTDATE < '01/01/2014';
SELECT COUNT(*) FROM LUIZ.TESTE WHERE STARTDATE >= '01/01/2014' AND STARTDATE < '01/01/2015';
SELECT COUNT(*) FROM LUIZ.TESTE WHERE STARTDATE >= '01/01/2015' AND STARTDATE < '01/01/2016';
SELECT COUNT(*) FROM LUIZ.TESTE WHERE STARTDATE >= '01/01/2016' AND STARTDATE < '01/01/2017';
SELECT COUNT(*) FROM LUIZ.TESTE WHERE STARTDATE >= '01/01/2017' AND STARTDATE < '01/01/2018';

  COUNT(*)
----------
      1000

  COUNT(*)
----------
        79

  COUNT(*)
----------
       134

  COUNT(*)
----------
       138

  COUNT(*)
----------
       135

  COUNT(*)
----------
       137

  COUNT(*)
----------
       145

  COUNT(*)
----------
       158

  COUNT(*)
----------
        74

 TESTE 001: (TIBERO)

Testando a migração full de todos os registros da base de origem.

Resultado esperado:

Todos os registros alocados nas devidas partições de acordo com o critério de data.

CREATE TABLE LUIZ.TESTE(ID NUMBER(5,0) PRIMARY KEY, NAME VARCHAR2(100), AGE NUMBER(3,0), DOC CLOB, STARTDATE DATE)
PARTITION BY RANGE (STARTDATE)
(
PARTITION YEAR_2010 VALUES LESS THAN (TO_DATE('01/01/2011', 'DD/MM/YYYY')),
PARTITION YEAR_2011 VALUES LESS THAN (TO_DATE('01/01/2012', 'DD/MM/YYYY')),
PARTITION YEAR_2012 VALUES LESS THAN (TO_DATE('01/01/2013', 'DD/MM/YYYY')),
PARTITION YEAR_2013 VALUES LESS THAN (TO_DATE('01/01/2014', 'DD/MM/YYYY')),
PARTITION YEAR_2014 VALUES LESS THAN (TO_DATE('01/01/2015', 'DD/MM/YYYY')),
PARTITION YEAR_2015 VALUES LESS THAN (TO_DATE('01/01/2016', 'DD/MM/YYYY')),
PARTITION YEAR_2016 VALUES LESS THAN (TO_DATE('01/01/2017', 'DD/MM/YYYY')),
PARTITION YEAR_2017 VALUES LESS THAN (TO_DATE('01/01/2018', 'DD/MM/YYYY'))
);

SELECT * FROM DBA_PART_TABLES;

OWNER TABLE_NAME PARTITIONING_TYPE SUBPARTITIONING_TYPE PARTITION_COUNT DEF_SUBPARTITION_COUNT PARTITIONING_KEY_COUNT SUBPARTITIONING_KEY_COUNT DEF_TABLESPACE_NAME DEF_PCT_FREE DEF_INI_TRANS DEF_NEXT_EXTENT DEF_MAX_EXTENTS DEF_BUFFER_POOL MAX_TRANS INITIAL_EXTENT MIN_EXTENT INTERVAL
LUIZ TESTE RANGE NONE 8 0 1 0 USR 10 2 16 4,294,967,295 DEFAULT 163 131,072 65,536 <NULL>

SELECT * FROM DBA_TAB_PARTITIONS;

OWNER TABLE_NAME COMPOSITE PARTITION_NAME SUBPARTITION_COUNT BOUND PARTITION_NO TABLESPACE_NAME PCT_FREE INI_TRANS NEXT_EXTENT MAX_EXTENTS COMPRESSION BUFFER_POOL NUM_ROWS BLOCKS LAST_ANALYZED LOGGING
LUIZ TESTE NO YEAR_2010 0 TO_DATE('01/01/2011', 'DD/MM/YYYY') 1 USR 10 2 131,072 4,294,967,295 NO DEFAULT 0 0 <NULL> YES
LUIZ TESTE NO YEAR_2011 0 TO_DATE('01/01/2012', 'DD/MM/YYYY') 2 USR 10 2 131,072 4,294,967,295 NO DEFAULT 0 0 <NULL> YES
LUIZ TESTE NO YEAR_2012 0 TO_DATE('01/01/2013', 'DD/MM/YYYY') 3 USR 10 2 131,072 4,294,967,295 NO DEFAULT 0 0 <NULL> YES
LUIZ TESTE NO YEAR_2013 0 TO_DATE('01/01/2014', 'DD/MM/YYYY') 4 USR 10 2 131,072 4,294,967,295 NO DEFAULT 0 0 <NULL> YES
LUIZ TESTE NO YEAR_2014 0 TO_DATE('01/01/2015', 'DD/MM/YYYY') 5 USR 10 2 131,072 4,294,967,295 NO DEFAULT 0 0 <NULL> YES
LUIZ TESTE NO YEAR_2015 0 TO_DATE('01/01/2016', 'DD/MM/YYYY') 6 USR 10 2 131,072 4,294,967,295 NO DEFAULT 0 0 <NULL> YES
LUIZ TESTE NO YEAR_2016 0 TO_DATE('01/01/2017', 'DD/MM/YYYY') 7 USR 10 2 131,072 4,294,967,295 NO DEFAULT 0 0 <NULL> YES
LUIZ TESTE NO YEAR_2017 0 TO_DATE('01/01/2018', 'DD/MM/YYYY') 8 USR 10 2 131,072 4,294,967,295 NO DEFAULT 0 0 <NULL> YES

./migrator.sh \
SOURCE_TYPE=ORACLE \
SOURCE_DRIVER=oracle.jdbc.OracleDriver \
SOURCE_URL=jdbc:oracle:thin:@100.100.100.100:1521:orcl \
SOURCE_USER=SYSTEM \
SOURCE_PASSWORD=manager \
SOURCE_LOGIN_AS=NORMAL \
SOURCE_SCHEMA=LUIZ \
SOURCE_TABLE=TESTE \
TARGET_TYPE=DEFAULT \
TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver \
TARGET_URL=jdbc:tibero:thin:@100.100.100.100:8629:tibero \
TARGET_USER=SYS \
TARGET_PASSWORD=tibero \
TARGET_SCHEMA=LUIZ \
TARGET_TABLE=TESTE \
SELECT_FETCH_SIZE=16384 \
INSERT_PARALLEL=Y \
INSERT_THREAD_COUNT=4 \
INSERT_BATCH=Y \
INSERT_METHOD=CPL

> SOURCE_TYPE=ORACLE \
> SOURCE_DRIVER=oracle.jdbc.OracleDriver \
> SOURCE_URL=jdbc:oracle:thin:@100.100.100.100:1521:orcl \
> SOURCE_USER=SYSTEM \
> SOURCE_PASSWORD=manager \
> SOURCE_LOGIN_AS=NORMAL \
> SOURCE_SCHEMA=LUIZ \
> SOURCE_TABLE=TESTE \
> TARGET_TYPE=DEFAULT \
> TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver \
> TARGET_URL=jdbc:tibero:thin:@100.100.100.100:8629:tibero \
> TARGET_USER=SYS \
> TARGET_PASSWORD=tibero \
> TARGET_SCHEMA=LUIZ \
> TARGET_TABLE=TESTE \
> SELECT_FETCH_SIZE=16384 \
> INSERT_PARALLEL=Y \
> INSERT_THREAD_COUNT=4 \
> INSERT_BATCH=Y \
> INSERT_METHOD=CPL
=== Parameters ===
PROPERTY_FILE=migrator.properties
SOURCE_TYPE=ORACLE
SOURCE_DRIVER=oracle.jdbc.OracleDriver
SOURCE_URL=jdbc:oracle:thin:@100.100.100.100:1521:orcl
SOURCE_USER=SYSTEM
SOURCE_PASSWORD=************
SOURCE_LOGIN_AS=NORMAL
SOURCE_SCHEMA=LUIZ
SOURCE_TABLE=TESTE
TARGET_TYPE=DEFAULT
TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver
TARGET_URL=jdbc:tibero:thin:@100.100.100.100:8629:tibero
TARGET_USER=SYS
TARGET_PASSWORD=************
TARGET_SCHEMA=LUIZ
TARGET_TABLE=TESTE
SELECT_FETCH_SIZE=16384
SELECT_AS_BYTE=N
INSERT_METHOD=CPL
INSERT_BATCH=Y
INSERT_PARALLEL=Y
INSERT_THREAD_COUNT=4
INSERT_ZERO_LENGTH_STRING_AS_NULL=Y

==================
[E0]1511231254712 - STARTED
[L0]1511231255081 Loader started
[L1]1511231255109 Loader started
[L2]1511231255133 Loader started
[L3]1511231255145 Loader started
[L3] 32
[L2] 32
[L0] 32
[L1] 32
[L2] 64
[L3] 64
[L1] 64
[L0] 64
[L3] 96
[L1] 96
[L2] 96
[L0] 96
[L3] 128
[L2] 128
[L1] 128
[L0] 128
[L3] 160
[L1] 160
[L2] 160
[L3] 192
[E0]1511231255806 - TOTAL Extracted ROWS: 1000
[L2] 192
[L0] 160
[L1] 192
[L3] 224
[L2] 224
[L0] 192
[L1] 224
[L3] 256
[L2] 256
[L0] 224
[L1] 256
[L1]1511231255948 TOTAL Loaded ROWS: 256
Loader finished
[L3]1511231255979 TOTAL Loaded ROWS: 262
Loader finished
[L0]1511231255979 TOTAL Loaded ROWS: 225
Loader finished
[L2]1511231255979 TOTAL Loaded ROWS: 257
Loader finished
Loading is ended.
Elapsed Time (milliseconds) : 2460
ADD BATCH : 1435
EXECUTE BATCH : 1491

SELECT COUNT(*) FROM LUIZ.TESTE;
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2010);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2011);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2012);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2013);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2014);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2015);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2016);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2017);

  COUNT(*)
----------
      1000

1 row selected.

SQL>
  COUNT(*)
----------
        79

1 row selected.

SQL>
  COUNT(*)
----------
       134

1 row selected.

SQL>
  COUNT(*)
----------
       138

1 row selected.

SQL>
  COUNT(*)
----------
       135

1 row selected.

SQL>
  COUNT(*)
----------
       137

1 row selected.

SQL>
  COUNT(*)
----------
       145

1 row selected.

SQL>
  COUNT(*)
----------
       158

1 row selected.

SQL>
  COUNT(*)
----------
        74

 TESTE 002:

Testando a migração full de todos os registros da base de origem antes de 2017.
Migrar depois os registros de 2017.

Resultado esperado:

Todos os registros alocados nas devidas partições de acordo com o critério de data.

TRUNCATE TABLE LUIZ.TESTE;

Table 'LUIZ.TESTE' truncated.

SELECT * FROM  LUIZ.TESTE;

0 row selected.

Migração 001:

./migrator.sh \
SOURCE_TYPE=ORACLE \
SOURCE_DRIVER=oracle.jdbc.OracleDriver \
SOURCE_URL=jdbc:oracle:thin:@100.100.100.100:1521:orcl \
SOURCE_USER=SYSTEM \
SOURCE_PASSWORD=manager \
SOURCE_LOGIN_AS=NORMAL \
SOURCE_SCHEMA=LUIZ \
SOURCE_TABLE=TESTE \
TARGET_TYPE=DEFAULT \
TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver \
TARGET_URL=jdbc:tibero:thin:@100.100.100.100:8629:tibero \
TARGET_USER=SYS \
TARGET_PASSWORD=tibero \
TARGET_SCHEMA=LUIZ \
TARGET_TABLE=TESTE \
SELECT_CONDITION="STARTDATE < TO_DATE('01/01/2017', 'DD/MM/YYYY')" \
SELECT_FETCH_SIZE=16384 \
INSERT_PARALLEL=Y \
INSERT_THREAD_COUNT=4 \
INSERT_BATCH=Y \
INSERT_METHOD=CPL

[tiberotst@rick-ln table_migrator]$ ./migrator.sh \
> SOURCE_TYPE=ORACLE \
> SOURCE_DRIVER=oracle.jdbc.OracleDriver \
> SOURCE_URL=jdbc:oracle:thin:@100.100.100.100:1521:orcl \
> SOURCE_USER=SYSTEM \
> SOURCE_PASSWORD=manager \
> SOURCE_LOGIN_AS=NORMAL \
> SOURCE_SCHEMA=LUIZ \
> SOURCE_TABLE=TESTE \
> TARGET_TYPE=DEFAULT \
> TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver \
> TARGET_URL=jdbc:tibero:thin:@100.100.100.100:8629:tibero \
> TARGET_USER=SYS \
> TARGET_PASSWORD=tibero \
> TARGET_SCHEMA=LUIZ \
> TARGET_TABLE=TESTE \
> SELECT_CONDITION="STARTDATE < TO_DATE('01/01/2017', 'DD/MM/YYYY')" \
> SELECT_FETCH_SIZE=16384 \
> INSERT_PARALLEL=Y \
> INSERT_THREAD_COUNT=4 \
> INSERT_BATCH=Y \
> INSERT_METHOD=CPL
=== Parameters ===
PROPERTY_FILE=migrator.properties
SOURCE_TYPE=ORACLE
SOURCE_DRIVER=oracle.jdbc.OracleDriver
SOURCE_URL=jdbc:oracle:thin:@100.100.100.100:1521:orcl
SOURCE_USER=SYSTEM
SOURCE_PASSWORD=************
SOURCE_LOGIN_AS=NORMAL
SOURCE_SCHEMA=LUIZ
SOURCE_TABLE=TESTE
TARGET_TYPE=DEFAULT
TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver
TARGET_URL=jdbc:tibero:thin:@100.100.100.100:8629:tibero
TARGET_USER=SYS
TARGET_PASSWORD=************
TARGET_SCHEMA=LUIZ
TARGET_TABLE=TESTE
SELECT_CONDITION=STARTDATE < TO_DATE('01/01/2017', 'DD/MM/YYYY')
SELECT_FETCH_SIZE=16384
SELECT_AS_BYTE=N
INSERT_METHOD=CPL
INSERT_BATCH=Y
INSERT_PARALLEL=Y
INSERT_THREAD_COUNT=4
INSERT_ZERO_LENGTH_STRING_AS_NULL=Y

==================
[E0]1511233256441 - STARTED
[E0]1511233256843 - TOTAL Extracted ROWS: 926
[L0]1511233256850 Loader started
[L1]1511233256869 Loader started
[L2]1511233256899 Loader started
[L3]1511233256908 Loader started
[L0] 32
[L3] 32
[L1] 32
[L2] 32
[L0] 64
[L3] 64
[L2] 64
[L1] 64
[L3] 96
[L2] 96
[L0] 96
[L1] 96
[L3] 128
[L0] 128
[L2] 128
[L1] 128
[L3] 160
[L0] 160
[L2] 160
[L1] 160
[L0] 192
[L3] 192
[L2] 192
[L1] 192
[L0] 224
[L2] 224
[L3] 224
[L3]1511233257331 TOTAL Loaded ROWS: 224
Loader finished
[L1] 224
[L1]1511233257331 TOTAL Loaded ROWS: 224
Loader finished
[L2]1511233257335 TOTAL Loaded ROWS: 232
Loader finished
[L0]1511233257339 TOTAL Loaded ROWS: 246
Loader finished
Loading is ended.
Elapsed Time (milliseconds) : 1866
ADD BATCH : 526
EXECUTE BATCH : 984

SELECT COUNT(*) FROM LUIZ.TESTE;
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2010);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2011);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2012);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2013);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2014);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2015);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2016);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2017);

  COUNT(*)
----------
       926

1 row selected.

SQL>
  COUNT(*)
----------
        79

1 row selected.

SQL>
  COUNT(*)
----------
       134

1 row selected.

SQL>
  COUNT(*)
----------
       138

1 row selected.

SQL>
  COUNT(*)
----------
       135

1 row selected.

SQL>
  COUNT(*)
----------
       137

1 row selected.

SQL>
  COUNT(*)
----------
       145

1 row selected.

SQL>
  COUNT(*)
----------
       158

1 row selected.

SQL>
  COUNT(*)
----------
         0

1 row selected.

Migração 002:

./migrator.sh \
SOURCE_TYPE=ORACLE \
SOURCE_DRIVER=oracle.jdbc.OracleDriver \
SOURCE_URL=jdbc:oracle:thin:@100.100.100.100:1521:orcl \
SOURCE_USER=SYSTEM \
SOURCE_PASSWORD=manager \
SOURCE_LOGIN_AS=NORMAL \
SOURCE_SCHEMA=LUIZ \
SOURCE_TABLE=TESTE \
TARGET_TYPE=DEFAULT \
TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver \
TARGET_URL=jdbc:tibero:thin:@100.100.100.100:8629:tibero \
TARGET_USER=SYS \
TARGET_PASSWORD=tibero \
TARGET_SCHEMA=LUIZ \
TARGET_TABLE=TESTE \
SELECT_CONDITION="STARTDATE >= TO_DATE('01/01/2017', 'DD/MM/YYYY')" \
SELECT_FETCH_SIZE=16384 \
INSERT_PARALLEL=Y \
INSERT_THREAD_COUNT=4 \
INSERT_BATCH=Y \
INSERT_METHOD=CPL

[tiberotst@rick-ln table_migrator]$ ./migrator.sh \
> SOURCE_TYPE=ORACLE \
> SOURCE_DRIVER=oracle.jdbc.OracleDriver \
> SOURCE_URL=jdbc:oracle:thin:@100.100.100.100:1521:orcl \
> SOURCE_USER=SYSTEM \
> SOURCE_PASSWORD=manager \
> SOURCE_LOGIN_AS=NORMAL \
> SOURCE_SCHEMA=LUIZ \
> SOURCE_TABLE=TESTE \
> TARGET_TYPE=DEFAULT \
> TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver \
> TARGET_URL=jdbc:tibero:thin:@100.100.100.100:8629:tibero \
> TARGET_USER=SYS \
> TARGET_PASSWORD=tibero \
> TARGET_SCHEMA=LUIZ \
> TARGET_TABLE=TESTE \
> SELECT_CONDITION="STARTDATE >= TO_DATE('01/01/2017', 'DD/MM/YYYY')" \
> SELECT_FETCH_SIZE=16384 \
> INSERT_PARALLEL=Y \
> INSERT_THREAD_COUNT=4 \
> INSERT_BATCH=Y \
> INSERT_METHOD=CPL
=== Parameters ===
PROPERTY_FILE=migrator.properties
SOURCE_TYPE=ORACLE
SOURCE_DRIVER=oracle.jdbc.OracleDriver
SOURCE_URL=jdbc:oracle:thin:@100.100.100.100:1521:orcl
SOURCE_USER=SYSTEM
SOURCE_PASSWORD=************
SOURCE_LOGIN_AS=NORMAL
SOURCE_SCHEMA=LUIZ
SOURCE_TABLE=TESTE
TARGET_TYPE=DEFAULT
TARGET_DRIVER=com.tmax.tibero.jdbc.TbDriver
TARGET_URL=jdbc:tibero:thin:@100.100.100.100:8629:tibero
TARGET_USER=SYS
TARGET_PASSWORD=************
TARGET_SCHEMA=LUIZ
TARGET_TABLE=TESTE
SELECT_CONDITION=STARTDATE >= TO_DATE('01/01/2017', 'DD/MM/YYYY')
SELECT_FETCH_SIZE=16384
SELECT_AS_BYTE=N
INSERT_METHOD=CPL
INSERT_BATCH=Y
INSERT_PARALLEL=Y
INSERT_THREAD_COUNT=4
INSERT_ZERO_LENGTH_STRING_AS_NULL=Y

==================
[E0]1511233413132 - STARTED
[E0]1511233413319 - TOTAL Extracted ROWS: 74
[L0]1511233413424 Loader started
[L1]1511233413432 Loader started
[L2]1511233413462 Loader started
[L1]1511233413492 TOTAL Loaded ROWS: 12
Loader finished
[L3]1511233413494 Loader started
[L3]1511233413494 TOTAL Loaded ROWS: 0
Loader finished
[L0] 32
[L0]1511233413508 TOTAL Loaded ROWS: 32
Loader finished
[L2]1511233413511 TOTAL Loaded ROWS: 30
Loader finished
Loading is ended.
Elapsed Time (milliseconds) : 1448
ADD BATCH : 80
EXECUTE BATCH : 28

SELECT COUNT(*) FROM LUIZ.TESTE;
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2010);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2011);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2012);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2013);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2014);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2015);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2016);
SELECT COUNT(*) FROM LUIZ.TESTE PARTITION(YEAR_2017);

  COUNT(*)
----------
      1000

1 row selected.

SQL>
  COUNT(*)
----------
        79

1 row selected.

SQL>
  COUNT(*)
----------
       134

1 row selected.

SQL>
  COUNT(*)
----------
       138

1 row selected.

SQL>
  COUNT(*)
----------
       135

1 row selected.

SQL>
  COUNT(*)
----------
       137

1 row selected.

SQL>
  COUNT(*)
----------
       145

1 row selected.

SQL>
  COUNT(*)
----------
       158

1 row selected.

SQL>
  COUNT(*)
----------
        74

1 row selected.

terça-feira, 9 de janeiro de 2018

Vídeo informando como instalar o Tibero 6 no Linux

Este vídeo demonstra como instalar o Tibero 6 no Linux usando o método manual de instalação. Para detalhes de como instalar o Tibero 6 automaticamente no Linux, favor consultar o manual de instalação.


Vídeo informando como instalar o Tibero 6 no Windows

Este vídeo demonstra como instalar o Tibero 6 no Windows usando o método automático de instalação. Para detalhes de como instalar o Tibero 6 manualmente no Windows, favor consultar o manual de instalação.


Vídeo informando como instalar os pré-requisitos do Tibero 6

Este vídeo demonstra como instalar / configurar os pré-requisitos para a instalação do Tibero 6.


Vídeo informando como fazer o download do Tibero 6


Este vídeo demonstra como realizar o download do Tibero 6.