Commit 7d1955bcc356360a8f6502678addd3be10d1a630

Authored by Starlone Passos
1 parent e0e1335e

Indicador 2 - Correcoes para funcionar com Oracle e obtendo versao do Oracle

docker-compose.yml
@@ -53,8 +53,8 @@ services: @@ -53,8 +53,8 @@ services:
53 environment: 53 environment:
54 - SEI_HOST_URL=http://localhost 54 - SEI_HOST_URL=http://localhost
55 links: 55 links:
56 - - mysql:mysql  
57 -# - oracle:oracle 56 + # - mysql:mysql
  57 + - oracle:oracle
58 # - sqlserver:sqlserver 58 # - sqlserver:sqlserver
59 - memcached:memcached 59 - memcached:memcached
60 - solr:solr 60 - solr:solr
rn/MdEstatisticasColetarRN.php
@@ -253,8 +253,13 @@ class MdEstatisticasColetarRN extends InfraRN { @@ -253,8 +253,13 @@ class MdEstatisticasColetarRN extends InfraRN {
253 $query = "SELECT table_schema, SUM(data_length + index_length) as tamanho FROM information_schema.TABLES WHERE table_schema = 'sei' GROUP BY table_schema"; 253 $query = "SELECT table_schema, SUM(data_length + index_length) as tamanho FROM information_schema.TABLES WHERE table_schema = 'sei' GROUP BY table_schema";
254 } elseif ($sgbd == 'SqlServer') { 254 } elseif ($sgbd == 'SqlServer') {
255 $query = "SELECT SUM(Total_Pages * 8 * 1000) As tamanho FROM sys.partitions As P INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id INNER JOIN sys.tables t on t.object_id = p.object_id"; 255 $query = "SELECT SUM(Total_Pages * 8 * 1000) As tamanho FROM sys.partitions As P INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id INNER JOIN sys.tables t on t.object_id = p.object_id";
  256 + } elseif ($sgbd == 'Oracle') {
  257 + $query = "";
  258 + }
  259 + $rs = array();
  260 + if($query) {
  261 + $rs = BancoSEI::getInstance()->consultarSql($query);
256 } 262 }
257 - $rs = BancoSEI::getInstance()->consultarSql($query);  
258 $tamanho = (count($rs) && isset($rs[0]['tamanho'])) ? $rs[0]['tamanho'] : 0; 263 $tamanho = (count($rs) && isset($rs[0]['tamanho'])) ? $rs[0]['tamanho'] : 0;
259 264
260 InfraDebug::getInstance()->gravar('SEI03 - Tamanho do SGBD: ' . $tamanho, InfraLog::$INFORMACAO); 265 InfraDebug::getInstance()->gravar('SEI03 - Tamanho do SGBD: ' . $tamanho, InfraLog::$INFORMACAO);
@@ -273,8 +278,13 @@ class MdEstatisticasColetarRN extends InfraRN { @@ -273,8 +278,13 @@ class MdEstatisticasColetarRN extends InfraRN {
273 " INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id " . 278 " INNER JOIN sys.allocation_units As A ON P.hobt_id = A.container_id " .
274 " INNER JOIN sys.tables t on t.object_id = p.object_id " . 279 " INNER JOIN sys.tables t on t.object_id = p.object_id " .
275 " GROUP BY t.name ORDER BY t.name"; 280 " GROUP BY t.name ORDER BY t.name";
  281 + } elseif ($sgbd == 'Oracle') {
  282 + $query = "";
  283 + }
  284 + $tabelas = array();
  285 + if($query) {
  286 + $tabelas = BancoSEI::getInstance()->consultarSql($query);
276 } 287 }
277 - $tabelas = BancoSEI::getInstance()->consultarSql($query);  
278 288
279 InfraDebug::getInstance()->gravar('SEI15 - Tamanho das tabelas: ' . json_encode($tabelas), InfraLog::$INFORMACAO); 289 InfraDebug::getInstance()->gravar('SEI15 - Tamanho das tabelas: ' . json_encode($tabelas), InfraLog::$INFORMACAO);
280 return $tabelas; 290 return $tabelas;
@@ -361,7 +371,13 @@ class MdEstatisticasColetarRN extends InfraRN { @@ -361,7 +371,13 @@ class MdEstatisticasColetarRN extends InfraRN {
361 } 371 }
362 372
363 private function obterSistemasOperacionaisUsuarios(){ 373 private function obterSistemasOperacionaisUsuarios(){
364 - $query = "select distinct user_agent as nome from infra_auditoria"; 374 + $sgbd = $this->obterTipoSGBD();
  375 + if ($sgbd == 'Oracle') {
  376 + $query = "select distinct to_char(user_agent) as nome from infra_auditoria";
  377 + } else {
  378 + $query = "select distinct user_agent as nome from infra_auditoria";
  379 + }
  380 + InfraDebug::getInstance()->gravar('query: ' . json_encode($query), InfraLog::$INFORMACAO);
365 $sistemas = BancoSEI::getInstance()->consultarSql($query); 381 $sistemas = BancoSEI::getInstance()->consultarSql($query);
366 InfraDebug::getInstance()->gravar('SEI26 - Sistemas Operacionais dos Clientes: ' . json_encode($sistemas), InfraLog::$INFORMACAO); 382 InfraDebug::getInstance()->gravar('SEI26 - Sistemas Operacionais dos Clientes: ' . json_encode($sistemas), InfraLog::$INFORMACAO);
367 return $sistemas; 383 return $sistemas;
@@ -390,8 +406,13 @@ class MdEstatisticasColetarRN extends InfraRN { @@ -390,8 +406,13 @@ class MdEstatisticasColetarRN extends InfraRN {
390 $query = "SELECT version() as versao"; 406 $query = "SELECT version() as versao";
391 } elseif ($sgbd == 'SqlServer') { 407 } elseif ($sgbd == 'SqlServer') {
392 $query = "SELECT SERVERPROPERTY('productversion') as versao"; 408 $query = "SELECT SERVERPROPERTY('productversion') as versao";
  409 + } elseif ($sgbd == 'Oracle') {
  410 + $query = "select version AS versao from product_component_version WHERE product LIKE 'Oracle%'";
  411 + }
  412 + $rs = array();
  413 + if ($query) {
  414 + $rs = BancoSEI::getInstance()->consultarSql($query);
393 } 415 }
394 - $rs = BancoSEI::getInstance()->consultarSql($query);  
395 $versao = (count($rs) && isset($rs[0]['versao'])) ? $rs[0]['versao'] : null; 416 $versao = (count($rs) && isset($rs[0]['versao'])) ? $rs[0]['versao'] : null;
396 InfraDebug::getInstance()->gravar('SEI02 - Versao do SGBD: ' . $versao, InfraLog::$INFORMACAO); 417 InfraDebug::getInstance()->gravar('SEI02 - Versao do SGBD: ' . $versao, InfraLog::$INFORMACAO);
397 return $versao; 418 return $versao;