Páginas

segunda-feira, 14 de novembro de 2016

[Oracle] - Identificando as sessões e seus processos no S.O


Segue abaixo, script para idenficar sessões e seus processos no S.O :

SELECT NVL(s.username, '(oracle)') AS username,
       s.inst_id,
       s.osuser,
       s.sid,
       s.serial#,
       p.spid,
       s.lockwait,
       s.status,
       s.module,
       s.machine,
       s.program,
       TO_CHAR(s.logon_Time,'DD-MON-YYYY HH24:MI:SS') AS logon_time
FROM   gv$session s,
       gv$process p
WHERE  s.paddr   = p.addr
AND    s.inst_id = p.inst_id
ORDER BY s.username, s.osuser;


quinta-feira, 10 de novembro de 2016

[Oracle] - Consulta para identificar quantidade de commits por sessão


Consulta para identificar quantidade de commits por sessão no Oracle:

select c.sid, a.name estatistica, c.username||'@'||c.machine usuario, sum(b.value) qtd_commits 
from v$statname a, v$sesstat b, v$session c 
where a.statistic#=b.statistic# 
and b.sid = c.sid 
and a.name = 'user commits' 
and c.username is not null 
having sum(b.value) > 0 
group by c.sid,a.name, c.username||'@'||c.machine 
order by qtd_commits desc; 

segunda-feira, 3 de outubro de 2016

[Oracle] - Utilizando regex para consultas


Bom pessoal, essa postagem é para auxiliar na utilização de expressões regulares no Oracle, facilitando a codificação de procedimentos armazenados e funções:

segunda-feira, 25 de julho de 2016

[Oracle] - Identificando a versão do Oracle Database


Bom pessoal, essa aqui é uma dica rápida para verificar a versão do Oracle Database que está utilizando e a versão de produtos correlacionados ao mesmo:

Queries : 
select *
from v$version;

select *
from product_component_version;
Results : 
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production PL/SQL Release 11.1.0.6.0 - Production CORE 11.1.0.6.0 Production TNS for Solaris: Version 11.1.0.6.0 - Production NLSRTL Version 11.1.0.6.0 - Production
PRODUCTVERSIONSTATUS
NLSRTL11.1.0.6.0Production
Oracle Database 11g Enterprise Edition11.1.0.6.064bit Production
PL/SQL11.1.0.6.0Production
TNS for Solaris:11.1.0.6.0Production

Espero que essa postagem ajude a outros profissionais.

Links consultados:
https://docs.oracle.com/cd/B28359_01/server.111/b28310/dba004.htm
http://jasonvogel.blogspot.com.br/2008/08/getting-current-oracle-version-sql.html

quarta-feira, 13 de julho de 2016

[Oracle] - Procedimento para resetar sequences


Bom Pessoal,
 Essa é mais uma Postagem para ajudar em problemas do dia-a-dia, caso faça alguma restauração e os valores das "sequences" do banco estejam desatualizados, esse procedimento corrige a sequencia certa as "sequences" com base nos valores das tabelas informadas na base de dados. Segue abaixo, procedimento para efetuar está manutenção:

[Oracle] - Manutenção de Triggers Duplicadas


Bom Pessoal,

 Vou compartilhar um procedimento para fazer a exclusão de triggers duplicadas que são utilizadas para entregar id´s para cada registro inserido na tabela, segue abaixo:

quarta-feira, 8 de junho de 2016

[MySQL] - Padronização de Desenvolvimento em Banco de dados


Documentação para Padronização de Desenvolvimento em Banco de dados:

Procedimento Armazenados:
  todo procedimento armazenado deverá inicia sua nomenclatura,seguindo o padrão abaixo:
PRC_

A Sigla de um procedimento será seguido de um verbo que irá informar qual o propósito do procedimento.

PRC_ATUALIZAR_
PRC_INSERIR_
PRC_EDITAR_
PRC_DELETAR_
PRC_EXTRAIR_
PRC_LOGAR_
PRC_UTIL_

Após informar o propósito do procedimento armazenado informe o nome da tabela ou informações que ele irá processar.

PRC_EXTRAIR_TBCIDADE

Funções:  
toda função deverá iniciar sua nomenclatura seguindo o padrão abaixo:

FNC_
A sigla de uma função será seguida da nomenclatura abaixo:

FNC_GET_
Será utilizada para retornar valores.

FNC_SET_
Será utilizador para informar valores.

FNC_IS_
Será para testar valores booleanos.

FNC_LOG_
Será para gravar valores históricos que necessitem de retorno.

Tabelas:  
toda tabela deverá iniciar sua nomenclatura seguindo o padrão abaixo:
TB_
A Sigla de uma tabela deverá ser seguido do tipo de informação que será armazenada em forma de substantivo ou verbo.
TB_CIDADE
TB_LOGUSUARIOS

Índices:
todo índice deverá iniciar sua nomenclatura seguindo o padrão abaixo:
INDX_NomeDaTabela_ColunaDaTabela

Triggers(gatilhos):
 todo gatilho deverá iniciar sua nomenclatura seguindo o padrão abaixo:
TRG_AcaoDaTrigger_NomeDaTabela
TRG_DELETAR_TB_CIDADE ou TRG_DELETAR_CEP

Eventos(events):
 todo evento deverá iniciar sua nomenclatura seguindo o padrão abaixo:
EVT_AcaoDoEvento_NomeDaTabela ou EVT_ATUALIZAR_CEP

Visualizações(Views):
toda visualização deverá iniciar sua nomenclatura seguindo o padrão abaixo:

VW_NomeSubstantivo_FiltroDaView ou VW_TBCIDADE_CEP

Link de documento para consulta:

sexta-feira, 13 de maio de 2016

[Jasper] - Habilitar Login de Senha Criptografada


Gerar KeyTool  para Servidor do Jasper:

keytool -genkey -alias jasper -keyalg RSA -keysize 1024 -keypass jasper123 -keystore keystore.jks -storepass jasper123

1.            Configure login encryption as described in the JasperReports Server Administrator Guide. Specify static key encryption by setting encryption.dynamic.key to false and configure the keystore as described.
2.            Once the server is restarted, log into the server to generate the static key.
3.            Open the following URL: http://example.com:8080/jasperserver/encrypt.html.
4.            Enter the password that you want to encrypt, for example joeuser, then click Encrypt. The script on this page will use the public key to encrypt the password.
5.            Paste the encrypted password into the URL instead of the plain text password (log out of the server to test this):
http://example.com:8080/jasperserver/flow.html?_flowId=homeFlow&j_userna...
6.            Use the URL with the encrypted password to share a report.

Diretório da Webapp Jasper Keystore:
C:\Jaspersoft\jasperreports-server-cp-5.6.1\apache-tomcat\webapps\jasperserver\WEB-INF\classes

Colocar o arquivo gerado pelo Keytool nesta pasta: keystore.jks

Diretório da Webapp Jasper Configuração:
C:\Jaspersoft\jasperreports-server-cp-5.6.1\apache-tomcat\webapps\jasperserver\WEB-INF\classes\esapi
Alterar o arquivo: security-config.properties

-- parâmetros alterados –
# Turns encryption of encryption.param's defined below on or off.
encryption.on=true

# ENCRYPTION CONFIGURATION
# encryption.dynamic.key=true means that the 1 key will be generated per every single request.
# If 'false', the key will be drawn from a keystore (see KEYSTORE group below)
encryption.dynamic.key=false
-------------------------------------------------------------------
# keystore.location can be on a classpath or an external-to-webapp file
keystore.location=keystore.jks
# password to verify keystore integrity
keystore.password=jasper123
# key pair alias used to retrieve correct key from keystore
keystore.key.alias=jasper
# keystore.key.alias's password
keystore.key.password=jasper123
-----------------------------------------------------------------------


terça-feira, 10 de maio de 2016

[Oracle] - Informações de Data e Hora


Neste artigo estarei disponibilizando uma consulta para facilitar a utilização de informações de Data e Hora no Oracle database:

SELECT extract(YEAR FROM SYSDATE) AS ano,
       extract(MONTH FROM SYSDATE) AS mes,
       extract(DAY FROM SYSDATE) AS dia,
       EXTRACT(HOUR FROM NUMTODSINTERVAL(SYSDATE - trunc(SYSDATE), 'DAY')) AS hora,
       extract(minute FROM systimestamp) AS minuto,
       trunc(extract(SECOND FROM systimestamp)) AS segundo,
       SYSDATE AS data_hora
FROM   dual;


Espero que essa dica, ajudem outros profissionais que trabalham com Oracle, facilitando o dia-a-dia.
Graças e Paz sejam com Todos.