Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 мониторинг открытых db link'ов  [new]
4dept
Member

Откуда:
Сообщений: 40
есть 2 базы оракл, на первой shared db link на вторую.
при определенных условиях выдается ora-02020, сервер shared.

поискал в инете - увеличение OPEN_LINKS с 4х до 100 (!) результата не дало.
при подключении под sys не показывает активные db линки других сессий
(select * from GV$DBLINK).

как узнать, сколько db link'ов активно и вообще что еще можно сделать?
14 окт 08, 15:43    [6304784]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
4dept
Member

Откуда:
Сообщений: 40
забыл написать, в первой базе представление, которое через public synonyms запрашивает 3 таблицы на 2м сервере
14 окт 08, 15:44    [6304791]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
Gallagher
Member

Откуда: ( ͡°◞ʖ◟ ͡°)
Сообщений: 542
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_admin.htm#sthref4178

DBA_DB_LINKS Lists all database links in the database.
ALL_DB_LINKS Lists all database links accessible to the connected user.
USER_DB_LINKS Lists all database links owned by the connected user
14 окт 08, 17:35    [6305618]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
4dept
Member

Откуда:
Сообщений: 40
Gallagher
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_admin.htm#sthref4178 DBA_DB_LINKS Lists all database links in the database. ALL_DB_LINKS Lists all database links accessible to the connected user. USER_DB_LINKS Lists all database links owned by the connected user
Я, конечно же, сначала посмотрел всю инфу, чтобы не спрашивать то, что можно найти самому) Там написано, цитирую:
автор
Determining Which Link Connections Are Open You may find it useful to determine which database link connections are currently open in your session. Note that if you connect as SYSDBA, you cannot query a view to determine all the links open for all sessions; you can only access the link information in the session within which you are working.
То есть во вьюшках V$DBLINK и GV$DBLINK показываются только линки в текущей сессии. А как тогда можно посмотреть линки других сессий?..
15 окт 08, 08:38    [6307064]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
4dept
Member

Откуда:
Сообщений: 40
Проблема решилась установкой большого значения параметра open_links_per_instance. Но все-таки интересно, как можно нормально мониторить все линки...
15 окт 08, 09:53    [6307281]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
4dept
Gallagher
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_admin.htm#sthref4178 DBA_DB_LINKS Lists all database links in the database. ALL_DB_LINKS Lists all database links accessible to the connected user. USER_DB_LINKS Lists all database links owned by the connected user
Я, конечно же, сначала посмотрел всю инфу, чтобы не спрашивать то, что можно найти самому) Там написано, цитирую:
автор
Determining Which Link Connections Are Open You may find it useful to determine which database link connections are currently open in your session. Note that if you connect as SYSDBA, you cannot query a view to determine all the links open for all sessions; you can only access the link information in the session within which you are working.
То есть во вьюшках V$DBLINK и GV$DBLINK показываются только линки в текущей сессии. А как тогда можно посмотреть линки других сессий?..
А Вы не заметили, что Вам посоветовали другие вьюхи?
15 окт 08, 10:10    [6307386]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
4dept
Member

Откуда:
Сообщений: 40
Jannny
4dept
Gallagher
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_admin.htm#sthref4178 DBA_DB_LINKS Lists all database links in the database. ALL_DB_LINKS Lists all database links accessible to the connected user. USER_DB_LINKS Lists all database links owned by the connected user
Я, конечно же, сначала посмотрел всю инфу, чтобы не спрашивать то, что можно найти самому) Там написано, цитирую:
автор
Determining Which Link Connections Are Open You may find it useful to determine which database link connections are currently open in your session. Note that if you connect as SYSDBA, you cannot query a view to determine all the links open for all sessions; you can only access the link information in the session within which you are working.
То есть во вьюшках V$DBLINK и GV$DBLINK показываются только линки в текущей сессии. А как тогда можно посмотреть линки других сессий?..
А Вы не заметили, что Вам посоветовали другие вьюхи?
Это просто доступные db link'и, а нужны активные (Determining Which Link Connections Are Open)
15 окт 08, 10:18    [6307449]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18487
4dept
сервер shared.
А линки?
15 окт 08, 10:28    [6307499]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
4dept
Это просто доступные db link'и, а нужны активные (Determining Which Link Connections Are Open)
А.. ИМХО никак :(
15 окт 08, 11:01    [6307754]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
dba123
Guest
Jannny
4dept
Это просто доступные db link'и, а нужны активные (Determining Which Link Connections Are Open)
А.. ИМХО никак :(
автор, м.б. Вы о сессиях через линк?
тогда смотрите v$session
15 окт 08, 11:46    [6308146]     Ответить | Цитировать Сообщить модератору
 Re: мониторинг открытых db link'ов  [new]
4dept
Member

Откуда:
Сообщений: 40
dba123
Jannny
4dept
Это просто доступные db link'и, а нужны активные (Determining Which Link Connections Are Open)
А.. ИМХО никак :(
автор, м.б. Вы о сессиях через линк?
тогда смотрите v$session

Да, имелось в виду соединения через линки, конечно. Спасибо, гляну
15 окт 08, 13:13    [6308858]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: мониторинг открытых db link'ов  [new]
vaneque
Member

Откуда: Тверь
Сообщений: 168
Привет ораклоидам. Тема древняя, но столкнулся с такой же проблемой.

Курил маны, понял смысл параметра open_links, его увеличение помогает избежать ошибок ORA-02020: too many database links in use. Но мне интересно, какая сессия открывает столько дибилинков.

Вопрос заключается в том, можно ли получить информацию о сессиях к БД и кол-ве открытых дибилинков в ней? Я понимаю, что такое уровни изоляции транзакций и что такое V$DBLINK, но может это все-таки возможно?

Версия Oracle 11.2.0.4.0 EE.

Нашел запрос, который помогает получить все сессии, использующие дибилинки, но их очень много - работает куча серверов, взаимодействующих с БД.

select /*+ ORDERED */
substr(s.ksusemnm,1,10)||'-'|| substr(s.ksusepid,1,10)      "ORIGIN",
substr(g.K2GTITID_ORA,1,35) "GTXID",
substr(s.indx,1,4)||'.'|| substr(s.ksuseser,1,5) "LSESSION" ,
s2.username,
substr(
   decode(bitand(ksuseidl,11),
      1,'ACTIVE',
      0, decode( bitand(ksuseflg,4096) , 0,'INACTIVE','CACHED'),
      2,'SNIPED',
      3,'SNIPED',
      'KILLED'
   ),1,1
) "S",
substr(w.event,1,10) "WAITING"
from  x$k2gte g, x$ktcxb t, x$ksuse s, v$session_wait w, v$session s2
where  g.K2GTDXCB =t.ktcxbxba
and   g.K2GTDSES=t.ktcxbses
and  s.addr=g.K2GTDSES
and  w.sid=s.indx
and s2.sid = w.sid;


Кусок результата, немного завуалированный декодом

"SERVER""GTXID""LSESSION""USERNAME""S""WAITING"
"server1""62?""3.55613""USER1""I""SQL*Net me"
"server1""6'??'x""22.21199""USER1""I""SQL*Net me"
"server1""3??'x""28.44675""USER1""I""SQL*Net me"
"server1""3???'x""299.1105""USER1""I""SQL*Net me"
"server1"".???'x""334.53169""USER1""I""SQL*Net me"
"server4""1?F""584.36027""USER2""I""SQL*Net me"
"server1""08??'x""609.61349""USER1""I""SQL*Net me"
"server1""1w??'x""623.109""USER1""I""SQL*Net me"
"server1""64?""888.49275""USER2""I""SQL*Net me"
"server1""3??'x""901.2349""USER1""I""SQL*Net me"
"server1""6)??'x""1167.42041""USER1""I""SQL*Net me"
"server1""2+??'x""1178.42993""USER1""I""SQL*Net me"
"server1""3)??'x""1185.48313""USER1""I""SQL*Net me"
"server1""6%??'x""1191.4525""USER1""I""SQL*Net me"
"server1""4???'x""1196.40055""USER1""I""SQL*Net me"
"server1""5B??'x""1198.22557""USER1""I""SQL*Net me"
"server1""0???'x""1472.56195""USER1""I""SQL*Net me"
"server1""0?y ""1491.64765""USER1""I""SQL*Net me"
"server1""10??'x""1492.7765""USER1""I""SQL*Net me"
"server1""/???'x""1493.53199""USER1""I""SQL*Net me"
"server1""3'??'x""1495.32859""USER1""I""SQL*Net me"
"server1""4{??'x""1747.54105""USER1""I""SQL*Net me"
"server1""5""??'x""1758.52759""USER1""I""SQL*Net me"
"server1""2F??'x""1779.33341""USER1""I""SQL*Net me"
"server1""6+??'x""2040.51257""USER1""I""SQL*Net me"
"server1""2???'x""2052.55039""USER1""I""SQL*Net me"
"server1""5?y ""2054.1125""USER1""I""SQL*Net me"


Можно ли получить кол-во открытых дибилинков для каждой сессии?
11 авг 16, 11:38    [19528464]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить