fbpx
+55 (11) 4506-3239

5 maio 2011

Transferindo banco DB2 para Oracle no Lotus Quickr 8.5 for WebSphere Portal

//
Comments0

A transferência de banco de dados nos produtos WebSphere possui o mesmo conceito desde a versão 5.x.
As modificações ocorridas entre as versões 5.x a 7.x são referentes a scripts, nomenclatura de arquivos, bases com nomes alterados e disposição de dados e sua compatibilidade com novas versões de bancos de dados disponíveis no mercado como Oracle, SQL Server, DB2, etc.
Com o Lotus Quickr desde a versão 8.0.x os bancos e as configurações eram os mesmos da versão do WebSphere Portal 6.0 pois o Lotus Quickr 8.0.x é um WebSphere Portal 6.0.x.
Na nova versão do Lotus Quickr 8.5 for WebSphere Portal, se esperava que os bancos seriam os mesmos que o da versão do WebSphere Portal 6.1, pois ele roda em cima de um portal 6.1.

A IBM novamente inventou mais uma mudança.
Ao invés de ter 6 bancos como na versão 6.1 do portal sendo eles release, community, customization, jcr, feedback e likeminds, foram adicionados mais tres bancos sendo placecntr, searchcntr e qkradmin.
Pelos nomes dos bancos é simples identificar para quais finalidades cada um deles serve.

placecntr = Place Center
searchcntr = Search Center
qkradmin = Administração

Para transferir o banco DB2 do Lotus Quikr 8.5 para Oracle, edite os arquivos wkplc_comp.properties e wkplc_dbtype.properties.
É o mesmo processo como na versão do WebSphere Portal 6.1, porém com a diferença de três bancos adicionais.
Abaixo, segue as configurações do arquivo wkplc_comp.properties.

Para cada banco, atualizar as informações como:

  • XXX para os bancos {release, customization, feedback, likeminds, community, jcr, placecntr, searchcntr, qkradmin}
  • XXX.DbType=oracle
  • XXX.DbName=nome do banco no oracle
  • XXX.DataSourceName=nome do data source do shema
  • XXX.DbUrl=jdbc:oracle:thin:@:1521:
  • XXX.DbUser=usuário
  • XXX.DbPassword=senha
  • XXX.DbSchema=Shema normalmente é o mesmo nome do DbUser.
  • XXX.DBA.DbUser=usuário com permissões de DBA. Pode ser o DBUser, mas o mesmo deve ser dba da base
  • XXX.DBA.DbPassword=senha o usuário DBA

No parâmetro XXX.DbUrl, é possível que o banco esteja em cluster. Neste caso, solicite ao DBA a string de conexão correto do load balance.
Exemplos de string de conexão para Oracle.
Oracle 11g = jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=server1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=server2)(PORT=1521))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER DEDICATED) (SERVICE_NAME=wpsdb)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))
Oracle 10g = jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=server1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=server2)(PORT=1521))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=wpsdb)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))
Oracle 9g = jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=server1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=server2)(PORT=1521))(FAILOVER=on)(LOAD_BALANCE=on))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=wpsdb)))
As strings acima são apenas exemplos de um servidor Oracle em cluster. O correto é solicitar ao DBA a string correta pois cada banco possui suas particularidades de configuração.
Por se tratar de um banco DB2, as senhas do source devem ser preenchidas.
Esta senha é a mesma senha du usuário quikradm de instalação do Lotus Quickr.
  • source.XXX.DbUser=mesmo usuário de instalação
  • source.XXX.DbPassword=senha do usuário de instalação
No arquivo wkplc_comp.propertiesl, procure por oracle.DbLibrary. Informe o local onde se localiza o drive type 4 do banco de dados.
  • oracle.DbLibrary=/opt/jdbc/lib/ojdbc14.jar
Salve as configurações.
Navegue até o diretório wp_profile/ConfigEngine
Execute os comandos
  • ./ConfigEngine.sh validate-database-driver
  • ./ConfigEngine.sh validate-database-connection
  • ./ConfigEngine.sh database-transfer > DblogTransferOracle.log 2>&1
Após transferir o banco, execute o seguinte script no shema JCR para evitar respostas lendas de chamadas de dados.
dbms_stats.gather_schema_stats(ownname=> ‘jcr’, cascade=> TRUE);