Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / v$ и запросы, которыми вы пользуетесь каждый день приходя на работу / 15 сообщений из 15, страница 1 из 1
15.07.2016, 10:26:04
    #39274349
жвачкин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
Поделитесь своими sql-заготовками, которыми вы пользуетесь ежедневно в своей работе.
Также интересен список v$ без которого не проходит и дня.

Например,
v$session,
v$process,
v$transaction,
v$sesstat,
v$lock
v$undostat
...
Рейтинг: 0 / 0
15.07.2016, 10:34:48
    #39274365
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
жвачкин, вот немного:

Код: plsql
1.
2.
3.
4.
5.
6.
--Свободное место в ТП:
select t.tablespace_name,floor((t.total)/(1024*1024*1024)) as Total_Gb,floor((f.free)/(1024*1024*1024)) as Free_Gb, floor((t.total-f.free)*100/t.total) as pct from
(select tablespace_name, sum(bytes) as free from dba_free_space group by tablespace_name) f,
(select tablespace_name,  sum(bytes) as total from dba_data_files group by tablespace_name) t
where t.tablespace_name=f.tablespace_name --and  t.tablespace_name like 'DEPOSIT%'
order by pct desc



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
-- Место для авторасширения:
select substr("FS_name",1,instr("FS_name",'/',1,2)-1) "FS_Name", count(*) "Count_files", sum("Size, Mb") "File_Size, Mb", sum("Max, Mb") "File_Max, Mb", trunc(sum("Delta, Mb"))  "Delta, Mb" from
(select file_name "FS_name", bytes/(1024*1024) "Size, Mb", AUTOEXTENSIBLE, bytes/(1024*1024) "Max, Mb",bytes/(1024*1024)- bytes/(1024*1024) "Delta, Mb"  from dba_data_files where AUTOEXTENSIBLE='NO'
union all
select file_name "FS_name", bytes/(1024*1024) "Size, Mb", AUTOEXTENSIBLE, maxbytes/(1024*1024) "Max, Mb", maxbytes/(1024*1024)-bytes/(1024*1024) "Delta, Mb" from dba_data_files where AUTOEXTENSIBLE='YES'
union all
select lf.member "FS_name", l.bytes/(1024*1024) "Size,Mb", 'NO' "AUTOEXTENSIBLE",0 "Max, Mb",0 "Delta, Mb" from v$logfile lf, v$log l where lf.group#=l.group#
union all
select name "FS_name", bytes/(1024*1024) "Size, Mb",  'NO' "AUTOEXTENSIBLE",0 "Max, Mb",0 "Delta, Mb" from v$tempfile)
group by substr("FS_name",1,instr("FS_name",'/',1,2)-1)
order by 1




Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
-- 1) Блокирующие сессии
select /*+RULE*/ final_blocking_session, event, count(*) as n from v$session where final_blocking_session is not null  group by final_blocking_session, event order by n, event

-- 2) для kill -9
select /*+RULE*/ p.spid, s.* from v$session s, v$process p where s.sid in (18021) and s.PADDR=p.addr

-- 3) информация о блокирующих сессиях
select s.EVENT, s.* from v$session s where sid  in (12722, 11385)

-- 4) удаление блокирующей сессии
alter system kill session '12722,        18369' immediate;
...
Рейтинг: 0 / 0
15.07.2016, 10:47:33
    #39274383
жвачкин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
JaBong , спасибо!

Отслеживаете прирост БД? Если вдруг руководство спросит, на сколько выросла БД за последние N месяцев?
Например, нужно спланировать диски какого объёма нужно купить, чтобы места хватило на 5 лет работы.
...
Рейтинг: 0 / 0
15.07.2016, 12:00:19
    #39274471
Fogel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
JaBong-- 4) удаление блокирующей сессии
alter system kill session '12722, 18369' immediate;

Есть опыт, что вместо kill лучше использовать disconnect.
Но теорией подкрепить в данном случае не горазд.
...
Рейтинг: 0 / 0
15.07.2016, 12:05:23
    #39274481
Moss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
жвачкин,

Код: plsql
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.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
SELECT                                                   -- TOP IO SQL --
         a.parsing_user_id, a.executions, a.buffer_gets, a.disk_reads,
         a.direct_writes, a.address, a.hash_value, a.sql_id, '||', a.*
    FROM v$sqlarea a
   WHERE a.disk_reads > 100000
ORDER BY a.disk_reads DESC
/
SELECT                                            -- TOP GETS(LIO) SQL --
         a.parsing_user_id, a.executions, a.loads,
         TRUNC (a.cpu_time / 1000000) cpu_time_s,
         TRUNC (a.elapsed_time / 1000000) elapsed_time, a.buffer_gets,
         a.disk_reads, a.direct_writes, a.address, a.hash_value,
         a.sql_id, '||', a.*
    FROM v$sqlarea a
   WHERE a.buffer_gets > 1000000
ORDER BY a.buffer_gets DESC
/
SELECT                                                   -- PGA MEMORY --
       TRUNC (SUM (p.pga_used_mem) / 1024 / 1024) pga_used_mem,
       TRUNC (SUM (p.pga_alloc_mem) / 1024 / 1024) pga_alloc_mem,
       TRUNC (SUM (p.pga_freeable_mem) / 1024 / 1024) pga_freeable_mem,
       TRUNC (SUM (p.pga_max_mem) / 1024 / 1024) pga_max_mem,

       SUM (CASE
               WHEN p.pga_used_mem > 32 * 1024 * 1024
                  THEN 1
               ELSE 0
            END
           ) usedpga32m,
       SUM (CASE
               WHEN p.pga_used_mem > 64 * 1024 * 1024
                  THEN 1
               ELSE 0
            END
           ) usedpga64m,
       SUM (CASE
               WHEN p.pga_used_mem > 128 * 1024 * 1024
                  THEN 1
               ELSE 0
            END
           ) usedpga128m,
       SUM (CASE
               WHEN p.pga_used_mem > 256 * 1024 * 1024
                  THEN 1
               ELSE 0
            END
           ) usedpga256m,
       SUM (CASE
               WHEN p.pga_used_mem > 512 * 1024 * 1024
                  THEN 1
               ELSE 0
            END
           ) usedpga512m,
       SUM (CASE
               WHEN p.pga_used_mem > 1024 * 1024 * 1024
                  THEN 1
               ELSE 0
            END
           ) usedpga1g
  FROM v$process p
/
SELECT                                   -- TEMP USAGE MORE THAN 100 MB--
         b.*, '||', a.status,
         NUMTODSINTERVAL (a.last_call_et, 'second') vremya, a.user#,
         a.lockwait, a.osuser, a.machine, a.*,
            'alter system kill session '''
         || a.SID
         || ','
         || a.serial#
         || ''';' forkillsql
    FROM v$session a,
         (SELECT   u.username, u.session_addr, u.TABLESPACE,
                   SUM (u.blocks) usaege_blocks,
                   TRUNC (SUM (u.blocks) * 8192 / 1024 / 1024) usage_mb
              FROM v$sort_usage u
          GROUP BY u.username, u.session_addr, u.TABLESPACE) b
   WHERE b.session_addr = a.saddr AND b.usage_mb > 100
ORDER BY 4 DESC
/
...
Рейтинг: 0 / 0
15.07.2016, 12:12:44
    #39274495
Moss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
Код: plsql
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.
SELECT -- SESSIONS_STAT --
 vs.TYPE,
 vs.status,
 COUNT(1) sessions,
 (SELECT COUNT(1) FROM v$session t WHERE t.TYPE = 'USER') total_user,
 (SELECT COUNT(DISTINCT t.username) FROM v$session t WHERE t.TYPE = 'USER') total_user_dist,
 
 SUM(DECODE(vs.blocking_session, NULL, 0, 1)) blocked,
 SUM(DECODE(vs.taddr, NULL, 0, 1)) transactions,
 SUM(CASE
       WHEN vs.seconds_in_wait > 3 * 60 * 60
            AND vs.schemaname IN ('MYSCHEMA')       
        THEN
        1
       ELSE
        0
     END) inactive_more_3hour,
 SUM(DECODE(vs.event#,
            165,
            1,
            119,
            1,
            166,
            1,
            118,
            1,
            120,
            1,
            117,
            1,
            116,
            1,
            163,
            1,
            164,
            1,
            0)) io,
 SUM(DECODE(vs.event#, 59, 1, 0)) latch_buff_chains,
 SUM(DECODE(vs.wait_class, 'Idle', 0, 1)) non_idle,
 SUM(DECODE(vs.wait_class, 'Concurrency', 1, 0)) concurrency,
 SUM(DECODE(vs.wait_class, 'User I/O', 1, 0)) user_io,
 (SELECT COUNT(1) FROM v$session t) total_all
  FROM v$session vs
 GROUP BY vs.TYPE, vs.status
 ORDER BY vs.TYPE DESC, vs.status /
...
Рейтинг: 0 / 0
15.07.2016, 21:49:02
    #39274982
jan2ary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
жвачкин JaBong , спасибо!

Отслеживаете прирост БД? Если вдруг руководство спросит, на сколько выросла БД за последние N месяцев?
Например, нужно спланировать диски какого объёма нужно купить, чтобы места хватило на 5 лет работы.Это можно взять из репозитория Grid/Cloud Control.
...
Рейтинг: 0 / 0
17.07.2016, 14:44:45
    #39275222
жвачкин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
jan2aryжвачкин JaBong , спасибо!

Отслеживаете прирост БД? Если вдруг руководство спросит, на сколько выросла БД за последние N месяцев?
Например, нужно спланировать диски какого объёма нужно купить, чтобы места хватило на 5 лет работы.Это можно взять из репозитория Grid/Cloud Control.
а где взять тем, у кого нет Oracle EE и данных опций?
...
Рейтинг: 0 / 0
17.07.2016, 16:14:18
    #39275237
jan2ary
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
жвачкин,

Все еще хуже, кроме ЕЕ нужен еще DP.
Тем, у кого оных нет - писать джобы с ручным сбором статисики по использованному пространству.
...
Рейтинг: 0 / 0
19.07.2016, 13:10:35
    #39276215
жвачкин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select sql_id, SQL_PLAN_HASH_VALUE, avg(secs), sum(secs) as secs, sum(cnt) as cnt, txt from (
select h.sql_id, h.SQL_PLAN_HASH_VALUE, h.sql_exec_id, h.sql_exec_start, max(h.sample_time),  to_char(max(sample_time),'SSSSS') - to_char(sql_exec_start,'SSSSS')  as secs,
count(*) cnt, max( trim(DBMS_LOB.SUBSTR (t.sql_text,4000)) ) as txt
 FROM   dba_hist_active_sess_history h 
left join dba_hist_sqltext t on t.sql_id = h.sql_id
where 
h.sample_time between to_date('19.07.16 10:25:00', 'dd.mm.yy hh24:mi:ss') and to_date('19.07.16 10:30:00', 'dd.mm.yy hh24:mi:ss')
group by h.sql_id, h.SQL_PLAN_HASH_VALUE, h.sql_exec_id, h.sql_exec_start
) group by sql_id, SQL_PLAN_HASH_VALUE, txt
order by cnt desc nulls last;



Добрый день! Подскажите, почему запрос ниже выводит 0 строк, независимо от того, какую дату и время установить.
Ограничение редакции SE ?
...
Рейтинг: 0 / 0
19.07.2016, 13:29:05
    #39276233
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
когда баз более одной, а особенно ежеле более 5 и далее, без v$instance никуда
...
Рейтинг: 0 / 0
20.07.2016, 09:48:09
    #39276849
SAS2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
у меня создается отчет в html ввиде в котором более 10 диагностич. селектов, например, список датафайлов, объем свободной памяти и прочее, список dbms_jobs, блокировки и т.д.
...
Рейтинг: 0 / 0
20.07.2016, 09:49:03
    #39276850
SAS2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
удобный отчет получается его всегда можно в случае чего распечатать
...
Рейтинг: 0 / 0
20.07.2016, 12:36:46
    #39277005
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
жвачкинДобрый день! Подскажите, почему запрос ниже выводит 0 строк, независимо от того, какую дату и время установить.
Ограничение редакции SE ?
Да. Active Session History является компонентом Active Workload Repository, который входит в Diagnostic Pack. А последний доступен как платная опция для Enterprise Edition.
...
Рейтинг: 0 / 0
20.07.2016, 16:16:05
    #39277196
жвачкин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
http://vsbabu.org/oracle/
полезная ссылка, может пригодится
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / v$ и запросы, которыми вы пользуетесь каждый день приходя на работу / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]