Busca

Google
 
BuscaPé, líder em comparação de preços na América Latina
BuscaPé, líder em comparação de preços na América Latina

terça-feira, 19 de abril de 2011

Recompilando Objetos inválidos

O Próprio Oracle tem um pacote que compila os objetos inválidos.
 
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql

sexta-feira, 18 de fevereiro de 2011

Criação e manutenção de uma Tablespace (em exemplos)

APENAS EXEMPLOS, BANCO 10G COM RED HAT

CRIAR UMA TABLESPACE

COM APENAS UM DATAFILE
     CREATE TABLESPACE "TESTE_IDX_TS"
          LOGGING
          DATAFILE '/u01/oradata/tmk/TESTE_IDX_TS.dbf' SIZE 200M EXTENT
          MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO

COM MAIS DE UM DATAFILE
     CREATE    TABLESPACE "TESTE_IDX_TS"
          LOGGING
          DATAFILE '/u01/oradata/tmk/TESTE_IDX_TS.dbf'  SIZE 200M,
                             '/u02/oradata/tmk/TESTE_IDX2_TS.dbf' SIZE 200M
         EXTENT MANAGEMENT LOCAL SEGMENT
         SPACE MANAGEMENT  AUTO

COM MAIS DE UM DATAFILE E AUTOEXTEND DOS DATAFILES
      CREATE  TABLESPACE "TESTE_IDX_TS"
           LOGGING
           DATAFILE '/u01/oradata/tmk/TESTE_IDX_TS.dbf'  SIZE 200M
          AUTOEXTEND ON NEXT  1024K MAXSIZE  300M,
                              '/u02/oradata/tmk/TESTE_IDX2_TS.dbf' SIZE 200M
          AUTOEXTEND ON NEXT  1024K MAXSIZE  300M
          EXTENT MANAGEMENT LOCAL SEGMENT
          SPACE MANAGEMENT  AUTO



AUMENTAR UM DATAFILE


AJUSTAR O TAMANHO DE UM DATAFILE

ALTER TABLESPACE "SERVICO_TS"
    ADD
    DATAFILE '/u04/oradata/tmk/SERVICO_TS2.dbf' SIZE 200M;

AJUSTAR O TAMANHO DO AUTOEXTEND DE UM DATAFILE

    ALTER DATABASE  DATAFILE
        '/u03/oradata/tmk/WSP_TS.dbf' AUTOEXTEND
        ON NEXT  1024K MAXSIZE  3000K;

terça-feira, 30 de novembro de 2010

Memory Notification: Library Cache Object Loaded Into Sga

A Seguinte mensagem e reportada no arquivo alertINI.log.

    Memory Notification: Library Cache Object loaded into SGA

    Heap size 2294K exceeds notification threshold (2048K)

Esta mensagem de alerta pode não causar errors, mostra que esta se gastando muito tempo procurando memória livre extendida durante uma alocação de memória que pode estar fragmentada.

A melhor solução para este caso é fazer o upgrade para a versão 10gR2 ou executar os seguintes ajustes.

Set _kgl_large_heap_warning_threshold para um valor razoavelmento alto ou zero para prevenir estas mensagens de alertas. O Valor precisa ser setado em bytes.


Se você quiser set o valor  8192 (8192 * 1024) e use o spfile:

(logged in as "/ as sysdba")

SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;

SQL> shutdown immediate

SQL> startup

terça-feira, 29 de julho de 2008

EXEMPLO PRÁTICO SQLOADER

Este exemplo mostra um procedimento prático que utilizo para carregar de um PABX um arquivo texto com informação sobre ligações, a partir deste arquivo efetuar a carga para o Oracle usando o sqlloader.

***********************************************************************
Tabela a ser utilizada.

-- Create tablecreate table TELEPONTO
( C1 CHAR(2),
C2 CHAR(2),
C3 CHAR(7),
C4 CHAR(12),
C5 CHAR(2),
C6 CHAR(2),
C7 CHAR(4),
C8 CHAR(4),
C9 CHAR(10),
C10 NUMBER(1) default 0)
tablespace WSP_TS;
-- Add comments to the columns
comment on column TELEPONTO.C8 is 'RAMAL';
comment on column TELEPONTO.C9 is 'TELEFONE EXTERNO';
comment on column TELEPONTO.C10 is 'IMPORTADO 0 - NAO 1 - SIM 2 - DIVERGENCIA';

-- Create/Recreate check constraints alter table TELEPONTO add constraint CK_TELEPONTO check (c10 in (0,1,2));
-- Create/Recreate indexes
create index IDX_TELEPONTO on TELEPONTO (C4) tablespace WSP_TS;
create index IDX_TELEPONTO_STATUS on TELEPONTO (C10) tablespace WSP_TS;

********************************************************************
ARQUIVO DE CONTROLE DO SQLLOADER

Arquivo localizado no servidor Oracle em /u04/ponto

arquivo ponto.ctl
/****************
LOAD DATA
INFILE ‘dados.dat’
APPEND INTO TABLE teleponto
FIELDS TERMINATED BY ' '
OPTIONALLY ENCLOSED BY ' '
TRAILING NULLCOLS
(c1, c2,c3,c4,c5,c6,c7,c8, c9 nullif (c9=BLANKS))

\*********************

*********************************************************************

EXEMPLO DO ARQUIVO GERADO PELO TELEPONTO. (ARQUIVO TEXTO)
/**********************
01 01 0004034 131120070659 01 00 8837 0707
01 01 0007865 131120070757 01 00 8908 0708
01 01 0007865 131120071033 01 00 8904 0709
01 01 0007536 131120071159 99 00 0000 0710 3491186939
01 01 0004034 131120071200 01 00 8837 0711
01 01 0004034 131120071258 01 00 8837 0712
01 01 0007865 131120071304 01 00 8908 0713
01 01 0007536 131120071357 99 00 0000 0714 3433124344
01 01 0004034 131120071601 01 00 8837 0715
01 01 0007536 131120071757 99 00 0000 0716 3491186939
01 01 0007865 131120071847 01 00 8904 0717
\***********************

********************************************************************************

Arquivos necessários para execução do processo

Configurações para carregar o arquivo para o Oracle

shell que ira rodar as 00:15 para capturar a data do sistema e copiar arquivo do servidor de TELEPONTO

shell de captura
/**************************
# define a data do arquivo a ser copiado
export arquivo=`date --date 'yesterday' +pt%Y%m%d`

#Acessa o Servidor e copia o arquivo para /u04/ponto
curl -O -u axs:<<>>
ftp://0.0.0.1/??.1?.8.??/arquivos/$arquivo

# Gera um arquivo dados.dat com base no arquivo copiadao.
cp /u04/ponto/$arquivo /u04/ponto/dados.dat -f


\**************************

********************************************************************************

Rodar o sqlloader para carregar os dados para a tabela do Oracle

SHELL deve ter os seguintes comandos para poder executar o sqlloader programado pelo crontab ou manualmente.

/*******************
export ORACLE_BASE=/ora/app/oracle
export ORACLE_HOME=/ora/app/oracle/product/10.1.0/db_1
export ORACLE_SID=acad

LD_LIBRARY_PATH=$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export log=`date +%d-%m-%Y_ponto.log`

cd /u04/ponto
sqlldr userid=wsp/<<>>@scad control=ponto.ctl log=$log


\*****************************

Oracle Rac

Apresentação sobre Oracle RAC

http://oukc.oracle.com/static05/opn/oracle9i_database/40168/053107_40168_source/index.htm

domingo, 2 de março de 2008

Poker a nova mania que esta chegando com tudo.


Poker

Recomendo a quem quer aprender um pouco mais sobre poker, o livro "Aprendendo a jogar poker" de Leo Bello é um excelente caminho, o Livro tras dicas muito boas além de ser um ótimo guia.

Quem quiser saber mais acessem os sites abaixos:

http://www.circuitoholdem.com.br/
http://www.clubedopoker.com/tut_20050526_4.php
http://www.pokerpepper.com/
http://espnbrasil.terra.com.br/pokerclubbrasil/

Quem quiser comprar baralhos, fichas, etc. ( estou fazendo propaganda mas não estou ganhando nada com isso. rsss)

http://www.copga.com.br/
http://www.mercadolivre.com.br/

Quem quiser aprender jogando, e o melhor de graça acessem os sites:

http://www.towertorneos.com/ ( tem muito brasileiro aqui)
http://www.pokerpepper.com/
http://pt.partypoker.com/

No mais boa sorte. Lembrando que :

"O Poker não é um jogo de azar e sim de habilidade e superação"

terça-feira, 4 de dezembro de 2007

Uberaba novamente na mídia nacional "Hackers usavam até menores nos golpes"

Era só o que faltava, Uberaba novamente na mídia Nacional, agora com a prisão de vários Hachers, heheh, só me faltava essa depois do caso do leite o caso dos Hackers, inclusive com a participação de menores.
Etá Uberaba Bão so!!!

Da Agencia Estado " Polícia Federal de Uberaba informou que a quadrilha de hackers, alvo da Operação Muro de Fogo, realizada hoje em Minas Gerais, Goiás e no interior de São Paulo, aliciava até menores nos crimes. De acordo com a PF, eles eram utilizados para conseguir os boletos bancários usados na consolidação dos golpes. ...."

Leia na integra a notícia no link abaixo.

http://g1.globo.com/Noticias/Brasil/0,,MUL203803-5598,00.html

sexta-feira, 16 de novembro de 2007

Hacker encontra 492000 falhas em servidores Oracle e SQL Server

Um Hacker encontrou 492000 vulnerabilidades de servidores SqlServer e Oracle, sendo 368000 Microsoft SQL Servers acessível pela Internet e em torno 124000 servidores de dados Oracle. A grande ocorrência de falhas ocorre em servidores sem proteção.
Veja a reportagem completa em; http://blogs.zdnet.com/security/?p=663&tag=nl.e589

se vc quiser baixar uma versão do software para testar vulnerabilidades utilize o link abaixo.
http://www.ngssoftware.com/

"A survey by renowned database hacker David Litchfield has found a whopping 492,000 Microsoft SQL and Oracle database servers directly accessible to the Internet without firewall protection....."

terça-feira, 13 de novembro de 2007

Autonomous Transactions - Oracle


Uma transação autonoma (Autonomous Transactions) é startada por uma transação principal para operar de maneira autonoma ou se ocorrer alguma falha a transação não ser afetada.
O uso favorito desta FEATURE e em eventos de LOG ou quando tiver a necessidade de não se impactar a transação, AUTONOMOUS TRANSACTION e a solução perfeita para se criar uma transação autonoma, use o PRAGMA AUTONOMOUS_TRANSACTION. Este comando é colocado na seção de DECLARE do bloco.


Ex:
Create or replace PROC_EXEMPLO IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
<<>>;
END;

Exemplo Prático:
1) Transação 1 : insert into movimentacao

2) Executa Autonomous Transaction (pode ser procedure ou função)

3) transação 2 : insert into LOG (Procedure com AUTONOMOUS)

4) commit na procedure, volta para transação 1

5) executa um roolback;
Neste caso as informações da transação 1 são desfeitas e
as informações da transação 2 são mantidas.

Lembre-se
Após finalizar uma transação autonoma sempre execute um COMMIT ou
roolback antes de voltar a transação anterior.

quinta-feira, 8 de novembro de 2007

Atributos de um cursor

Existem seis atributos usados com os cursos em instruções PL/SQL, com base no retorno destes atributos é possível determinas as próximas ações dentre um bloco PL/SQL.

Estes atributos são:

1) %BULK_EXCEPTIONS - Usado por array ou operações de bulk collect, ele trata erros de exceptions encontrados durante as operações.

2) %BULK_ROWCOUNT - Também usado em operações de bulk collect, este atributo, guardo o número de linhas alteradas durante a operação.

3) %FOUND - Este atributo testa se a informação foi encontrada após um FETCH.

4) %ISOPEN - Este atributo verifica se o curso já se encontra aberto.

5) %NOTFOUND - Contrário de %FOUND, testa se a informação não foi encontrada após o FETCH.

6) %ROWCOUNT - Este atributo testa o número de linhas que sofreram FETCH e retorna um número.

Logos estarei montando exemplos práticos com estes comandos.

quarta-feira, 7 de novembro de 2007

Cursor no Oracle

Pessoal aqui vai algumas dicas sobre cursor.

1) Criação na área de declare
-- criação do cursor
create cursor c_tmp is
select matricula, nome, nascimento
from cadastro;

-- definir um "record set" para o cursor
r_tmp c_tmp%rowtype;

2) no corpo do programa
-- abrir o cursor
use c_tmp;

-- posicionar o ponteiro no primeiro registro do cursor
fetch c_temp into r_temp;

-- o laço seré executado enquanto existir linhas no cursor
while c_tmp%found do

-- para se trabalhar com o resultado do cursor poderemos fazer uma referencia
-- ao record set + a coluna
update historico h
set h.lancamento = sysdate
where h.matricula = r_tmp.matricula;

-- posicionar o ponteiro no próximo registro do cursor
fetch c_temp into r_temp;
end do;

Oracle Day em Ribeirão Preto.

Hoje participei do Oracle Day em Ribeirão Preto - SP, onde nos foi apresentado as novas aquisições da Oracle e as novas funcionalidades do BI , GED - Gerenciamento Eletrônico de Documentos, uma demonstração prática da utilização do SOA/BPM e as novas funcionalidades do Oracle 11g.
Na apresentação do BI, gostei de ver como o software se interage com outros bancos e com os diferentes tipos de dados (excel, xml, txt,....), e o tanto que o software melhorou, o BI passou a atualizar os seus relatórios on-line, não sendo necessário toda aquele trabalho que existia antes.
Na parte do GED me deu sono o parceiro da Oracle tinha conhecimento mas não tinha didática para passar a informação, zzzz zzzz zzzz
A coisa ficou boa na apresentação do SOA, nem o sono após o almoço atrapalhou.
Durante esta apresentação vi que podíamos aplicar muita coisa na Uniube. Durante a demonstração da ferramenta vi que ela seria bem útil.
Agora na apresentação das novas funcionalidades do Oracle 11g, ai sim, vi como este software melhorou muito.
Acho que a cada instrução que era apresentada eu fazia uma cara de satisfação, só imaginando aquela feature em funcionamento.
a que mais me chamou atenção foi a criptografia a nível de tabela e tablespace.
sem contar o auto incremento de um segmento para tabela particionada.

sei q foi muito bom.