Valores nulos no Oracle
Olá pessoal! Neste post irei falar de como podemos trabalhar com valores nulos no Oracle. Primeiramente precisamos saber o que
Ler maisOlá pessoal! Neste post irei falar de como podemos trabalhar com valores nulos no Oracle. Primeiramente precisamos saber o que
Ler maisA tabela DUAL é uma pseudo tabela, não é uma tabela real do banco de dados. Ela é criada automaticamente
Ler maisROWNUM ROWNUM é uma pseudo coluna, que retorna o número do registro (linha) em select. Ele é utilizado para gerar uma
Ler maisROWID O ROWID é um identificador exclusivo de cada registro no banco de dados Oracle. Ele é usado internamente para armazenar
Ler maisFala pessoal! Essa semana houve uma demanda para gerar um arquivo PDF de um relatório criado no Oracle Reports. Montei um
Ler maisOla! Este post serve de tutorial para quem precisa trabalhar com coordenadas geográficas no banco de dados. É um tutorial
Ler maisDiariamente nos deparamos com a necessidade de agrupar, juntar, concatenar colunas de uma tabela em uma base de dados. As
Ler maisAnalisando o tamanho e espaço da tablespace no Oracle.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
SELECT t.tablespace ,t.totalspace AS " Totalspace(MB)" ,round((t.totalspace - fs.freespace), 2) AS "Used Space(MB)" ,fs.freespace AS "Freespace(MB)" ,round(((t.totalspace - fs.freespace) / t.totalspace) * 100, 2) AS "% Used" ,round((fs.freespace / t.totalspace) * 100, 2) AS "% Free" FROM (SELECT round(SUM(d.bytes) / (1024 * 1024)) AS totalspace ,d.tablespace_name tablespace FROM dba_data_files d GROUP BY d.tablespace_name) t ,(SELECT round(SUM(f.bytes) / (1024 * 1024)) AS freespace ,f.tablespace_name tablespace FROM dba_free_space f GROUP BY f.tablespace_name) fs WHERE t.tablespace = fs.tablespace ORDER BY t.tablespace; |
Script para verificar as estatisticas e consumo das sessões do
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
SELECT logon_time ,username ,upper(osuser) osuser ,( SELECT round(VALUE / 1024 / 1024, 2 ) FROM v$sesstat WHERE statistic# = 25 AND v$sesstat.sid = v$session.sid) AS "PGA Memory, in MB" ,( SELECT VALUE FROM v$sesstat WHERE statistic# = 12 AND v$sesstat.sid = v$session.sid) AS "CPU, used by session" ,round(( SELECT VALUE FROM v$sesstat WHERE statistic# = 339 AND v$sesstat.sid = v$session.sid) / ( SELECT decode(VALUE , 0, 1, VALUE ) FROM v$sesstat WHERE statistic# = 338 AND v$sesstat.sid = v$session.sid), 2) AS "Hard Parse, %" ,( SELECT round(VALUE / 1024 / 1024, 2 ) FROM v$sesstat WHERE statistic# = 58 AND v$sesstat.sid = v$session.sid) AS "Physical read bytes, in MB" ,( SELECT round(VALUE / 1024 / 1024, 2 ) FROM v$sesstat WHERE statistic# = 66 AND v$sesstat.sid = v$session.sid) AS "Physical write bytes, in MB" ,( SELECT round(VALUE / 1024 / 1024, 2 ) FROM v$sesstat WHERE statistic# = 139 AND v$sesstat.sid = v$session.sid) AS "Redo size, in MB" ,( SELECT round(VALUE / 1024 / 1024, 2 ) FROM v$sesstat WHERE statistic# = 344 AND v$sesstat.sid = v$session.sid) AS "Received from client, in MB" ,( SELECT round(VALUE / 1024 / 1024, 2 ) FROM v$sesstat WHERE statistic# = 343 AND v$sesstat.sid = v$session.sid) AS "Sent to client, in MB" ,sid ,serial# ,v$session.status ,program ,user# ,command ,ownerid ,process ,machine ,object_name FROM v$session LEFT OUTER JOIN dba_objects ON v$session.row_wait_obj# = dba_objects.object_id WHERE v$session.logon_time BETWEEN trunc(SYSDATE - 30) AND SYSDATE AND v$session.STATUS = 'ACTIVE' ORDER BY 7 DESC; |
banco de dados Oracle.
Ler maisScript para identificar se algum usuário do banco de dados esta “lockando” algum objeto.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SELECT c.username AS usuario_bd ,c.osuser AS usuario_so ,decode(b.id2, 0, a.object_name, 'Trans-' || to_char(b.id1)) AS objeto_bd ,a.object_type AS tipo_objeto ,c.machine AS maquina ,c.logon_time AS inicio_conexao ,c.program AS programa FROM dba_objects a ,v$lock b ,v$session c WHERE (a.object_id(+) = b.id1 AND b.sid = c.sid AND c.username IS NOT NULL) ORDER BY b.sid ,b.id2; |