quarta-feira, 29 de outubro de 2014

Preenchendo endereço através do CEP com JSom

Já havia utilizado em um projeto completar o endereço após digitar o CEP, porêm:
- os CEP's eram consultados direto do banco tendo que:
   - baixar o banco de CEP's;
   - as informações podem ficar desatualizadas;
   - utiliza-se espaço e recursos do banco da aplicação;

Por isso recomendo esse artigo onde:
 - os CEP's são consultados direto do site dos Correios;
 - as bibliotecas são on-line
 - o código é muito simples, bastando deixar o ID dos campos, conforme a aplicação

sexta-feira, 20 de abril de 2012

Redo Log Buffer (Oracle OCA)

Buffer circular da SGA que contém informações sobre as alterações do banco de dados, contem entradas ‘redo’ de mudanças feitas por operações DML e DLL, contendo informações necessárias para reconstruir ou refazer essas mudanças, ou de operação interna. Quanto necessário é usado para recuperação de banco.


Os processo de servidor faz as alterações para o ‘buffer cache’, entradas ‘redo’, são geradas e escritas no ‘redo log buffer’ na SGA. Essas entradas assumem, continuo e sequencial espaço no ‘buffer’. O processo de fundo LGWR escreve o ‘redo log buffer’ para o ativo ‘redo log file’ no disco.

LGWR: responsável por gerenciamento e escrita do redo log buffer para o redo log file (arquivo de redo) no disco, escreve todas entradas de ‘redo’ que tem sido copiado dentro do buffer desde a última escrita, em uma proporção continua:

-Uma gravação efetuada quando o processo do usuário efetua uma transação;
- Redo log buffers;
- Cada 3 segundos;
- Quando o redo log buffer é 1/3 do total;
- Quando um processo DBWn (Database Writer) escreve os buffers modificados para o disco se necessário


quarta-feira, 18 de abril de 2012

Database Buffer Cache (Oracle OCA)


Conforme vou lendo o material oficial da Oracle, vou publicando um resumo sobre o tópico lido, conforme vou pesquisando ou achando mais material a respeito desse tópico, pretendo ir complementando e aos poucos ir deixando o material como um todo cada vez mais completo

Parte do SGA, compartilhada por todos usuários concorrentes, que mantém cópias de bloco de dados para serem lidas pelos arquivos de dados.

A primeira vez o processo de usuários o Banco Oracle requer um particular pedaço de dados, procurando no ‘database buffer cache’. Se existir, le diretamente da memória, tornando bem mais rápido o processo, senão copia o bloco de dados para arquivo de dados no disco após acessar os dados.

Organizado em duas listas  blocos alterados e blocos pouco utilizados recentemente, quando um processo servidor precisa ler dados de um bloco do disco para o database ‘buffer cache’,  pesquisa a LRU para localizar um bloco livre e, quando encontrar um bloco alterado, movimenta-o para a lista de blocos alterados. Esse processo termina quando um bloco livre é localizado ou quando um número específico de blocos são pesquisados sem encontrar um bloco livre

sexta-feira, 30 de março de 2012

Estrutura de memória (Oracle OCA)

Conforme vou estudando para OCA, vou passsando um resumo, um caminho das pedras tirado do material oficial da Oracle. Caso desejem se aprofundar mais de algum dos assuntos, podem ir pesquisando especificamente pelo Google a fora.

System Global Area (SGA): Grupo de estrutura de memória compartilhada, contêm dados e informações de controle para uma instância, compartilhada por todos servidores e processos de fundo.


- Database Buffer Cache: detém cópias de blocos de dados, lidas do arquivo de dados, acessada por todos usuários conectados simultaneamente.

- Redo Log Buffer: buffer circular que armazena informações sobre mudanças no banco, contendo informações necessárias para reconstruir as alterações efetuadas

- Shared Pool: onde o processo de servidor verifica se existe um comando idêntico, alocando área privada SQL do lado da sessão. É dividida em três partes
   - Library: Biblioteca utilizada para o Oracle armazenar SQL
      - Shared SQL Area: Contêm plano de execução SQL
   - Data Dicionary: coleção de bancos, tabelas e views, contendo informações referentes ao banco
   - Other: outro

- Large Pool: memória opcional, dividida em quatro partes:
   - I/O :
   - Free memory:
   - Response:
   - Request:

- Java Pool: usado para sessões específicas de código Java

- Stream Pool: usado por Oracle Stream (Ferramenta Oracle de processo e gerenciamento de eventos)

Program Global Area (PGA): Região de memória que contém dados e controle de informações para um servidor de processos de fundo, não compartilhada criada pelo banco quando servidor ou processo de fundo é iniciado, sendo seu acesso exclusivo para servidor de processos.

segunda-feira, 26 de março de 2012

Conexão Oracle (Oracle OCA)

Retornando, depois de um período de muita correria, uma breve introdução do Administration Workshop I

Um servidor de banco Oracle consiste em banco e uma ou mais instâncias.

A instância consiste em estrutura de memória e processos de fundo

Quando uma instância é iniciada, a área de memória compartilhada é chamada, SGA alocada e processos de fundo iniciados

Um banco de dados consiste na estrutura física e lógica.

Uma conexão é a comunicação entre um processo de usuário e uma instância

Uma sessão é uma conexão específica de um usuário para uma instância através de um processo de usuário, representa o estado do login do usuário, como por exemplo validação de usuário e senha.

Conexão
1) Uma instância é iniciada no nó aonde o banco é instalado,

2) Um usuário inicia uma aplicação, que tenta estabelecer conexão com o servidor

3) O servidor inicia um ouvinte apropriado, que detecta a conexão requisitada para a aplicação e cria processo dedicado

4) O usuário inicia uma DML (select, insert, update, delete, merge)

5) O processo de servidor recebe a afirmação e checa ‘chared pool’ (componente SGA), se não existe SQL idêntico compartilhado, se existir, verifica os privilégios do usuário para dados requeridos

6) O processo do servidor recupera o valor necessário, ou para atual tabela ou armazenados no ‘buffer cache’

7) O servidor de processos modifica as informações no SGA, por que a transação é ‘commitada’, o LGWR grava a transação no ‘redo log file’ e o DWBn modifica os blocos permanentemente no disco

8) Se a transação ocorre com sucesso, o servidor de processo encaminha mensagem através da rede para aplicação, senão uma mensagem de erro é transmitida

9) Através desse procedimento, outros processos de fundo são iniciados

Após iniciada instância, a mesma é associada com o banco específico ( ‘monta o banco’), o banco está pronto para ser aberto quando acessível para usuários autorizados. Múltiplas instancias podem ser executadas de forma concorrente em um mesmo computador, cada acesso é o próprio banco físico.


Uma instância Oracle usa estrutura de memória e processos para gerenciar o acesso ao banco. Toda estrutura de memória existente na memória principal do computador que constitui o servidor do banco. Processos são programados para trabalhar na memória desse computador




quinta-feira, 26 de janeiro de 2012

Scripts SQL úteis no dia a dia de um DBA Oracle

Faz algum tempinho que copiei esse documento, não sei a fonte, caso o autor solicite, retiro do blog, mas como o íntuíto é ajudar, creio que isso não vai acontecer.

VARIAVEIS DE AMBIENTE


CONN SYSTEM@INSTANCIA
SPOOL C:\LOGS
SET ECHO ON
SET TIMING ON
SET LINES 1000
SET SQLBL ON

ALTER SESSION SET NLS_DATE_FORMAT = ‘DD/MM/YYYY HH24:MI:SS’;
SELECT SYSDATE FROM DUAL;
SHOW USER

VERIFICA INSTANCIA
SELECT * FROM GLOBAL_NAME;

DUMP
<!--[if !supportLineBreakNewLine]--><!--[endif]-->

VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA

SELECT USERNAME FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE ‘USER%‘
GROUP BY OBJECT_TYPE;
SPOOL OFF

NO TERMINAL LINUX

$export ORACLE_SID=INSTANCE
$exp system@INSTANCE BUFFER=1000000 FILE=EXP_INSTANCE_USER_DATA.DMP LOG=EXP_INSTANCE_USER_DATA.LOG OWNER=USUÁRIOS LISTADOS CONSISTENT=Y
gzip EXP_INSTANCE_USER_DATA*
<!--[endif]-->

DESATIVAÇÃO DE UM SCHEMA
VERIFICAR SE TEM ALGUM USUÁRIO USANDO O SISTEMA

SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS, OSUSER, MACHINE, PROGRAM
FROM V$SESSION
WHERE USERNAME LIKE ‘USER%‘;

VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA

SELECT USERNAME FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

VERIFICA ATRIBUTOS DO USUÁRIO

SELECT * FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

SELECT * FROM DBA_TAB_PRIVS
WHERE GRANTOR LIKE ‘USER%‘;

VERIFICA PREVILEGIOS DO USUÁRIO

SELECT * FROM DBA_SYS_PRIVS
WHERE GRANTEE LIKE ‘USER%‘;

SELECT * FROM DBA_ROLE_PRIVS
WHERE GRANTEE LIKE ‘USER%‘;

CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE LIKE ‘USER%‘
GROUP BY OBJECT_TYPE;

DESATIVA USUÁRIO

ALTER USER USER ACCOUNT LOCK;

ALTER USER USER PASSWORD EXPIRE;

VERIFICA STATUS DA CONTA

SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%’;
SPOOL OFF

DESATIVAÇÃO DE UMA INSTANCIA
VERIFICAR SE TEM ALGUM USUÁRIO USANDO O SISTEMA

SELECT SADDR, SID, USERNAME, LOGON_TIME, STATUS,OSUSER, MACHINE, PROGRAM
FROM V$SESSION;

VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA

SELECT USERNAME FROM DBA_USERS ;

VERIFICA ATRIBUTOS DO USUÁRIO

SELECT * FROM DBA_USERS;

SELECT * FROM DBA_TAB_PRIVS;

VERIFICA PREVILEGIOS DO USUÁRIO

SELECT * FROM DBA_SYS_PRIVS;

VERIFICA PREVILEGIOS DE ROLE

SELECT * FROM DBA_ROLE_PRIVS;

CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
GROUP BY OBJECT_TYPE;

NO TERMINAL

EXPORT ORACLE_SID=INSTANCE

SQLPLUS / AS SYSDBA

SQL> SHUTDOWN IMMEDIATE;

EXECUÇÃO DE SCRIPT

VERIFICAR QUAIS SÃO OS USUÁRIOS DO SISTEMA

SELECT USERNAME FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

VERIFICA SE O OBJETOS JÁ EXISTE

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, LAST_DDL_TIME, STATUS
FROM ALL_OBJECTS
WHERE OWNER LIKE ‘USER%‘
AND OBJECT_NAME = ‘OBJECT_NAME’;

CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE ‘USER%‘
GROUP BY OBJECT_TYPE;

CONTA OBJETOS INVALIDOS

SELECT COUNT (*)
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

VERIFICA OBJETOS INVALIDOS

SELECT OBJECT_TYPE, OBJECT_NAME, STATUS
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

EXECUTA O SCRIPT

CONN USER@INSTANCE

@C:\CAMINHO\SCRIPT.SQL

CONN SYSTEM@INSTANCE

VERIFICA SE O OBJETOS JÁ EXISTE

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, LAST_DDL_TIME, STATUS
FROM ALL_OBJECTS
WHERE OWNER LIKE ‘USER%‘
AND OBJECT_NAME = ‘OBJECT_NAME’;

SELECT * FROM DBA_TAB_PRIVS
WHERE GRANTOR LIKE ‘USER%’;

CONTA OBJETOS DO SCHEMA

SELECT COUNT(OBJECT_TYPE), OBJECT_TYPE
FROM DBA_OBJECTS
WHERE OWNER LIKE ‘USER%‘
GROUP BY OBJECT_TYPE;

CONTA OBJETOS INVALIDOS

SELECT COUNT (*)
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

VERIFICA OBJETOS INVALIDOS

SELECT OBJECT_TYPE, OBJECT_NAME, STATUS
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

GERA SCRIPTS DOS OBJETOS INVALIDOS

SELECT ‘ALTER’ OBJECT_TYPE OWNER OBJECT_NAME ‘ COMPILE;’
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

VERIFICA OBJETOS INVALIDOS

SELECT OBJECT_NAME, OBJECT_TYPE, STATUS
FROM DBA_OBJECTS
WHERE STATUS=’INVALID’
AND OWNER LIKE ‘USER%‘;

SPOOL OFF

CRIACAO DE USUÁRIO
VERIFICAR SE EXISTE ESSE USUÁRIO NO SISTEMA

SELECT USERNAME FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

CRIAR A TABLESPACE PARA O USUÁRIO

CREATE TABLESPACE INSTANCE_SCHEMA_01
DATAFILE ‘CAMINHO/INSTANCE_SCHEMA.DBF’ SIZE 64M
AUTOEXTEND ON NEXT 1M
SEGMENT SPACE MANAGEMENT AUTO;

VERIFICA SE TEM ALGUMA ROLE PARA ESSE USUÁRIO

SELECT * FROM DBA_ROLES WHERE ROLE LIKE ‘%USER%‘;

SELECT * FROM DBA_SYS_PRIVS WHERE LIKE ‘%USER%‘;

SELECT * FROM DBA_TAB_PRIVS WHERE LIKE ‘%USER%‘;

CRIAR O USUÁRIO

CREATE USER USER
IDENTIFIED BY ‘SENHA‘
DEFAULT TABLESPACE INSTANCE_SCHEMA_01
TEMPORARY TABLESPACE TEMP;

APLICA GRANT

GRANT RESOURCE, CONNECT TO USER;

VERIFICAR SE O USUÁRIO FOI CRIADO

SELECT * FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

VERIFICA ROLES DO USUARIO CRIADO

SELECT * FROM DBA_SYS_PRIVS
WHERE GRANTEE LIKE ‘USER%‘;

SELECT * FROM DBA_ROLE_PRIVS
WHERE GRANTEE LIKE ‘USER%‘;

VERIFICAR OS USUÁRIOS DO SISTEMA

SELECT * FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;

ALTERA A SENHA

ALTER USER USER IDENTIFIED BY ‘SENHA‘;

VERIFICAR OS USUÁRIOS DO SISTEMA

SELECT * FROM DBA_USERS
WHERE USERNAME LIKE ‘USER%‘;
SPOOL OFF



DBA Chuck Norris

Chuck Norris não faz DELETEs. Ele olha para os registros e eles correm de medo.


Chuck Norris não cria Primary Keys. Os registros simplesmente não atrevem-se a duplicar.

Chuck Norris não usa LOG. Ele lembra de todos registros que alterou.

Chuck Norris não cria Índices. Ele sabe que os registros retornarão o mais rápido que puderem.

MSSQL Server é muito mais rápido que Oracle. Basta que o DBA seja CHUCK NORRIS.

Uma vez adaptaram o Roundhouse Kick para o Oracle. Assim nasceu o TRUNCATE TABLE.

Chuck Norris não dá DROP TABLE. Ele dá ROUNDHOUSE KICK TABLE.

Uma vez Chuck Norris deu um Roundhouse Kick em um banco poderoso. Hoje ele é conhecido por Access.

Chuck Norris sabe todos os erros do Oracle de cor. Porque ele os criou.

SELECT SUM(FORÇA) FROM CHUCK_NORRIS; Internal error. Do not call the support.

SELECT CHUCK_NORRIS; Drop database sucessful.

SELECT ROUNDHOUSE_KICK FROM CHUC... Lost connection.

DELETE FROM CHUCK_NORRIS. Not Found. (Ele está atrás de você, a ponto de dar um Roundhouse Kick!!!)

Chuck Norris tem IGNORE CONTRAINTS automático. Ninguém restringe nada a Chuck Norris. Ninguém.

Chuck Norris não faz cursos de Oracle. A Oracle é que faz cursos de Chuck Norris.

Chuck Norris instala o Oracle sem ler o manual. (Quem você pensa que é para ter tentado isso?)

Chuck Norris instala o Oracle em um 486. Rodando Kurumim. Em 2 minutos.

Chuck Norris instala o MSSQL Server em um Pentium 100MHZ. Rodando Solaris. A partis dos fontes.

Chuck Norris instala o DB2 em um 486. Rodando Windows Vista. Sem HD.

Chuck Norris não tem Certificação. São as empresas que tentam tirar Certificação em Chuck Norris. Em vão.

Se disser ao DBA Chuck Norris que "o problema está no banco", é melhor que esteja se referindo ao Itaú.

Chuck Norris SABE qual o problema de performance do banco. Ele só está dando uma chance do banco de se arrepender. 5... 4... 3...

Chuck Norris não cria Stored Procedures. Todas suas Queries já se armazenam no banco, tentando se esconder. Mas é inútil.

TRIGGERS tem este nome porque Chuck Norris sempre ameaçava atirar no banco quando ele não fazia algo automático.

Chuck Noris não faz Modelo de Dados. Ele encara o banco até que ele faça o modelo sozinho.

Chuck Norris instala o Oracle sem a interface gráfica. E sem a interface texto. (Pergunte a ele você!)

Megabyte, Gigabyte, Terabyte, Petabyte, Exabyte, Chuckbite.

Oracle tem as versões Personal, Standard, Enterprise e ChuckNorris Edition. Mas nenhum computador é rápido o suficiente para rodar a último.
 

quinta-feira, 12 de janeiro de 2012

Oracle SQL (Oracle OCA)

A primeira prova OCA envolve SQL, vimos a alguns post's atrás uma introdução, agora vamos ver alguns detalhes do comando SQL. A melhor forma de aprender é exercitando, então aconselho que instalem o Oracle Free e treinem. Caso tenham dúvida sobre comando SQL, recomendo que procurem na internet, vou passar somente algumas particularidades

SELECT:  O  comando mais simples do SQL é selecionar dados de uma ou mais tabelas do banco
SELECT * |{[DISTINCT]} column expression [alias], … FROM table

Expressão aritmética (+,-,*,/): Regras de precedência:
- Multiplicação e divisão ocorrer antes de adição e subtração
- Operadores de mesma prioridade são avaliados da direita à esquerda
- Os parênteses são usados ​​para substituir a precedência padrão ou para esclarecer a declaração.


Nulo (NULL):
-
Não é o mesmo que zero ou espaço em branco, é inavaliável, desconhecido ou inaplicável
- Colunas ou qualquer tipo pode conter nulos, no entanto, alguns contém (não nula e PK).
- Por padrão, o
SQL Developer utiliza literal, (null), para identificar os valores, no entanto, pode-se configurá-lo para algo mais relevante para você.
- Se qualquer coluna em uma expressão aritmética é nula, então o resultado é nulo
- Se você tentar executar uma divisão por zero você receber um erro
- Se você dividir um número por nulo, o resultado é nulo ou desconhecido


Concatenação:  liga colunas , expressão aritmética ou valores constantes para criar uma expressão de caractere. No exemplo abaixo concatena-se campo nome e sobrenome.
select 'Nome: '||nome ||' Sobrenome: '||sobrenome from funcionario

Describe: Utilizado para descrever um objeto do Oracle (tabela, view, sinônimo, função package)

String e data:
- São case-sensitive e valores de data são sensíveis ao formato
- Devem sero colocados entre aspas simples ('')
- O formato padrão de exibição de data é DD-MON-RR, datas loja em formato numérico interno, representando o século, ano, mês, dia, horas, minutos e segundos. Válidas entre 01 de janeiro de 4712 aC e 31 de dezembro de 9999 dC

- Permite que você armazene datas do século 21 no século 20 especificando apenas os dois últimos dígitos do ano
- Permite que você armazene datas do século 20 no século 21, da mesma forma


Funções de data
- data + numero (data) = adiciona numero de dias a data

- data - número (data) = subtrai numero de dias a data
- data - data (número de dias)= subtrai uma data de outra 
- data - numero/24 (data) = adiciona horas a data
- MONTS_BETWEEN  (MONTS_BETWEEN(’01-SEP-95’,’11-JAN-94’)=19.6774194) Número demeses entre duas datas. O resultado pode ser negativo ou positivo
- ADD_MONTHS (ADD_MONTHS(’31-JAN-96’,1)=’29-FEB-96’) Adiciona meses a data
- NEXT_DAY (NEXT_DAY(’01-SEP-95’,’FRIDAY’)=’08-SEP-95’) Próximo dia de uma data
- LAST_DAY (LAST_DAY(’01-FEB-95’)=’28-FEB-95’) Último dia do mês
- ROUND (ROUND (’25-JUL-03’, ‘MONTH’)=’01-AUG-03’ ROUND (’25-JUL-03’, ‘YEAR’)=’01-JAN-04’)
Arredonda data. Se o formato for omitido, a data é truncar para o próximo dia
- TRUNC (TRUNC (’25-JUL-03’, ‘MONTH’)=’01-JUL-03’ TRUNC (’25-JUL-03’, ‘YEAR’)=’01-JAN-03’) Trunc e Round:
- Se o modelo de formato é mensal, as datas 15/01 resultar no primeiro dia do mês em curso.
- Se o modelo de formato é mensal, as datas 16-31 resultado no primeiro dia do mês seguinte
- Se o modelo de formato é ano, mês 1-6 resultar em 01 de janeiro do corrente ano.
- Se o modelo de formato é ano, mês 7-12 resultado em janeiro do ano que vem

 
Ordenação: a ordenação padrão é crescente- Valores numéricos são exibidos com os valores mais baixos primeiro (1-999)
- Valores de data são exibidos com os primeiros valores primeira (01-jan-92 antes de 01-jan-95)
- Valores de caracteres são exibidos com a ordem alfabética (A ... Z)
- Valores nulos são exibidos durar seqüência e ascendente para descendente primeira seqüência
- Pode-se classificar por uma coluna que não está na lista de seleção



Precedência:
- aritimético - concatenação
- comparação
- [not] null, like, in
- [not]between
- [not]equal
- not
- and
- or

Funções
LOWER: Converte um determinado valor para caixa baixa (ex select lower('Ab') from dual = ab)
UPPER:Converte um determinado valor para caixa alta  (ex select lower('Ab') from dual = AB)
INITICAP: Converte o primeiro caracter de um campo para caixa alta (ex select lower('jose da silva') from dual = Jose Da Silva)
SUBSTR: Retorna um caracter em posição especifica (ex: select substr('123456789',2,3) from dual = 234
LENGTH: Retorna o tamanho de um campo (select legth (nome) from usuario where codigo=1=37 (supondo que o nome do usuário 1 tenha 27 caracteres))
INSTR: Retorna posição para um caracter específico (ex: SHOW INSTR('Corporate Floor','or', 3, 2)

from dual = 14
REPLACE: substituí uma série de caracteres

Numéricas
ROUND: Arredonda (ROUND (45.926,2) = 45.93)
TRUNC: Corta para o número de casas estipulados (TRUNC (45.926,2) = 45.92), pode também ser utilizado para datas, cortando horas por exemplo (data= 21/12/2011 10:15:22 -> trunc(data_x) = 21/12/2011)
MODE: Retorna o resto da divisão (MOD (1600, 300 ) = 100)




Oracle - Gerenciamento de usuários e segurança

Dando continuidade a rotinas diárias de um DBA, um tópico resumido sobre administração de usuário e segurança.


Depois de uma conta de usuário é criado, pelo menos privilégios básicos devem ser concedidos à conta para permitir que o usuário se conectar ao banco de dados e visualizar e criar objetos de banco de dados, conhecidos como objetos de esquema. Uma conta de usuário define:

- Como o usuário deve ser autenticado

- senha (criptografada) para autenticação de banco de dados

- Tablespaces que o usuário pode acessar e quotas sobre eles

- Se a conta está bloqueada ou não

Determinadas contas de usuário são incluídos automaticamente quando você cria seu banco de dados. Todos bancos de dados criados pelo Assistente de Configuração do banco de dados incluem o SYS, SYSTEM, SYSMAN e contas de usuário DBSNMP, mas as outras contas estão incluídos, dependendo quais recursos ou opções que estão instalados.

SYS: Criado automaticamente ao criar um banco, concedido papel de DBA

SYSTEM: também criado automaticamente, usado para criar tabelas adicionais e pontos de vista que são apresentados informações administrativas e tabelas internas e pontos de vista diversos usados pela Oracle Opções de banco de dados e ferramentas. Nunca use o esquema SYSTEM para armazenar as tabelas de interesse para usuários não-administrativos.

Privilégios administrativos: Necessários a um administrador para executar operações b´sicas de banco de dados, tais como a criação do banco, inicialização e desligamento, são concedidos através de dois privilégios de sistema especiais, SYSDBA e SYSOPER. Você deve ter um desses privilégios concedidos, dependendo do nível de autorização que necessita. Os privilégios SYSDBA e SYSOPER também pode ser pensado como tipos de conexões que lhe permitem realizar operações de banco de dados de certos privilégios para os quais não podem ser concedida em qualquer outra forma. Por exemplo, se você tem o privilégio SYSDBA, você podem se conectar ao banco de dados especificando conectar como SYSDBA.

A Oracle fornece esquemas no qual podem ser praticadas diversas rotinas

- Recursos Humanos, útil para a introdução de tópicos básicos.

- Entrada de Pedidos, útil para lidar com questões de complexidade intermediária.

- Catálogo Online, uma coleção de objeto-relacional de banco de dados

- Produto de Mídia, dedicado a tipos de dados multimídia.

- Trocas de informações, conjunto de esquemas reunidos

- Histórico de Vendas, projetado para permitir demos com grandes quantidades de dados.

- Contas de gestão, deve ser utilizado apenas por pessoal autorizado familiarizado com senhas fornecidas, essas contas são inicialmente bloqueada com suas senhas expiradas.

O gerenciamento dessas tarefas no material oficial é apresentado como gerenciar no Enterprise Manager. Não vou colocar os passos, pois os mesmos podem ser consultados pela internet, se possível vou complementar esse post caso eu tenha os passos via comando.



quarta-feira, 11 de janeiro de 2012

Introdução a Certificação (Oracle OCA)

Uma introdução resumida do material oficial Oracle para primeira prova OCA .
Banco de dados

Gerenciamento: Automação da gestão, recursos diagnósticos de falhas, ajuste automático de SQL
Alta disponibilidade: Reduzir o risco do tempo de parada e perda de dados Segurança: Configuração única e segura configuração, criptografia de dados e de máscara, recursos de auditoria
Performance:OLTP, RAC, transação escalável
Integração: Muitos
recursos de informação de Integração para melhor integrar os dados


Instruções SQL (ANSI) (recomendações Oracle)
- Não são case sensitive
- Pode ser inserido em uma ou muitas linhas, menos palavras chaves
- Cláusula são geralmente colocados em linhas separadas para facilitar a leitura e facilidade de edição
- Recuos deve ser usado para tornar o código mais legível (identação)
- Palavras-chave normalmente são inseridos em letras maiúsculas;
- Palavras como todos os nomes de tabela e nomes de colunas são inseridos em letras minúsculas


SQL Developer x SQL Plus
Developer:  

- Alinhamento a esquerda
- Definição maiíuscula
Plus: 

- Títulos de colunas de caracteres e data são alinhados à esquerda
- Número de títulos de coluna são alinhados à direita
- Exibição padrão título em maiúsculas


Manipulação de linguagem de dados
DML (Data Manipulation Language ):  

- SELECT
- INSERT

- UPDATE
- DELETE
- MERGER
DDL (Data Definition Language ):  
- CREATE
- ALTER
- DROP
- RENAME
- TRUNCATE
- COMMIT
DCL (Data Control Language ):  
- GRANT
- REVOKE
TC (Transaction Control):  
- COMMIT
- ROLBACK
- SAVERPOINT

Continua em um próximo post