sexta-feira, 22 de julho de 2016

Configurar o Tibero OLE DB data provider

O Tibero OLE DB data provider atualmente suporta o sistema operacional Windows. 
Tibero OLE DB provider garante o desempenho e estabilidade de aplicações baseadas em ambiente ADO ou OLE DB para acessar o Tibero database.
Ele é compatível com as mais recentes especificações de OLE DB e ADO de modo que desenvolvedores ADO ou OLE DB podem facilmente migrar de aplicativos para o ambiente Tibero.
Além disso, o Tibero OLE DB permite acessar funções que o Tibero fornece, tais como utilizar PSM e LOB e apoia plenamente o ambiente MS .NET Framework.

Para configurar o Tibero OLE DB provider, é necessário ter instalado ou instalar o driver ODBC previamente. Para saber como instalar o driver ODBC acesse o link: Instalar o Tibero ODBC driver

Procedimento para configurar o Tibero OLE DB data provider:

* Neste exemplo usaremos a plataforma 64 bits.

1) Copie as bibliotacas do OLE DB para uma pasta adequada:
   Ex.: C:\Tibero\Tibero6\Client64\OLEDB
   * Estes arquivos são localizados na pasta da instalação do Tibero RDBMS.
  mkdir  C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\EntLibContrib.Data.Tibero.dll C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\Oracle.DataAccess.dll C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\Tibero.DataAccess.dll C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\Tibero.DbAccess.dll C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\libtbcli.dll C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\libtbcli.lib C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\msdtb6.dll C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\msdtb6.lib C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\tbprov6.dll C:\Tibero\Tibero6\Client64\OLEDB
  copy %TB_HOME%\client\win64\lib\tbprov6.lib C:\Tibero\Tibero6\Client64\OLEDB

2) Abra uma janela de prompt de comando em modo administrativo e registre as DLLs:
  regsvr32.exe C:\Tibero\tibero5_client\tbprov5.dll
  regsvr32.exe C:\Tibero\tibero5_client\msdtb5.dll

3) Crie e abra um arquivo vazio com a extensão UDL:
  C:\Tibero\Tibero6\Client64\OLEDB\tibero.udl
 
4) Selecione o Tibero OLE DB provider, informe os valores das propriedades de conexão e efetue o teste de conexão.
   Ex.:
 
Para maiores informações acesse:
    Tibero Driver Connection Guide
    Tibero OLE DB User Guide

quinta-feira, 21 de julho de 2016

Lançamento oficial do Tibero 6 no Brasil

Agora é oficial. A versão 6 do Tibero agora está oficialmente liberada para ser usada no Brasil. Algumas mudanças principalmente em relação a arquitetura, proporcionaram um desempenho muito superior em relação a versão 5 que já apresentava uma performance excepcional.

Segue abaixo uma pequena relação das principais mudanças desta versão:

- Arquitetura Totalmente Redefinida
- Agora os Background Processes também são Multi Thread
- Listener Multi-port Support
- Estrutura de processos melhorada e integrada
- Multinode parallel recovery
- TAS (Tibero Active Storage)
- Bitmap index, Star Transformation e vários métodos de particionamento
- Suporta processos dedicados para tarefas de administração
- I/O Assíncrono para as tarefas multi thread
- Reliable Shared Server, não há cópias desnecessárias de memória entre processos
- Extendida conectividade com DBLinks para outros DBMS. Usa JDBC, não ODBC
- Tibero Manager
- Flashback database
- Data types: 64K varchar, binary float, binary double, …
- Muito mais packages e views de sistema disponíveis e idiomas suportados
- Virtual Private Database

O lançamento foi oficializado em conjunto ao lançamento do canal oficial da TmaxSoft no LinkedIn que pode ser conferido aqui: TmaxSoft Brasil - LinkedIn

Para fazer o download do Tibero, gerar a licença demo e obter os manuais de instruções, acesse o link: Technet TmaxSoft e siga as instruções das primeiras postagens deste blog a partir desta:
Fazer o download da versão demo do Tibero

terça-feira, 19 de julho de 2016

Configurar Data Source do Tibero no JBoss 5

Neste exemplo é demonstrado um passo-a-passo de como configurar o JBoss para acessar o RDBMS Tibero para acesso XA (Transação distribuída, 2Phase Commit...) e NON-XA. Para este exemplo, usamos o JBoss AS 5.1.0 GA, CentOS Linux kernel 2.6.9-89.ELsmp, e Tibero 5 FS2.

1) Configurar os Data Sources NON-XA e XA:
  - Copiar "Tibero JDBC driver" para "lib" directory:
    cp $TIBERO_HOME/tibero5/client/lib/jar/tibero5-jdbc.jar  $JBOSS_HOME/server/default/lib

  - Criar o xml de configuração e adicionar o seguinte conteúdo:
    vi $JBOSS_HOME/server/default/deploy/tibero-ds.xml

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
  <local-tx-datasource>
    <jndi-name>dsTibero</jndi-name>
    <connection-url>jdbc:tibero:thin:@192.168.100.100:58629:tibero</connection-url>
    <driver-class>com.tmax.tibero.jdbc.TbDriver</driver-class>
    <user-name>sys</user-name>
    <password>tibero</password>
  </local-tx-datasource>
  <xa-datasource>
    <jndi-name>xadsTibero</jndi-name>
    <xa-datasource-class>com.tmax.tibero.jdbc.ext.TbXADataSource</xa-datasource-class>
    <xa-datasource-property name="PortNumber">58629</xa-datasource-property>
    <xa-datasource-property name="DatabaseName">tibero</xa-datasource-property>
    <xa-datasource-property name="ServerName">192.168.100.100</xa-datasource-property>
    <user-name>sys</user-name>
    <password>tibero</password>
  </xa-datasource>
</datasources>

  - Iniciar o Tibero:
    tbboot

  - Iniciar o JBoss:
    run.sh -b 192.168.100.100

2) Testar o datasource NON-XA:
  - Criar o arquivo jsp e adidionar o seguinte conteúdo:
    mkdir $JBOSS_HOME/server/default/deploy/tiberotest.war
    cd $JBOSS_HOME/server/default/deploy/tiberotest.war
    vi $JBOSS_HOME/server/default/deploy/tiberotest.war/tiberotest.jsp

<%@page contentType="text/html" import="java.util.*,javax.naming.*,javax.sql.DataSource,java.sql.*"%>
<%
  DataSource        ds  = null;
  Connection        con = null; 
  PreparedStatement pr  = null; 
  InitialContext    ic; 
  try
  {
    ic = new InitialContext();
    ds = (DataSource)ic.lookup( "java:/dsTibero" );
    con = ds.getConnection(); 
    pr = con.prepareStatement("SELECT USER_ID, USERNAME FROM  DBA_USERS");
    ResultSet rs = pr.executeQuery();
    while (rs.next())
    {
        out.println("<br> " +rs.getString("USER_ID") + " | " +rs.getString("USERNAME")); 
    }
    rs.close();
    pr.close();
    con.close();
  }
  catch(Exception e)
  {
    out.println("Exception thrown " +e); 
  }
%>

  - Testar no browser:
    http://192.168.100.100:8080/tiberotest/tiberotest.jsp

3) Testar o datasource XA:
  - Criar o arquivo jsp e adidionar o seguinte conteúdo:
    mkdir $JBOSS_HOME/server/default/deploy/tiberotestxa.war
    cd $JBOSS_HOME/server/default/deploy/tiberotestxa.war
    vi $JBOSS_HOME/server/default/deploy/tiberotestxa.war/tiberotestxa.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="javax.naming.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<%
  String sql = "SELECT * FROM ALL_USERS";
  out.println("Tibero XA data source test using the script below:");
  out.write  ("<br>");
  out.println(sql);
  out.write  ("<br>");
  out.write  ("<br>");
  Context           ctx  = null;
  DataSource        ds   = null;
  Connection        con  = null;
  Statement         stmt = null;
  ResultSet         rs   = null;
  ResultSetMetaData md   = null;
  try
  {
    StringBuffer query = new StringBuffer();
    ctx  = new InitialContext();
    ds   = (DataSource) ctx.lookup("java:/xadsTibero");
    con  = ds.getConnection();
    stmt = con.createStatement();
    query.append(sql);
    rs = stmt.executeQuery(query.toString());
    md = rs.getMetaData();
    out.write("<table border=\"1\"  style=\"width:100%\">");
    out.write("<tr>");
    for (int h = 1 ; h <= md.getColumnCount() ; h++)
    {
      out.write  ("<th>");
      out.println(md.getColumnName(h));
      out.write  ("</th>");
    }
    out.write  ("</tr>");
    while (rs.next())
    {
      out.write  ("<tr>");
      for (int r = 1 ; r <= md.getColumnCount() ; r++)
      {
        out.write  ("<td>");
        out.println(rs.getString(r));
        out.write  ("</td>");
      }
      out.write  ("</tr>");
    }
    out.write("</table>");
    stmt.close();
    con.close();
  }
  catch (Exception e)
  {
    out.println(e);
  }
%>
</body>
</html>

  - Testar no browser:
    http://192.168.100.100:8080/tiberotestxa/tiberotestxa.jsp

NOTA:
Os valores em "Azul" devem ser idênticos.
Altere os valores em "Verde" de acordo com as configurações do seu ambiente.

quinta-feira, 2 de junho de 2016

Anunciada a parceria da TmaxSoft com a DBMaster

DBMaster e TmaxSoft iniciam parceria. A expectativa da multinacional coreana provedora de softwares empresariais é aumentar a competitividade por meio de uma estratégia de preços atrativa e aumentar a presença no Brasil.

Saiba mais: DBMaster + TmaxSoft

A DBMaster também marcou presença no TmaxDay 2016. O evento realizado pela TmaxSoft em Seoul, Coreia do Sul, reuniu centenas de representantes, usuários, parceiros e distribuidores de diversas partes do mundo.




segunda-feira, 23 de maio de 2016

T-Up a nova ferramenta de migração do Tibero

O "T-Up" é a nova ferramenta de migração do Tibero. Esta ferramenta irá substituir o tbMigrator em breve. Neste post, você pode obter a versão mais atual para avaliação, assim como as instruções de utilização. Além das funcionalidades de migração automática que o tbMigrator já possui, o T-Up conta com uma opção de "análise", que verifica a base de dados de origem e produz como saída um relatório informando o percentual de sucesso da migração de cada objeto, permitindo inclusive a alteração dos scripts SQL antes da migração em si.
Com esta iniciativa a tarefa de migração fica cada vez mais eficiente.

O T-Up pode ser obtido na pasta $TB_HOME/client/bin/T-Up.zip da instalação do Tibero.

Instruções de como instalar o T-Up:

- Descompacte o arquivo: "T-Up.and.libs.zip"

- Copie o driver JDBC da base de origem, para o diretório: LIB. Ex.: ojdbc6.jar no caso de Oracle.

- Para usar o T-Up no Windows:
    - Copie os arquivos: "libtbparser.dll" e "libtbparser.lib" também para o diretório: LIB.
    - Adicione o diretório LIB na variável de ambiente PATH do Windows.

- Execute o arquivo .bat correspondente, ou o arquivo sem extensão no caso de Linux. (T-Up.x86 ou T-Up.x86_64).

Um exemplo do report gerado pelo T-Up após a análise da base de origem:



Consulte este link sobre a ferramenta "tbMigrator" para se informar sobre as demais funcionalidades.

quinta-feira, 12 de maio de 2016

Criar um Database Link de Tibero para Oracle

Este procedimento informa como estabelecer um DBLink do banco Tibero para o banco Oracle usando o gateway do Tibero, uma ferramenta inclusive sem custo.
Este exemplo utiliza Linux (CentOS 6.7) como plataforma e o Tibero está instalado no user: tibero.

Para obter informações mais detalhadas, Acesse o seguinte documento:

Procedimento:

- Baixar o "Oracle Instant Client" em $HOME/tibero:
  http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

- Instalar o "Oracle Instant Client":
  cd $HOME
  unzip instantclient-basic-linux-x86-64-11.2.0.2.0.zip
  unzip instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip
  mv instantclient_11_2/ client
  mkdir -p app/oracle/product/11.2.0
  mv client app/oracle/product/11.2.0
  vi app/oracle/product/11.2.0/client/tnsnames.ora
    XE =
      (DESCRIPTION =
        (ADDRESS =
          (PROTOCOL = TCP)
          (HOST = 192.168.1.105)
          (PORT = 1521)
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = xe)
        )
      )
  vi /home/tibero/.bash_profile
    export ORACLE_HOME=/home/tibero/app/oracle/product/11.2.0/client
    export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME:$PATH
    export TNS_ADMIN=$ORACLE_HOME

- Testar o "Oracle Instant Client":
  mkdir -p /home/tibero/app/oracle/product/11.2.0/client/log/diag/clients
  sqlplus sys/manager@XE as sysdba
  SQL> select * from v$instance;
 
- Configurar o Tibero Gateway:
  vi /home/tibero/.bash_profile
    export TBGW_HOME=/home/tibero/gateway
  mkdir $TBGW_HOME
  cd $TBGW_HOME
  cp /home/tibero/tibero5/client/bin/gw4orcl_11g $TBGW_HOME/gw4orcl
  ldd gw4orcl

    Atenção: Se mostrar alguma mensagem: "...lib not found", não vai funcionar, deve resolver as dependências até não ter mais mensagens de "...NOT FOUND" ou "CANNOT FIND..."

  vi $TB_HOME/client/config/tbdsn.tbr

    Atenção: Este teste usa o gateway modo local, se precisar usar o modo listener, consulte o manual de DBLINK do tibero.

    gw_local=
    (
      (GATEWAY=
        (PROGRAM=/home/tibero/gateway/gw4orcl)
        (TARGET=XE)
        (TX_MODE=GLOBAL)
      )
    )

  mkdir -p /home/tibero/gateway/oracle/config
  vi /home/tibero/gateway/oracle/config/tbgw.cfg

    Atenção: Não usar variável de ambiente neste arquivo. Informe o valor do path completo!

    LISTENER_PORT=9999
    LOG_DIR=/home/tibero/gateway/oracle/log
    LOG_LVL=5
    MAX_LOG_SIZE=1000000

  ./gw4orcl
  ps -ef | grep gw
  netstat -na | grep 9999
  netstat -nap | grep gw
  tbsql sys/tibero
  chmod o+rx $HOME
  chmod o+rx $ORACLE_HOME
  chmod u+x $TBGW_HOME/gw4orcl
  ./gw4orcl
  tbdown
  tbboot

- Criar o DBLink:
  tbsql sys/tibero
  SQL> create public database link olink connect to scott identified by 'tiger' using 'gw_local';

- Testar o DBLink:
  SQL> select * from tab@olink;
    TNAME                          TABTYPE  CLUSTERID
    ------------------------------ ------- ----------
    BONUS                          TABLE             
    DEPT                           TABLE             
    DUMMY                          TABLE             
    EMP                            TABLE             
    SALGRADE                       TABLE             

quarta-feira, 11 de maio de 2016

A virtualização de banco de dados como grande aliada dos negócios da empresa

O artigo de virtualização foi publicado no Telequest. O portal é independente, sem vínculo com as indústrias privadas, operadoras de serviços ou com empresas estatais, criado e mantido por um grupo de jornalistas especializados sob a liderança de Ethevaldo Siqueira. Um dos mais experientes jornalistas desse setor, que cobre os segmentos de Tecnologias da Informação e da Comunicações desde 1967,  Siqueira foi colunista de TI no jornal O Estado de S. Paulo de 1967 a 2012, é comentarista na rádio CBN na coluna Mundo Digital e colaborador especial na revista Veja.

Além dele, também foi replicado no Exponews, no Information Show - site do evento realizado anualmente pela Information Management - e na última sexta feira no:
Administradores.com.br

Abaixo, seguem os links para conferirem a matéria na íntegra e anexo, os prints:





Mais boas notícias! Em 12/05/2016, saímos com o artigo de virtualização em mais dois sites: TI Inside e TI Bahia: