Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

O arquivo dbconsole.log , gerado automaticamente pelo TOTVS | DBAccess, contém informações sobre a inicialização e finalização do DBAccess, entrada e saída de conexões, entre outras informações sobre a execução de processos internos e informações adicionais para fins de diagnóstico. Segue abaixo alguns exemplos de informações gravadas neste arquivo, e o seu significado. 

 

Thread (<NNNN>) disconnected prematurely! (RECEIVEBLOCK)

Quando uma aplicação AdvPL finaliza uma conexão com o DBAccess, antes encerramento da conexão, é enviado ao DBAccess uma mensagem de notificação de fechamento, e então a conexão é encerrada. Esta mensagem, gerada no log de console do DBAccess, indica que uma conexão aberta e estabelecida com o DBAccess, enquanto aguardava uma solicitação de processamento, foi verificado um encerramento da conexão na camada de rede, porém não foi recebida nenhuma notificação de encerramento. 

A existência desta mensagem apenas indica que, alguma conexão existente com a aplicação não foi encerrada de forma elegante. Isto pode acontecer, por exemplo, caso a aplicação cliente conectada no TOTVS DBAccess tenha sido finalizada de forma abrupta – queda da aplicação , queda de rede, queda de energia, etc. A mensagem por si só não indica um erro, mas sim que "alguma coisa aconteceu com esta conexão, pois ela foi embora sem se despedir". 

Observação : Esta mensagem, antes do DBAccess Build 20141119, era mostrada no Log de Console como "Thread (<NNNNN>) communication failure! (RECEIVEBLOCK)." 

Begin TopClient Thread (<thread>,<IP>,<database>/<dbenv>,<user>,<rmt_user,rmt_machine>)

Quando uma aplicação estabelece uma conexão de dados com o DBAccess, é registrado no dbconsole.log os dados referentes a nova conexão. <thread> indica o número do processo do DBAccess que está atendendo a esta conexão, <IP> indica o IP de origem desta conexão, <database> indica o tipo do banco de dados acessado, <dbenv> informa o nome da conexão com o Banco de Dados, <user> informa o nome do usuário informado na conexão pela API cliente, <rmt_user> indica o nome do usuário de rede que iniciou a aplicação AdvPL, e <rmt_machine> indica o nome da estação que iniciou a aplicação AdvPL que conectou — caso a aplicação tenha sido iniciada pelo SmartClient). 

A informação que mais utilizamos neste contexto é a <tnread>, pois qualquer outra ocorrência relacionada a este processo, enquanto ele estiver sendo executado, ao ser registrado no dbconsolel.log, vai informar o número da <thread> ao qual a ocorrência pertence. 

End TopClient Thread (<thread>) (IOs <nnn_ios> / RCV <rcv_data> / SND <snd_data> ) 

Quando uma conexão com o DBAccess é encerrada, de forma elegante, é mostrada a mensagem acima, indicando qual a <thread> que foi encerada, a quantidade de I/O realizada pela conexão é mostrada em <nnn_ios>, e a quantidade de dados trafegados pela conexão em <rcv_data> (dados recebidos pelo DBAccess) e <snd_data> (Dados enviados pelo DBAccess). 

Exit TopClient Thread (<thread>) [TERMINATED] (IOs <nnn_ios> / RCV <rcv_data> / SND <snd_data> ) 

Similar à mensagem "End TopClient", a "Exit TopClient" indica que houve uma finalização anormal de um processo no DBAccess. Normalmente existe uma razão para isso, registrada um pouco antes desta mensagem. Os dados informados nesta mensagem são os mesmos da "End Topclient". 

[WARNING] Exit with active transaction.

Esta mensagem pode vir imediatamente depois da mensagem "Exit TopClient Tread", e indica que, o processo que foi encerrado ou finalizado estava com uma transação aberta. Neste caso, o encerramento do processo em transação sem que ele tenha recebido um COMMIT explícito pela aplicação AdvPL, faz com que o DBAccess solicite ao SGDB um ROLLBACK, e nenhuma das operações de manutenção nas tabelas realizadas desde o inicio da transação será gravada no SGDB. 

Formato de mensagem de erro padrão 

Uma ocorrëncia de erro registrada no DBAccess, por consequência de um erro retornado pelo SGDB, é registrada no log de console (dbconsole.log) e no log de erros (dbaccess.log) no seguinte formato:

Error : <sql_native_error> (<sql_state>) (RC= <rc_stat>) - <sgdb_error_description> ( From <dbaccess_proc> ) 
Thread ID [<thread>] User [<user>] IO [<nnn_ios>] Tables [<open_tables>] MaxTables [<max_open_tables>]
Comment [<thread_observ>] Status [<op_info_str>] SP [<sp_flag> ] Traced [<trace_flag>] InTran [<transacion_flag>]
DBEnv [<database>/<dbenv>] DBThread [<sgdb_thread>] Started [<start_dt>] LastIO [<lastio_dt>] IP [<IP>]
RCV [<rcv_bytes>] SND [<snd_bytes>] TCBuild [<dbaccess_build>]
<SQL_STATEMENT>
[ OPERATION_DETAILS ] 

Uma ocorrência de execução com sucesso, porém houveram informações adicionais relacionadas a execução, é registrada pelo DBAccess como uma ocorrência de advertência. Contém todos os dados da ocorrência de erro, mas é iniciada com "Warning :" ao invés de "Error :". 

Exemplos

 

Warning : 598 (01550) (RC=1) - [IBM][CLI Driver][DB2/NT64] SQL0598W O índice existente "DB2ADMIN.SX2T10_PK" é utilizado como o índice para a chave primária ou para uma chave exclusiva. SQLSTATE=01550( From tDBServer::CreateFile )
Thread ID [300] User [Administrador] IO [26] Tables [0] MaxTables [0]
Comment [] Status [] SP [ ] Traced [No] InTran [No]
DBEnv [DB2/MP1217] DBThread [(DB2ID *LOCAL.DB2.151001203809)] Started [01/10/2015 17:38:08] LastIO [] IP [127.0.0.1:1234]
RCV [570] SND [71] TCBuild [20141119]
ALTER TABLE DB2ADMIN.SX2T10 ADD PRIMARY KEY (R_E_C_N_O_)

Na ocorrência acima, o Bando de Dados DB2 apenas informa que, para acrescentar a chave primária de registro em uma tabela, foi usado um índice já existente que atendia a condição, e não foi criado um índice novo. Este comportamento é o esperado, o índice de chave primária é criado em um momento anterior com uma parametrização específica. 

Error : 2601 (23000) (RC=-1) - [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot insert duplicate key row in object 'dbo.SPED050' with unique index 'SPED050_UNQ'. The duplicate key value is ( , , 0). ( From tISAMFile::Update )
Thread ID [10600] User [Totvs Services SPED Gateway] IO [854] Tables [51] MaxTables [52]
Comment [[JOB_WS] WSServer SOAP REQUEST (NFESBRA:REMESSA3) em 20160413 09:14:51 (running)] Status [] SP [ ] Traced [No] InTran [No]
DBEnv [MSSQL/Sped] DBThread [(SPID: 1171) ] Started [13/04/2016 09:05:19] LastIO [] IP [192.168.5.232:5001]
RCV [100836] SND [407897] TCBuild [20131204]
UPDATE dbo.SPED050 SET D_E_L_E_T_ = ' ',R_E_C_D_E_L_ = 0 WHERE R_E_C_N_O_ = 16375512

Na ocorrência acima, uma aplicação Advpl tentou remover um flag de deleção lógica de um registro, porém o SGDB MSSQL utilizado não permitiu a remoção, pois isto violatia a chave única definida para a tabela em questão. 

Error : -803 (23505) (RC=-1) - [IBM][CLI Driver][DB2/LINUXX8664] SQL0803N One or more values in the INSERT statement, 
UPDATE statement, or foreign key update caused by a DELETE statement are not valid because the primary key,
unique constraint or unique index identified by "2" constrains table "DB2.AGL000" from having duplicate values for the index key.
SQLSTATE=23505 ( From tISAMFile::Update ) 
Thread ID [1140918592] User [juliow] IO [464] Tables [24] MaxTables [24]
Comment [] Status [] SP [ ] Traced [No] InTran [No]
DBEnv [DB2/TOPSSIM] DBThread [(DB2ID: 192.168.3.144.59505.15040614141) ] Started [06/04/2015 11:14:18] LastIO [] IP [192.168.3.76:7059]
RCV [25787] SND [51482] TCBuild [20131204]
UPDATE DB2.AGL000 SET D_E_L_E_T_ = ' ',R_E_C_D_E_L_ = 0 WHERE R_E_C_N_O_ = 5276140

A ocorrência acima é praticamente a mesma da anterior – violação de índice de chave única – porém registrada pelo SGDB DB2. 

Informações de Check-Up na Primeira Conexão 

Após subir o serviço do DBAccess, a primeira conexão feita com um Banco de Dados, registra no log de console várias informações sobre o SGDB em questão. Estas informações podem variar entre os tipos de bancos de dados homologados, segue abaixo o exemplo das informações coletadas da conexão com um Banco de Dados MSSQL:

--------------- Initial Connection Check-Up ---------------
Database......: MSSQL
Environment...: P12TST
TableSpace....: [PRIMARY]
IndexSpace....:
Compression ..: PAGE
DB Collation..: Latin1_General_BIN
DB Version....:
Microsoft SQL Server 2008 R2 (SP3) - 10.50.6000.34 (X64)
Aug 19 2014 12:21:34
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
SQL ServerName: TST-DATA279\SQLINST1
SQL Collation.: Latin1_General_BIN
SQL Edition...: Enterprise Edition (64-bit)
SQL Version...: 10.50.6000.34
SQL P.Level...: SP3
MARS .........: ENABLED
-----------------------------------------------------------
--------------- ODBC Connection Check-Up ------------------
ODBC Mapped Functions ......: 1.0
ODBC DBMS Name..............: Microsoft SQL Server
ODBC DBMS Version...........: 10.50.6000
ODBC DBMS Database Name.....: P12TST
ODBC Data Source Name.......: P12TST
ODBC Server Name............: TST-P12\SQLINST1
ODBC Driver Name............: sqlncli10.dll
ODBC Driver Version ........: 10.50.4000
ODBC Support ODBC Version...: 03.52
-----------------------------------------------------------
------------- Generic Connection Check-Up -----------------
Prepared Stmt Cache .......: ENABLED
Index Trace ...............: DISABLED
ISAM Compatibility Mode ...: ENABLED
Connection Access Mode ....: READWRITE (DEFAULT)
ISAM DefaultRowCount ......: 40
ISAM FilteredRowCount .....: 250
DB Unified Connection .....: DISABLED (LEGACY)
Record Sequence Owner .....: DBACCESS (DEFAULT)
-----------------------------------------------------------

 

 

  • Sem rótulos