Mostrando postagens com marcador Oracle. Mostrar todas as postagens
Mostrando postagens com marcador Oracle. Mostrar todas as postagens

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

sexta-feira, 20 de junho de 2014

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, 27 de abril de 2014

Alter table em colunas no Oracle

 Comandos para alterar, inserir e deletar colunas e renomear nome da tabela:

CREATE TABLE T_CLASSE_SOCIAL(
  COD_CLASSE_SOCIAL CHAR(1) PRIMARY KEY,
  DSC_FAIXA_RENDA VARCHAR2(20)
)

-- Adiciona coluna
ALTER TABLE T_CLASSE_SOCIAL
ADD (TESTE NUMBER(3))

-- Modifica coluna
ALTER TABLE T_CLASSE_SOCIAL
MODIFY (TESTE VARCHAR2(50))

-- Renomeia coluna
ALTER TABLE T_CLASSE_SOCIAL
RENAME COLUMN TESTE TO  TESTE_NOVO;

-- Deleta coluna
ALTER TABLE T_CLASSE
DROP COLUMN TESTE_NOVO


-- Renomeia tabela
ALTER TABLE T_CLASSE_SOCIAL
RENAME TO  T_CLASSE;

segunda-feira, 17 de fevereiro de 2014

Instalar Oracle 11g no Ubuntu

Link externo.

Instalar Oracle 10g no Ubuntu

Baixar pacote .deb aqui.

Dê um clique para ele te mostrar onde e como está instalando os pacotes. Depois abra um terminal e digite o seguinte: $ cd /etc/init.d/
$ ./oracle-xe configure


Pronto, agora ele pedirá qual porta você vai usar para se conectar, geralmente ele já te mostra um exemplo de porta, mas se não pode usar a "8080".

Depois ele pede qual e a porta de comunicação, "1521". Depois ele pede para você a senha que usará para root (dba). Sugiro que grave essa senha até na cueca, pois se perdê-la não imagina a dor de cabeça que terá.

Depois de tudo feito, vá ate a barra de tarefa "aplicação":

  1. Oracle Data Base;
  2. Ir para home page do banco de dados;
  3. Coloque o login de dba """""System""""";
  4. Coloque a senha que você definiu na instalação (cara não me diga que você não lembra);
  5. Pronto, você já esta rodando o Oracle!

Para executar comandos SQL você pode ter um programa de SGBD ou mesmo um SQLPLUS, que já vem na instalação do Oracle.

Caso queira o SQLPlus é simples para conectar:

$ conenct system
(senha de dba)

Caso queira conectar com outros usuários e só criá-los pelo home page do banco de dados.