terça-feira, 18 de novembro de 2014

ORA-09925: Unable to create audit trail file ao efetuar startup no Oracle 12c

     

        Hoje pela manhã um parceiro me contactou a respeito de uma mensagem "ORA - alguma coisa" ao efetuar startup no banco de dados. Lembrando que erros ORA não mensagens de bem vindo para o cliente.

Então mão na massa:

[oracle@oracle12c cdb1]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Tue Nov 18 14:56:17 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 9925
ORA-01075: you are currently logged on


Enter user-name:

Causa: As pastas foram excluidas para liberar espaço pois continham muitos arquivos dentro delas.




Como a mensagem já é clara " ORA-09925: Unable to create audit trail file" o oracle não consegue criar as pastas de auditoria do banco de dados.

Solução:

Recriar as pastas dentro do diretório ADMIN/cdb1

[oracle@oracle12c cdb1]$ mkdir -p adump dpdump pfile


[oracle@oracle12c cdb1]$ sqlplus / as sysdba

SQL> startup
ORACLE instance started.

Total System Global Area 3774713856 bytes
Fixed Size                  2688344 bytes
Variable Size             922749608 bytes
Database Buffers         2835349504 bytes
Redo Buffers               13926400 bytes
Database mounted.
Database opened.
SQL>


E pá.

Referencias:

https://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_audit_mgmt.htm#BABFHEFH




quarta-feira, 26 de março de 2014

Entendendo Joins e Set Operators

                 Há um bom tempo utilizei a imagem 1 para descomplicar a utilização de JOINS em sala de aula com meus alunos. Após um tempo atrás um colega da área Eduardo Legatti divulgou no seu facebook a mesma imagem colocando os SET OPERATORS  (Conjunto de Operadores). Ela é bem útil na hora de construir um SQL "correto" visando não ter problemas de performance futuramente.

Mas afinal o que são JOINS?

Imagine a seguinte situação: Durante a construção de um relatório utilizando consulta SQL é normal surgir a necessidade de extrair informações de diferentes tabelas para gerar o resultado. Esta operação, chamada junção , necessita que o desenvolvedor informe os critérios para realizar a junção destas fontes.  Seguem abaixo os tipos de JOINS existentes:
  •    Cross join
  •    Inner join
  •    Left outer join
  •    Right outer join
  •    Outer Full join

Com diz o ditado uma imagem fala mais que "mil palavras" então segue abaixo as imagens.


Imagem 1 - SQL JOINS

Imagem 2 - SQL JOINS AND SET OPERATORS

Até a próxima.

Fontes:
http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins
Sistemas de Banco de Dados - Elmasryi * Navathe
http://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj29840.html

segunda-feira, 17 de março de 2014

Desabilitando a interface gráfica no Oracle Linux 5.8


Olá galera!

 Semana passada estava iniciando um instalação do Oracle RAC no Virtualbox, após a instalação das máquinas precisei desabilitar a interface gráfica no Oracle Linux para as máquinas consumirem menos recursos de memória. Lembrando que podia ter feito a instalação do SO já sem interface gráfica.

Segue os passos necessários:


1. Editar o arquivo inittab
vi /etc/inittab

2. Localizar uma linha semelhante a esta já na parte final do arquivo e comentar
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon


3. Acrescentar a linha abaixo:
# Run xdm in runlevel 5
#x:5:respawn:/etc/X11/prefdm -nodaemon

id:3:initdefault

4. Salve o arquivo, e efetuar reboot no servidor.
5. Caso queira reabilitar a interface gráfica novamente basta se logar e entrar com o comando:


# startx





Referências:
Oracle Enterprise Linux Fundamentals Student Guide
http://blog.zloether.com/2009/07/disable-gui-in-centosrhel.html

quinta-feira, 6 de março de 2014

Deletando um Serviço no Windows.


Olá pessoal.

Neste post não irei falar diretamente de banco de dados mas como deletar um serviço Oracle no windows. Certo dia tentei fazer uma instalação do Oracle 11g R2 em um servidor que não tinha sido instalado corretamente pelo cliente, porém quando o instalador iniciava a instalação o mesmo enviava uma mensagem de erro e dizia que o serviço já existia.

O procedimento foi o seguinte:

1 - Abra o Windows OS prompt de DOS (Execute-o como Administrador se estiver usando o Windows Server 2008 OS)


2 - No prompt de comando digite o seguinte:

     sc delete OracleServiceDNAME

     O comando acima irá remover o restante dependente desse serviço a partir do sistema operacional e seu registro.

     sc delete OracleOraDb11g_home1TNSListenerListener1


     O comando acima irá remover o serviço do Listener

3 - Verifique e verifique se as entradas e ligação para o serviço do Oracle apagadas são removidas a partir do Painel de Controle -> Ferramentas Administrativas -> Serviços

Bom por hoje só pessoal!