Pular para o conteúdo principal
Versão: 2.2.2

Atualizações de banco de dados

Após a verificação do Web Server, deverão ser feitas as atualizações referentes à bancos de dados. Veja o procedimento a seguir:

perigo
  • Os procedimentos a seguir devem ser executados apenas nas atualizações de 3º dígito. Em caso de atualização de 4º dígito, pule esta etapa e reinicie o serviço do SoftExpert Suite.
  • Os procedimentos de verificação desta seção somente são necessários para atualizar ambientes que estão na versão 2.0.7 ou inferior. Para versões mais recentes, pule para a etapa Inclusão/Atualização de bases.

Verificação para Oracle

perigo

Juntamente com o sistema é instalado o Oracle Client 12. Caso seja utilizado o Oracle 19 no servidor de banco de dados, sugerimos atualizar o Oracle Client para a versão 19. Para isso, siga o procedimento descrito na seção Atualização do Oracle Instant Client.

  1. Recarregue a configuração do bash:
$ source ~/.bash_profile
$ source /etc/bashrc
  1. Teste a conexão:
$ sqlplus <user>/<password>@<tnsname>

Troubleshooting:

ProblemaPossível Solução
ORA-12541: TNS: no listener.Verifique se as variáveis de ambiente do Oracle foram criadas corretamente.
ORA-12154: TNS: could not resolve the connect identifier specified.Verifique se a variável de ambiente TNS_ADMIN foi criada corretamente e se o arquivo de configuração tnsnames.ora está configurado corretamente.
ORA-12560: TNS:protocol adapter error.Redefina as permissões do arquivo tnsnames.ora. Verifique se as variáveis de ambiente do Oracle foram criadas corretamente.
  1. Será necessário verificar o conteúdo da variável de ambiente NLS_LANG. Para isso, execute os comandos a seguir, no SQLPlus, para obter os parâmetros NLS que devem compor a variável.
  • VALUE1:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_LANGUAGE';
  • VALUE2:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_TERRITORY';

  • VALUE3:
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
  1. Feche o SQLPlus:
quit
  1. Agora será necessário verificar se a variável de ambiente NLS_LANG está configurada, nos seguintes arquivos:
  • bashrc:
# vi /etc/bashrc
  • setenv.sh:
# vi /usr/local/se/apps/tomcat/bin/setenv.sh
  • setenv.sh:
    • Neste arquivo a variável deve estar junto com outros exports:
# vi /etc/init.d/sesuite
  1. Verifique se nesses arquivos o conteúdo da variável está configurado de acordo com os resultados obtidos com os três comandos executados no SQLPlus:
export NLS_LANG=<VALUE1>_<VALUE2>.<VALUE3>
  1. Recarregue a configuração de bash:
$ source ~/.bash_profile
$ source /etc/bashrc

Inclusão/Atualização de bases

cuidado
  • Antes de iniciar esta etapa, certifique-se de que o backup da base de dados foi realizado.
  • Se for necessário incluir ou alterar uma base, execute os passos a seguir, caso contrário, execute o procedimento a partir do passo 7.
  1. Abra para edição o arquivo database_config.xml:
# vi database_config.xml
  1. Adicione no arquivo a nova base, ou seja, repita toda a estrutura da tag <\database> alterando os valores destacados com $:
<?xml version='1.0' ?>
<database>
<databaseList>
<database>
<autoCreate>MANUAL</autoCreate>
<connectionName>$connection_name</connectionName>
<databasePassword>$password</databasePassword>
<databaseUser>$user</databaseUser>
<db>$database_name</db>
<domain>$domain</domain>
<driver>$driver</driver>
<enable>true</enable>
<encrypted>false</encrypted>
<instance/>
<oraHome>$oracle_home</oraHome>
<port>$port</port>
<server>$server</server>
<synom>false</synom>
<tableSpaceData>$tablespace_data</tableSpaceData>
<tableSpaceIndexes>$tablespace_indexes</tableSpaceIndexes>
<tns>$tns</tns>
<allowedHosts>
<host>$host.softexpert.com</host>
</allowedHosts>
</database>
</databaseList>
</database>
  1. Parâmetros aceitáveis para o arquivo database_config.xml, utilizado para fazer a conexão com o banco de dados:
ParâmetrosParâmetros aceitáveis 230Definição e usabilidade
<autoCreate>MANUALEste parâmetro não pode ser modificado.
<connectionName>nomeNome a ser definido pelo usuário, apenas para nomear a base no arquivo.
<databasePassword>passwordSenha para acesso aos dados da base.
<databaseUser>userNome do usuário para acesso aos dados da base.
<db>database_nameNome do banco de dados, se houver.
<charset> iso-8859-1
ou
Unicode
Define se a base de dados será iso ou unicode. Unicode deve ser usado apenas para bancos oracle e postgres. O padrão é iso-8859-1 e o configurador de banco de dados valida esta informação.
<domain>domainNome de domínio onde foi instalado o SoftExpert Suite.
<driver>- net.sourceforge.jtds.jdbc.Driver
- oracle.jdbc.driver.OracleDriver
- org.postgresql.Driver
Utilizar:
- net.sourceforge.jtds.jdbc.Driver para MSSQLServer;
- oracle.jdbc.driver.OracleDriver para Oracle;
e - org.postgresql.Driver para PostgreSql
<enable>trueDeixar sempre "true".
<encrypted>falsePara arquivos escritos manualmente, sempre colocar "false" no valor deste parâmetro. O configurador criptografa este arquivo e altera este valor.
<instance>Usado para banco SQL Server, quando possuir instância. Por padrão fica em branco.
<oraHome>oracle_homeSe usado Oracle, adicionar o local da instalação do oracle 64 bits.
<port>- 5432
- 1521
- 1433
Por padrão as portas são:
- 1433 para MSSQLServer;
- 5432 para PostgreSql;
- 1521 para Oracle.
Porém se a porta para conexão for outra, é necessário adicionar a porta correta.
<server>serverNome do servidor onde se encontra o banco de dados.
<tableSpaceData>tablespace_dataPostgreSql e Oracle usam tableSpaceData, verificar no banco de dados.
<tableSpaceIndexes>tablespace_indexesPostgreSql e Oracle usam tableSpaceIndexes, verificar no banco de dados.
<tns>tnsNamePreencher o tns se o banco de dados for Oracle. Oracle Net Services é o arquivo tnsnames.ora, nele, verificar o nome tns para conexão com o banco de dados.
<allowedHosts>hostPreencher a tag quando for necessário limitar os hosts com permissão de acesso nas requisições do SoftExpert Suite. Caso não for informada, não será efetuado um bloqueio nas requisições.
  1. Salve e feche o arquivo:
:wq!
  1. Acesse o diretório do SoftExpert Configurator:
# cd /usr/local/se/tools/configurator
  1. Execute o seguinte comando para criar e atualizar a base adicionada:
# bash run.sh
  1. Execute o seguinte comando para criptografar os dados da base do arquivo database_config.xml:
# java -jar se-configurator.jar -installDirectory="/usr/local/se" -action="0"
cuidado

As opções para o parâmetro action, destacado no comando acima, podem ser:

  • 0: Criptografa as informações do banco de dados.
  • 1: Descriptografa as informações do banco de dados.
  • 2: Cria/atualiza o(s) banco(s) de dados.

Configuração para evitar Host Header Attack

Para desabilitar a identificação do host pelo cabeçalho da requisição, evitando o Host Header Attack, é necessário adicionar o registro a baixo na tabela ADPARAMS de cada banco:

CDISOSYSTEM = 0
CDPARAM = 750
NMPARAM = '<sesuite.company.com>'

Verifique se o registro já existe ou se o host deve ser ajustado. Caso a configuração não tenha sido aplicada, utilize o comando a seguir, alterando o exemplo com o host que deve ser utilizado:

INSERT INTO ADPARAMS (CDISOSYSTEM, CDPARAM, NMPARAM) VALUES (0, 750, '<sesuite.company.com>');

Essa configuração pode ser desfeita removendo esse registro, exemplo:

DELETE FROM ADPARAMS WHERE CDISOSYSTEM = 0 AND CDPARAM = 750;