powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Каким запросом можно узнать текущий уровень изоляции Oracle Database 11g
4 сообщений из 4, страница 1 из 1
Каким запросом можно узнать текущий уровень изоляции Oracle Database 11g
    #39607930
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно вопрос в теме.
Спасибо!
...
Рейтинг: 0 / 0
Каким запросом можно узнать текущий уровень изоляции Oracle Database 11g
    #39607952
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Каким запросом можно узнать текущий уровень изоляции Oracle Database 11g
    #39607957
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viewer,

походу прав нету - пишет таблици или пользователя не существует
Этим же можно узнать:

SELECT s.sid, s.serial#,
CASE BITAND(t.flag, POWER(2, 28))
WHEN 0 THEN 'READ COMMITTED'
ELSE 'SERIALIZABLE'
END AS isolation_level
FROM v$transaction t, v$session s
WHERE t.addr = s.taddr
AND s.sid = 'myShema';
...
Рейтинг: 0 / 0
Каким запросом можно узнать текущий уровень изоляции Oracle Database 11g
    #39608462
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то здесь это уже звучало
trans_level
Код: 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.
create table trans_check as select * from dual
/

create package trans_level as
function is_readonly return boolean;
function is_serialize return boolean;
function level_name return varchar2;
end;
/

create package body trans_level as

DB_readonly exception;
cant_serialize exception;
pragma exception_init(DB_readonly, -1456);
pragma exception_init(cant_serialize, -8177);

function is_readonly return boolean is
begin
	savepoint a;
	update trans_check set dummy=dummy;
	rollback to a;
	return false;
exception
	when DB_readonly then
		return true;
end;

function is_serialize return boolean is
	val trans_check.dummy%type;

	procedure try_upd is
		pragma autonomous_transaction;
	begin
		update trans_check set dummy=dummy;
		commit;
	end;
begin
	savepoint a;
	select dummy into val from trans_check;
	try_upd;
	update trans_check set dummy=dummy;
	rollback to a;
	return false;
exception
	when cant_serialize then
		return true;
	when DB_readonly then
		return false;
end;

function level_name return varchar2 is
begin
	return case when is_readonly then 'READ ONLY'
		    when is_serialize then 'SERIALIZABLE'
		    else 'READ COMMITED'
		end;
end;

end;
/

...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Каким запросом можно узнать текущий уровень изоляции Oracle Database 11g
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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