powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
15 сообщений из 15, страница 1 из 1
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39274349
жвачкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поделитесь своими sql-заготовками, которыми вы пользуетесь ежедневно в своей работе.
Также интересен список v$ без которого не проходит и дня.

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

Код: 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
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39274383
жвачкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JaBong , спасибо!

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

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

Код: 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
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39274495
Moss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39274982
jan2ary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жвачкин JaBong , спасибо!

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

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

Все еще хуже, кроме ЕЕ нужен еще DP.
Тем, у кого оных нет - писать джобы с ручным сбором статисики по использованному пространству.
...
Рейтинг: 0 / 0
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39276215
жвачкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39276233
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда баз более одной, а особенно ежеле более 5 и далее, без v$instance никуда
...
Рейтинг: 0 / 0
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39276849
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня создается отчет в html ввиде в котором более 10 диагностич. селектов, например, список датафайлов, объем свободной памяти и прочее, список dbms_jobs, блокировки и т.д.
...
Рейтинг: 0 / 0
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39276850
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
удобный отчет получается его всегда можно в случае чего распечатать
...
Рейтинг: 0 / 0
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39277005
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жвачкинДобрый день! Подскажите, почему запрос ниже выводит 0 строк, независимо от того, какую дату и время установить.
Ограничение редакции SE ?
Да. Active Session History является компонентом Active Workload Repository, который входит в Diagnostic Pack. А последний доступен как платная опция для Enterprise Edition.
...
Рейтинг: 0 / 0
v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
    #39277196
жвачкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://vsbabu.org/oracle/
полезная ссылка, может пригодится
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / v$ и запросы, которыми вы пользуетесь каждый день приходя на работу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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