28 julho, 2014

Oracle - ver versão do banco de dados



--consultar versão do banco de dados oracle
select * from v$version

21 julho, 2014

Oracle - Sequence



--lista  todas as sequencias e o ultimo valor
select Sequence_Name, Last_Number from user_sequences;

-- mostra próximo valor da sequência (sequence)
select nome_sequencia.nextval from dual;

-- mostra valor atual,corrente da sequência (sequence)
select hibernate_sequence.currval from dual;

--modifca tabela adicionando sequencia add sequence
alter table minha_tabela modify id_tabela default nome_sequence.nextval;

17 julho, 2014

Oracle - Pesquisar objeto no banco de dados (BD)



--Pesquisar coluna em todos os schemas do banco
SELECT COLUMN_NAME, DATA_TYPE, OWNER, TABLE_NAME FROM ALL_TAB_COLS where column_name = 'ID_INDICE_V_DOCUMENTO' order by 4;

-- Pesquisa objeto em todos os schemas do banco
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE,CREATED, LAST_DDL_TIME, STATUS FROM ALL_OBJECTS WHERE OWNER LIKE 'USER%' AND OBJECT_NAME = 'MXD_INDICE_V_DOCUMENTO';


fonte: vou ficar devendo não tenho mais.

14 julho, 2014

Oracle - open cursor oracle



--open cursor oracle

--mostra sql executando e numero de cursores
select  sql_text, count(*) as "OPEN CURSORS", user_name from v$open_cursor
group by sql_text, user_name order by count(*) desc;


--Check current open cursor in database:
select max(a.value) as highest_open_cur, p.value as max_open_cur
from gv$sesstat a, gv$statname b, gv$parameter p
where a.statistic# = b.statistic#
and b.name = 'opened cursors current'
and p.name = 'open_cursors'
group by p.value;

-- seleciona linha completa de parametros do open_cursor
select * from gv$parameter where name='open_cursors';


--Opened cursor by session:
select a.value, s.username, s.sid, s.serial#
from v$sesstat a, v$statname b, v$session s
where a.statistic# = b.statistic#
and s.sid = a.sid
and b.name = 'opened cursors current'
and s.username is not null;


--para alterar o valor do open_cursors

--ALTER SYSTEM SET open_cursors=1000 SCOPE=BOTH


Fonte: vou ficar devendo, copiei o script tem tempo e perdi a fonte.

07 julho, 2014

Oracle - Migrar Objeto



--migrar tabela de schema
--uma tabela
ALTER TABLE nome_da_tabela MOVE TABLESPACE nome_do_novo_tablespace;
--todas as tabelas
SELECT 'ALTER TABLE nome_do_esquema.' || table_name || ' MOVE TABLESPACE nome_do_novo_tablespace;'
 FROM dba_tables
 WHERE
   owner = 'nome_do_esquema';
--migrar indice de schema
--um indice
ALTER INDEX nome_do_indice REBUILD TABLESPACE nome_do_novo_tablespace;
--todos os indices
SELECT 'ALTER INDEX nome_do_esquema.' || index_name || ' REBUILD TABLESPACE nome_do_novo_tablespace;'
 FROM dba_indexes
 WHERE
   owner = 'nome_do_esquema' AND
   index_type != 'LOB';
--migrar lob de schema
--um lob
ALTER TABLE nome_da_tabela MOVE LOB(nome_da_coluna_lob)
   STORE AS (nome_do_novo_tablespace);
--todos os lobs
SELECT
 'ALTER TABLE nome_do_esquema.' || table_name ||
 ' MOVE LOB( ' || COLUMN_NAME ||
 ' ) STORE AS (TABLESPACE nome_do_novo_tablespace);'
 FROM dba_tab_columns
 WHERE
   owner = 'nome_do_esquema' AND
   data_type LIKE '%LOB';




Fonte: vou ficar devendo tem um bom tempo que copiei o script e não tenho a fonte.