Aprenda Oracle :) Base de conhecimento
Dicas para quem trabalha ou pretende trabalhar com Banco de dados Oracle e outras ferramentas
segunda-feira, 11 de março de 2019
How to get last executed SQL (oracle)
terça-feira, 26 de fevereiro de 2013
Oracle SHUTDOWN IMMEDIATE Travado!
SHUTDOWN IMMEDIATE Travado!
Problemas com travamento ao tentar fazer um SHUTDOWN IMMEDIATE.
Após algum tempo o PMON não consegue encerrar todas as conexões e a instância fica travada.
$sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 26 14:16:59 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate;
No arquivo alert_<instancia>.log fica repetindo a mensagem:
SHUTDOWN: waiting for active calls to complete.
Tue Feb 26 14:52:06 2013
Sugestão para resolver no Linux:
Evitar matar os processos via SO.
Abrir outra sessão de terminal com usuário oracle.
entrar como sysdba
executar
SHUTDOWN ABORT
STARTUP RESTRICT
SHUTDOWN NORMAL
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 26 14:51:52 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> shutdown abort;ORACLE instance shut down.
SQL>
SQL> startup restrictORACLE instance started.
Total System Global Area 1.7003E+10 bytes
Fixed Size 2245352 bytes
Variable Size 8992591128 bytes
Database Buffers 7985954816 bytes
Redo Buffers 22159360 bytes
Database mounted.
Database opened.
SQL>
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL>
SQL> shutdown normalDatabase closed.
Database dismounted.
ORACLE instance shut down.
Pronto. Agora a instância está encerrada e os processos Oracle no Servidor também.
Desse modo ao fazer o startup há um recover da instância, mas não há arquivos corrompidos.
terça-feira, 18 de dezembro de 2012
SQL Fomatter
http://www.freeformatter.com/sql-formatter.html
Apresenta opções de colar código SQL na janela ou informar URL.
Tem ainda uma grande variedade de linguagens que podem ser formatadas.
Após a formatação basta clicar no botão COPY TO CLIPBOARD e depois colar onde quiser.
Nota:
A única ressalva é tomar cuidado com comentários no código SQL, que podem ser formatados fora de posição.
terça-feira, 10 de janeiro de 2012
connection string oracle websphere
Classical connection String
jdbc:oracle:thin:@//ORACLE-SERVER:1521/SERVICE
works fine on Oracle sqldeveloper and Weblogic Application Server.
But, connecting via WebSphere requires a complete string like.
jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(FAILOVER=on)(ADDRESS_LIST=(ADDRESS=(protocol=tcp)(host=node1)(port=1521))(ADDRESS=(protocol=tcp)(host=node2)(port=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=service)))
Note: Don´t breake this line.
segunda-feira, 9 de janeiro de 2012
Reiniciar serviço de sincronização no Linux
Executar um comando simples para reiniciar o serviço.
Principalmente em servidores em cluster, com Oracle RAC ou websphere é de suma importância sincronizar a data.
# service ntpd restart
Shutting down ntpd: [ OK ]
ntpd: Synchronizing with time server: [ OK ]
Starting ntpd: [ OK ]
terça-feira, 3 de janeiro de 2012
Criar Objeto TYPE no Oracle 11g
Criar Objeto TYPE no Oracle 11g
Para a criação de procedure com retorno de multiplas linhas é necessário criar um ou mais objetos TYPE no Oracle 11g.
Perdi um bom tempo lidando com erros de compilação na minha procedure, com o compilador considerando meu TYPE como not Declared.
Seguindo os padrões da Empresa de criação de objetos no banco de dados fiz algo assim:
CREATE OR REPLACE TYPE "tpDescricao01Descricao02"
AS OBJECT
( cdColuna01 NUMBER(10),
cdColuna02 NUMBER(10),
cdColuna03 NUMBER(10) );
O nome está alternando maiusculas e minusculas. Até ai tudo bem, o compilador do Oracle aceita e cria o objeto TYPE.
No entanto, ao tentar usar em uma procedure, a mesma não compila.
Erro(1,81): PLS-00201: identifier 'TPDESCRICAO01DESCRICAO02' must be declared