powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Log Miner
15 сообщений из 15, страница 1 из 1
Log Miner
    #32140172
_kozyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Подскажите пожалуйста, есть ли гарантия выдачи строк из представления V$LOGMNR_CONTENTS в нужном порядке. В Administrator's Guide 9i сказано:

When a SQL select operation is executed against the V$LOGMNR_CONTENTS view,
the redo logs are read sequentially. Translated information from the redo logs is
returned as rows in the V$LOGMNR_CONTENTS view.

Но гарантирует ли "read sequentially", что мой запрос без указания ORDER BY будет выводить изменения в том порядке, в котором они выполнялись в БД. Заренее спасибо.
...
Рейтинг: 0 / 0
Log Miner
    #32140251
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чём трудность использования ORDER BY для столбца SCN?
...
Рейтинг: 0 / 0
Log Miner
    #32140259
_kozyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я знаю, SCN уникален в рамках транзакции, в которой может быть целая цепочка операторов DML.
...
Рейтинг: 0 / 0
Log Miner
    #32140260
_kozyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного неточно выразился. Для всей транзакции SCN будет одним и тем же
...
Рейтинг: 0 / 0
Log Miner
    #32140474
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А там еще время есть. Если еще и по времени?
...
Рейтинг: 0 / 0
Log Miner
    #32140786
_kozyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Время не подходит - TIMESTAMP и COMMIT_TIMESTAMP с типом DATE - точность до секунды. У меня за секунду иногда сотни DML успевают проскакивать. Что характерно в примерах по Supplied PL/SQL Packages и Administration Guide нигде нет ORDER BY в SELECT на V$LOGMNR_CONTENTS. Надо ли делать сортировку? Смущает, что Oracle не гарантирует порядка вывода записей, если не указан ORDER BY. V$LOGMNR_CONTENTS исключение из этого правила?
...
Рейтинг: 0 / 0
Log Miner
    #32140896
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если не трудно, дай полный select * from LOGMNR_CONTENTS для одной транзакции с несколькими операторами
...
Рейтинг: 0 / 0
Log Miner
    #32140971
_kozyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю как отформатировать выборку - в V$LOGMNR_CONTENTS много стобцов. Будет сложно читать в форуме. Вот скрипт SQL*Plus с примером:

Код: plaintext
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.
var current_log char( 255 )

execute select max(member) into :current_log from v$log l, v$logfile f where l.group#=f.group# and l.status='CURRENT'

execute sys.dbms_logmnr.add_logfile(:current_log, sys.dbms_logmnr.new)

execute sys.dbms_logmnr.start_logmnr(options=>sys.dbms_logmnr.dict_from_online_catalog);

drop table logmnr_test01;

create table logmnr_test01(id number primary key, value number);

begin
  for j in  1 .. 10  loop
    insert into logmnr_test01 values(j,j);
  end loop;
  commit;
end;
/


select *
from v$logmnr_contents
where seg_owner=USER
and seg_name = 'LOGMNR_TEST01'
/
...
Рейтинг: 0 / 0
Log Miner
    #32141036
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скрипт мне нужно, мне надо данные.
Неуже ли трудно сделать в sqlplus:
spool log_cont;
set echo off;
select * from V$LOGMNR_CONTENTS where = 'условия'
spool off;
И файл прислать.
Лучше зиппованный.
...
Рейтинг: 0 / 0
Log Miner
    #32141075
_kozyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так вам его по e-mail отправить?
...
Рейтинг: 0 / 0
Log Miner
    #32141084
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ok
...
Рейтинг: 0 / 0
Log Miner
    #32141149
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл получил, но если честно трудно его анализировать поскольку одна запись не умещается в одну строку на экране.
Сделай set linesize так, что-бы умещалось.
И еще : я обратил внимание, что у тебя там мало DML, а COMMIT вообще нет.
Для того что-бы нормально было проанализировать нужно последовательность
DML _ операторов в одной транзакции.

Типа:
commit;
insert...
update...
delete...
commit;

Если можно еще раз сделай.
...
Рейтинг: 0 / 0
Log Miner
    #32141177
_kozyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже с set linesize 32767 так, как надо не получается. Устроит в формате CSV? На счет COMMIT я не понял. Я смотрю в LogMiner результат выполнения блока:

Код: plaintext
1.
2.
3.
4.
5.
6.
begin
  for j in  1 .. 10  loop
    insert into logmnr_test01 values(j,j);
  end loop;
  commit;
end;
/


10 Insert'ов в 1 транзакции. Что не так?
...
Рейтинг: 0 / 0
Log Miner
    #32141227
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
commit тоже должен быть во вью.
А у тебя их нет вообще.
Это конечно нормально, так как ты коммитишь неявно с помощью DDL.

А в последнем примере всё нормально
...
Рейтинг: 0 / 0
Log Miner
    #32142791
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я работаю с 8i и в Admin Guide не нашёл никакого упоминания про LogMiner.
Судя по тому что V$LOGMNR_CONTENTS - это не просто вью и не просто таблица, возможно она так устроена, что данные действительно будут получены последовательно.
Может есть смысл покапать по поводу столбцов RBABLK и UBAREC, значения которых имеют уникальные значения в твоём примере и возврастают по мере выполнения новых операторов.

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


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