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:
- 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
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.
- Recarregue a configuração do bash:
$ source ~/.bash_profile
$ source /etc/bashrc
- Teste a conexão:
$ sqlplus <user>/<password>@<tnsname>
Troubleshooting:
Problema | Possí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. |
- 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âmetrosNLS
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';
- Feche o SQLPlus:
quit
- 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
- 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>
- Recarregue a configuração de
bash
:
$ source ~/.bash_profile
$ source /etc/bashrc
Inclusão/Atualização de bases
- 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.
- Abra para edição o arquivo
database_config.xml
:
# vi database_config.xml
- 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>
- Parâmetros aceitáveis para o arquivo
database_config.xml
, utilizado para fazer a conexão com o banco de dados:
Parâmetros | Parâmetros aceitáveis 230 | Definição e usabilidade |
---|---|---|
<autoCreate> | MANUAL | Este parâmetro não pode ser modificado. |
<connectionName> | nome | Nome a ser definido pelo usuário, apenas para nomear a base no arquivo. |
<databasePassword> | password | Senha para acesso aos dados da base. |
<databaseUser> | user | Nome do usuário para acesso aos dados da base. |
<db> | database_name | Nome 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> | domain | Nome 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> | true | Deixar sempre "true". |
<encrypted> | false | Para 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_home | Se 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> | server | Nome do servidor onde se encontra o banco de dados. |
<tableSpaceData> | tablespace_data | PostgreSql e Oracle usam tableSpaceData, verificar no banco de dados. |
<tableSpaceIndexes> | tablespace_indexes | PostgreSql e Oracle usam tableSpaceIndexes, verificar no banco de dados. |
<tns> | tnsName | Preencher 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> | host | Preencher 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. |
- Salve e feche o arquivo:
:wq!
- Acesse o diretório do SoftExpert Configurator:
# cd /usr/local/se/tools/configurator
- Execute o seguinte comando para criar e atualizar a base adicionada:
# bash run.sh
- 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"
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;