quinta-feira, 25 de maio de 2017

Recuperar registros após delete e commit no Oracle

O Oracle tem uma tecnologia chamada Flashback que permite a visualização dos registros em determinado horário. Pelos teste que fiz ele me trouxe registros de 5 dias. Isso é muito útil no caso de manipular algum registro de forma errada e precisar de um backup da tabela urgente.

A visualização simples da tabela é assim:
 
select * from test_tb as of timestamp timestamp '2013-11-08 10:54:00'
 
com esse select você consegue visualizar os registros da tabela test_tb no dia 08/11/2013 10:54:00

Porém a tecnologia Flashback vai muito além disso, mas para tal, é preciso um conhecimento maior e fica a cargo de cada um querer entende-la melhor ou pelo menos saber que existe e se aprofundar quando precisar.

Docs:
 
Exemplos:

segunda-feira, 23 de maio de 2016

Saída DBMS_OUTPUT Oracle

Como exibir as saídas do DBMS_OUTPUT

SET SERVEROUTPUT ON


Exemplo: 

SET SERVEROUTPUT ON;

BEGIN
   DBMS_OUTPUT.PUT_LINE('Output:' || CHR(10) || TO_CHAR(SYSDATE,'DAY'));
END;
/

Esse bloco exibe o dia da semana:
anonymous block completed
Output:
MONDAY

quinta-feira, 19 de maio de 2016

terça-feira, 19 de janeiro de 2016

Exemplo Java 8 forEach

Neste projeto mostramos como é feito o forEach na versão do Java 8 usando a interface Consumer.

Temos um bean Usuario, uma classe que implementa Consumer<T> que é o local onde deixamos nossa regra de negocio, uma classe ForEach onde criamos uma lista de Usuarios e fazemos a chamada do método para inativar usuários com idade maior que 30.

Projeto disponível no github 

domingo, 10 de janeiro de 2016

Exemplo Spring Boot com MongoDB

Criamos uma aplicação de exemplo usando:
Spring Boot
MongoDB
Java 8
Testes Unitários

Para instalação do MongoDB:
download mongodb

Faça a leitura do arquivo README.

A aplicação está disponível no github:
github



domingo, 27 de dezembro de 2015

Instalar Java 8 no Ubuntu

Siga os comandos para instalar:

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

quarta-feira, 9 de dezembro de 2015

Java 8 HashMap getOrDefault()

Exemplo do uso do método getOrDefault() de um HashMap com a versão do Java 8. Usamos uma interface funcional Testar, mostrando uma maneira de chamar o método testar().

@FunctionalInterface
public interface Testar {

    String testar();
}
 
public class TesteMain {

    public static void main(String[] args) {
        int id = 1;
        HashMap<Integer, Testar> map = init();
        System.out.println(id + " é " 
           + map.getOrDefault(id, TesteMain::id1).testar());

    }

    private static String id1() {
        return "1";
    }

    private static String id2() {
        return "2";
    }

    private static String id3() {
        return "3";
    }

    private static HashMap<Integer, Testar> init() {
        HashMap<Integer, Testar> map = new HashMap<>();
        map.put(2, TesteMain::id2);
        map.put(3, TesteMain::id3);
        return map;
    }
}



segunda-feira, 2 de março de 2015

Gravar Area de Trabalho no Ubuntu

Instale FFmpeg:

sudo apt-get install ffmpeg

Gravando a tela do computador:


Para gravar a tela do computador com o FFmpeg, execute o comando:
 

ffmpeg -f x11grab -s 1680x945 -r 25 -i :0.0 video_capturado.avi

Onde:
-s é o parâmetro que fixa o tamanho do quadro, logo 1680x945 deve ser trocado pelos valores da sua resolução;
-r é a quantidade de quadros por segundo.

Para gravar com a mesma qualidade do arquivo original use o parâmetro -sameq:


ffmpeg -f x11grab -s 1440x900 -r 25 -i :0.0 -sameq video_capturado.avi

sexta-feira, 20 de fevereiro de 2015

Liberando Acesso Remoto Postgresql

Os arquivos podem ser encontrados nos caminhos:

- /var/lib/pgsql/data/
- /etc/postgresql/9.1/
- /usr/share/postgresql/


1 - Editar o arquivo pg_hba.conf:

host all all 0.0.0.0/0 md5
ou coloque o ip fixo de alguma máquina.

2 - Editar o arquivo postgresql.conf:
listen_addresses='localhost'
para
listen_addresses='*'
ou coloque o ip fixo de alguma máquina.

3 - Reinicie o servico do postgres:
/etc/init.d/postgresql restart

sábado, 3 de janeiro de 2015

Comando shutdown

Exemplos de uso do comando shutdown no Linux

Veja como reiniciar a máquina, com o comando shutdown:
sudo shutdown -r now

ou para desligar, mesmo:
sudo shutdown -h now

Você pode apenas avisar os usuários que o sistema será desligado e impedir novas autenticações no sistema, com a opção code -k:
sudo shutdown -k now

Com o uso de -k o sistema não será desligado de verdade.
Se você quiser, pode programar o desligamento ou reinício do sistema. No exemplo, a seguir, vou programar a máquina para desligar em 30 minutos:
sudo shutdown -h 30

Esta é a mensagem que outros usuários irão receber em seus terminais:
Espalhar mensagem de
thiago@thiago-Ubuntu    (/dev/pts/5) em 1:04 ...

The system is going down for halt in 30 minutes!

Neste caso, o shutdown pode ser cancelado com o pressionamento das teclas Ctrl + C.
Um outro usuário, com privilégios administrativos, também pode cancelar o processo, de seu terminal, com o seguinte comando:
sudo shutdown -c
Para enviar uma mensagem aos usuários afetados pelo desligamento, use o comando desta forma:
sudo shutdown -r 30 "O sistema será reiniciado para aplicação de atualizações. Aproveite para tomar um café."

Este seria o resultado de tal comando:
Espalhar mensagem de thiago@thiago-Ubuntu
    (/dev/pts/5) em 1:13 ...

The system is going down for reboot in 30 minutes!
O sistema será reiniciado para aplicação de atualizações. Aproveite para tomar um café.

domingo, 21 de dezembro de 2014

Inicializar Ubuntu sem a Logo

No terminal digitar o comando: 
sudo gedit /etc/default/grub 

depois na linha em que está escrito:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

mude para:
GRUB_CMDLINE_LINUX_DEFAULT="" 

e depois de o comando: 
sudo update-grub

Pronto o Ubuntu só vai subir com as linhas de comando, dá para ver se tem até algum erro quando sobe o sistema.

sexta-feira, 5 de dezembro de 2014

Liberando Acesso Externo Wildfly

Para liberar o acesso externo da aplicação no Wildfly precisamos configurar o standalone.xml na configuração de Interface <interfaces>.

Subistituir:
<interface name="public">
      <inet-address value="127.0.0.1"/>
</interface>

Por:
<interface name="public">
      <any-address/>
</interface>

sábado, 29 de novembro de 2014

Criando Primeiro Usuário no Postgres

Simples, na máquina com o banco instalado siga os seguintes passos.

Logue-se como root, tecle "su root" ou "sudo -i" no Ubuntu (no terminal a mensagem padrão deve terminar com #).

Entre como usuário postgres comando:

# su postgres

Conecte no banco comando:

$ psql


Agora deve aparecer a frase de boas vindas (Bem vindo ao psql...) e você está no terminal do posgres.

Entre com o comando:

CREATE USER nomedousuario SUPERUSER INHERIT CREATEDB CREATEROLE;

e tecle enter.

Depois entre com o comando:

ALTER USER nomedousuario PASSWORD 'senha';


e tecle Enter.

Pronto! Usuário criado.

quarta-feira, 15 de outubro de 2014

Terminal configurado para usar Git

comando:
sudo  vim ~/.bashrc

editar:
# color git
parse_git_branch() {
      git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
export PS1="\[\033[00m\]\u@\h\[\033[01;33m\] \w \[\033[31m\]\$(parse_git_branch)\[\033[00m\]$\[\033[00m\] "

salvar

comando:
vim ~/.gitconfig

editar:
[user]
        name = Thiago Marcello
        email = thiagocmarcello@gmail.com
[color]
ui = auto

[alias]
st = status
lg = log --pretty=format:'%Cgreen%h %Cblue%ad %Cred%cn %Creset%s' --date=short
ll = log --pretty=format:\"%C(yellow)%h%Cred%d\\\\ %Creset%s%Cblue\\\\ [%cn]\" --decorate --numstat
ffc = diff-tree --no-commit-id --name-only -r

[core]
editor=vim

salvar

sexta-feira, 20 de junho de 2014

Exportar e Importar Profile do WebSphere

Exportação do Profile

Execute os seguintes comando no prompt do windows:

cd "c:\IBM\SDP\runtimes\base_v61\profiles\was61profile1\bin"

startServer.bat server1 (server1 é o nome default do application server associado a um profile)

Após a execução com sucesso desse execute o seguinte comando:
wsadmin.bat

O prompt de comando será apresentado da seguinte forma:

wsadmin>


Digite o comando abaixo, seguido do comando quit para finalizar o processo de exportação do profile.

$AdminTask exportWasprofile {-archive c:\profile.car}
Essa execução resultará na criação do arquivo profile.car na unidade c:/ do windows, onde esse arquivo contem os dados do profile para importação em outro WebSphere.


Importação de Profile

Execute os seguintes comando no prompt do windows:

cd "c:\IBM\SDP\runtimes\base_v61\profiles\was61profile2\bin"

startServer.bat server1 (server1 é o nome default do application server associado a um profile)

Após a execução com sucesso desse execute o seguinte comando:
wsadmin.bat

O prompt de comando será apresentado da seguinte forma:

wsadmin>

Execute o comando abaixo para importar o profile:

$AdminTask importWasprofile {-archive c:\profile.car}

Execute o comando abaixo para salvar a alteração e em seguida o comando quit para finalizar o processo.

$AdminConfig save


Após a execução do comando $quit o servidor esta pronto para ser usado com as novas configurações.

Subtrair ou Adicionar data com Sysdate no Oracle

Aqui recebemos a data atual e subtraimos 25 anos:

SELECT SYSDATE - INTERVAL '25' YEAR FROM DUAL;

Tratando data no Oracle Sysdate

SELECT SYSDATE DATA_ATUAL,
ADD_MONTHS(SYSDATE,-1) MENOS_UM_MES,
ADD_MONTHS(SYSDATE,1) MAIS_UM_MES,
LAST_DAY(SYSDATE) ULTIMO_DIA_MES,
TRUNC(SYSDATE,'MONTH') PRIMEIRO_DIA_MES,
MONTHS_BETWEEN(SYSDATE,'01-

JAN-2001') QTD_MES,
FLOOR(MONTHS_BETWEEN(SYSDATE,'
01-JAN-2001')) ARREDONDA_ABAIXO,
CEIL(MONTHS_BETWEEN(SYSDATE,'
01-JAN-2001')) ARREDONDA_ACIMA,
ABS(MONTHS_BETWEEN(SYSDATE,'
01-JAN-2001')) VALOR_ABSOLUTO,
ROUND((MONTHS_BETWEEN(SYSDATE,
'01-JAN-2001')),2) ARREDONDA,
TRUNC(SYSDATE,'year') PRIMEIRO_DIA_ANO,
to_char(SYSDATE,'dd " DE " FMMONTH " DE " YYYY','nls_date_language=
portuguese') DIAMES_EXTENSO,
to_char(SYSDATE,'FMMONTH " DE " YYYY','nls_date_language=
portuguese') MES_EXTENSO,
TO_CHAR(SYSDATE,'HH24:MI') HORA_MINUTO,
to_char(sysdate,'FMMonth','
nls_date_language=portuguese') mes_corrente,
to_date(lpad(to_char(1234),4,'
0'),'hh24mi') dias_data,
Floor(floor(months_between(
SYSDATE,SYSDATE)) / 12) IDADE,
decode(TO_NUMBER(TO_CHAR(
SYSDATE,'D')),2,'segunda-feira',3,'terça-feira',4,'quarta-feira',
5,'quinta-feira',6,'---ta-
feira',7,'sabado',1,'domingo') dia_da_semana
FROM DUAL

domingo, 8 de junho de 2014

Instalando Maven no Ubuntu

1º Instalando Maven
  1. Baixar o maven: http://maven.apache.org/download.html
  2. Descompactar o arquivo.
  3. Adicionar as variáveis de ambiente M2_HOME , M2;
    • M2_HOME=/caminho/maven
    • M2=$M2_HOME/bin
  4. Alterar a variável PATH:
    • PATH = acrescentar $M2
  5. Verificar a existência da variável JAVA_HOME e a referência $JAVA_HOME/bin no PATH.
  6. Rodar o comando “mvn -version” no terminal.

Saiba onde configurar as variáveis de ambiente aqui

sábado, 7 de junho de 2014

Variavel de ambiente no Ubuntu

Local da variável apenas para o terminal:

sudo vim /home/seu-usuário/.bashrc

Local da variável para todos os profiles:

sudo vim /etc/profile

domingo, 27 de abril de 2014

Compactar e Descompactar Arquivos no Ubuntu

apt-get install zip

Os comandos são:
    .zip

Compactando:
    zip -r nomedoarquivo.zip nome_do_arquivo_ou_pasta

Descompactando:
    unzip nomedoarquivo.zip

    .rar

Compactando:
    rar a -r  nomedoarquivo.rar arquivo1 pasta1 arquivo2 pasta2

Descompactando:
    rar x nomedoarquivo.rar

    .tar

Compactando:
    tar -zcvf nomedoarquivo.tar arquivo1 pasta1 arquivo2 pasta2

Descompactando:
    tar -xvf nomedoarquivo.tar

    .tar.gz

Compactando:
    tar -czfv nomedoarquivo.tar.gz pasta1 arquivo1 pasta2 arquivo2

Descompactando:
    tar -vzxf nomedoarquivo.tar.gz

    .tar.bz2

Compactando:
    tar -cjfv nomedoarquivo.tar.bz2 arquivo1 pasta1 arquivo2 pasta2

Descompactando:

    tar -jxvf nomedoarquivo.tar.bz2