LOGIN:

iMasters | Por uma internet mais criativa e dinâmica

Feeds

Oracle

Feed da seção Oracle

Newsletter de Oracle


Sexta-feira, 30/01/2004 - 03:59 - Por Rodrigo Almeida
Seções relacionadas:

Dicas SQL*PLUS (continuação)

Tudo bem com vocês? Hoje iremos conhecer mais algumas dicas legais sobre o SQL*PLUS, e antes de começarmos, queria avisar que podem me mandar sim, sugestões para novas colunas, sem problemas, se o assunto for bom, tentarei o possível para escrever uma boa coluna sobre. E podem também mandar os e-mail com as dúvidas que estou respondendo conforme o tempo. Ok?

Queria mandar um abraço para o pessoal que esteve presente no 2º Encontro iMasters que foi realizado em São Paulo, eu ALPHAMEK, estive lá e foi muito bom, queria convidar os desenvolvedores e programadores para freqüentar o próximo encontro marcado, pois nesses dois últimos, o dominio foi do pessoal do design. "Fiquei meio sem assunto entre eles”.

Agora vamos ao que nos interessa, SQL*PLUS, prosseguindo com as dicas das colunas anteriores lá vai mais uma. Se alguém te perguntar algo assim.

Como posso bloquear alguns usuários de desviar comandos no SQL*PLUS?

Isso é uma dica legal, pois numa empresa que existe uma rede com 250 máquinas conectadas, sempre tem o "Pentelho" que tenta ficar burlando seu precioso banco de dados, então, o que devemos fazer em relação a isso, eis a solução. No Oracle existe uma tabela chamada SYSTEM.PRODUCT_USER_PROFILE, essa tabelinha fica escondida dentro do schema SYSTEM. Para melhorar nosso exemplo, vamos imaginar que teremos que desabilitar todos os usuários da rede que utilizem a sigla MKT em frente ao nome, neles, devemos desabilitar o comando CONNECT (Maldade!) para ficarem quietos. Primeiramente abrimos nosso SQL*PLUS, depois executamos o comando abaixo.

SQL > INSERT INTO SYSTEM.PRODUCT_USER_PROFILE
2 VALUES ('SQL*Plus', 'MKT%', 'CONNECT', NULL, NULL, 'DISABLED', NULL, NULL);

Percebe-se que será um comando DML normal, para inserir valores, porém com algumas características, no 1º Valor, iremos dizer que não é para executar no SQL*PLUS, no 2º valor iremos dizer que será todos os funcionários que tenha MKT em frente ao nome, no 3º valor será dito ao Oracle que será para desabilitar o comando CONNECT, poderia ser outro, como GRANT, REVOKE e etc, no 4º e 5º valor, seria para passarmos parâmetros de comando, no caso deixei nulo (NULL), 6º valor é o estado de sessão, se deverá ficar habilitada ou desabilitada, como somos maldosos, iremos DESABILITAR (DISABLED), e 7º e 8º valores são outros parâmetros de configuração, como dito deixei NULO.

Só isso irá resolver os usuários indevidos que ficam na nossa rede fazendo baderna, deste modo nos deixará com a cabeça mais livres para fazermos outras coisas. Lembramos que deveremos estar com o usuário SYSTEM. Não esqueça.

Agora esse é interessante, seu chefe chega na sua mesa e te pergunta:

Porque nossos SELECTs estão tão demorados para retornar as informações, o que está acontecendo com o Oracle?

Ai você pergunta: Meus Deus, o que irei fazer agora, não sei o que se passa dentro do SQL!

Deixa disso, tenho uma dica que irá te salvar, chama AUTOTRACE , um recurso do Oracle conhecido por poucos.

O AUTOTRACE te dará todas as informações que tu precisará para melhorar a performance dos seus SELECTs, como total de linhas processadas, bytes enviado ao cliente, bloqueios e etc..

Para usufruir dele, devemos executar um script SQL no banco de dados SYS, esse script já está pronto no diretório ADMIN do Oracle, que fica em $ORACLE_HOME/sqlplus/ADMIN.

Depois criar uma tabela chamada PLAN_TABLE, esse script fica em $ORACLE_HOME/rdbms/admin.

Após termos executados todos os scripts acima, entraremos com um comando muito básico dentro do nosso velho SQL*PLUS, observe:

SQL > SET AUTOTRACE ON
SQL> SELECT Mulheres, baladas FROM alphamek WHERE Atualmente='Maravilhosas';

Bom, como o SELECT acima irá retorna dezenas de valores no meu banco de dados, após exibir todas as informações pra mim sobre as meninas, estarei visualizando uma estatística do que aconteceu durante o processo do SQL dentro do motor do Oracle. Isso é realmente muito útil para nosso próximo SELECT ser mais dinâmico e ter menos perca de memória. Assim nosso chefe ficará feliz em saber que tu está conseguindo trazer informações com mais agilidade.

OK! Pessoal, estou ficando por aqui, caso tenham dúvidas não exitem em enviar um e-mail, e se forem usuários do Fórum iMasters, poderão postar suas dúvidas lá para achar soluções.

Abraços.

Todos os artigos de Rodrigo Almeida

2 comentários publicados

  • 1. Boa dica

    Segunda-feira, 01/08/2005, por thomas frederico glufke

    Valeu pela dica!
    http://glufke.net/oracle

    Responder comentário
  • 2. Copiar tabelas

    Quarta-feira, 13/08/2008, por Fábio Luiz Silva

    Rodrigo, boa tarde.

    Tem como facilitar a minha vida, preciso copiar uma tabela e os dados contidos nela de um usuario para outro do mesmo banco.

    grato,

    Fábio Luiz

    Responder comentário

Poste um comentário


Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.

Sobre o autor

Rodrigo Almeida formando em analise de banco de dados pela IBTA-SP, especialista em microeletrônica pela INSA-AIME na França e Oracle Certified Associate 9i. Já trabalhou em empresas como BTC Texaco, DuPont do Brasil, Vivo São Paulo, Procwork, DBACorp e atualmente é DBA Oracle da Affinia Automotiva.


Indique para um amigo

captcha

TI SHOP Produtos iMasters

  • Lançamento: CD-ROM Treinamento Aplicado de SQL - Lançamento! Treinamento Aplicado de SQL - Aprenda a trabalhar com SQL com bancos de dados Oracle e SQL Server. São mais de 100 tópicos explicados por Mauro Pichilliani, um articulistas mais lidos do iMasters. Aproveite! Apenas R$ 69,90 no TI SHOP.
  • Lançamento: Livro iMasters "O Encontro de 2 Mundos"- Este livro conta com 56 crônicas de profissionais mais admirados e influentes do mercado brasileiro de Internet. Aproveite o preço especial para leitores do iMasters. Apenas R$ 40,00 e envio imediato!
  • DVD Curso Completo de Photoshop - Do conceito à finalização Lançamento! Curso Completo de Photoshop, em DVD, com mais de 230 aulas dividas em 4 módulos: conceito, básico, avançado e finalização. Apenas R$ 69,50 no TI SHOP - Frete com 50% de desconto
  • DVD Javascript Starter - Curso Completo Com mais de 9 horas de vídeo-aulas, é um curso completo sobre Javascript. Ideal para quem deseja aprender a linguagem. Apenas R$ 64,90 no TI SHOP - Frete com 50% de desconto!

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.