Dica: Descobrir a(s) tablespace(s) alocada(s) para um banco Oracle

1 Comentário

O select abaixo permite descobrir quais as tablespaces que estão relacionadas a um owner no oracle:

SELECT DISTINCT
       T.OWNER,
       T.TABLESPACE_NAME,
       TS.STATUS,
       DF.FILE_NAME,
       DF.BYTES,
       DF.STATUS
  FROM DBA_TABLES T
 INNER JOIN DBA_TABLESPACES TS
    ON TS.TABLESPACE_NAME = T.TABLESPACE_NAME
 INNER JOIN DBA_DATA_FILES DF
    ON DF.TABLESPACE_NAME = TS.TABLESPACE_NAME
 WHERE T.TABLESPACE_NAME IS NOT NULL
   AND UPPER(T.OWNER) = 'SEU_OWNER'
 ORDER BY T.OWNER

Dica: Descobrir objetos lockados no Oracle

1 Comentário

Select para descobrir os objetos lockados no Oracle

SELECT c.owner,
       c.object_name,
       c.object_type,
       b.SID,
       b.serial#,
       b.status,
       b.osuser,
       b.machine
  FROM v$locked_object a, v$session b, dba_objects c
 WHERE b.SID = a.session_id
   AND a.object_id = c.object_id
   AND upper(c.owner) = 'SEU_OWNER_EM_MAIUSCULO'
 ORDER BY c.owner, c.object_name;

Dica: Descobrir CONSTRAINTS desabilitadas no Oracle

Deixe um comentário

Select para descobrir os objetos desabilitados no Oracle

SELECT CONS.INDEX_NAME,
       CONS.CONSTRAINT_NAME,
       CONS.CONSTRAINT_TYPE,
       COLS.TABLE_NAME,
       COLS.COLUMN_NAME,
       COLS.POSITION,
       CONS.STATUS,
       CONS.OWNER
  FROM ALL_CONSTRAINTS CONS
 INNER JOIN ALL_CONS_COLUMNS COLS
    ON CONS.CONSTRAINT_NAME = COLS.CONSTRAINT_NAME
   AND CONS.OWNER = COLS.OWNER
 WHERE UPPER(CONS.STATUS) != 'ENABLED'
   AND UPPER(CONS.OWNER) = 'SEU_OWNER'
   -- A LINHA ACIMA PODE SER ELIMINADA PARA
   -- QUE TODOS OS OBJETOS INVÁLIDOS SEJAM
   -- LISTADOS, INDEPENDENTE DO OWNER
  ORDER BY COLS.TABLE_NAME, COLS.POSITION;

Dica: Extrair SQL de consultas LINQ / Lambda

2 comentários

Para saber qual foi a query Sql gerada ao executar uma instrução LINQ, basta usar o seguinte código:

string strQuery = (qLinq as ObjectQuery).ToTraceString();
// é necessário: using System.Data.Objects;

Exemplo:

Linq:

var qLinq = from t in c.TABELAs
            where t.CAMPO1 < i
            select t;

Lambda:

var qLambda = c.TABELAs.Where(t => t.CAMPO1 < i);

Query SQL Gerada:

SELECT
       [Extent1].[CAMPO1] AS [CAMPO1],
       [Extent1].[CAMPO2] AS [CAMPO2]
  FROM [dbo].[TABELA] AS [Extent1]
 WHERE [Extent1].[CAMPO1] < @p__linq__1

OBS: A Sql gerada é igual tanto para a Query Linq quanto para a Lambda Expression.

Essa dica foi o Marquinhos que me passou.

Dica: Descobrir objetos inválidos no Oracle

Deixe um comentário

Select para descobrir os objetos inválidos no Oracle

select owner "Owner",
       object_name "Objeto",
       status "Estado"
  from dba_objects
 where lower(status) != 'valid'
   and lower(owner) = '{nome_do_owner}'
   -- a linha acima pode ser eliminada para
   -- que todos os objetos inválidos sejam
   -- listados, independente do owner
 order by owner, object_name;

 

Dica: Descobrir versão do banco Oracle

15 comentários

Select para descobrir a versão do servidor do banco Oracle

select * from v$version

Resultado:

Dica: Fixar tamanho da Janela “Find And Replace” do Visual Studio 2010

Deixe um comentário

Um incomodo no Visual Studio 2010 é a janela “Find And Replace”, que segundo o Blog do Visual Studio, aumenta 16px a cada vez que é aberta. Para resolver este problema, foi liberado um Patch que fixa o tamanho da janela. Para instalar é muito simples e o download pode ser feito aqui.

Older Entries