Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разные результаты по одному запросу... / 25 сообщений из 43, страница 1 из 2
28.08.2017, 13:13
    #39511576
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Люди, помогите разобраться в причине того, что по одному запросу выдаются разные данные (по времени).
Есть запрос:
Код: 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.
 select
   ffr.ID,
   ffr.ReestrNumber,
   ffr.ReestrDate,
   ffr.ReestrType,
   ffr.ReestrTypeEx,
   ffr.FictiveDoc,
   ffr.Accepted,
   ffr.FacialAcc_Cls,
   ffr.Summa,
   ffr.BudgetRef,
   ffr.SessionNumber,
   ffr.PacketNumber,
   ffr.Note,
   ffr.DepartmentCls,
   ffr.DocStateRef,
   ffr.CryptoStatus,
   ffr.RVersion,
   ffr.CreaterUser,
   ffr.CreateDate,
   ffr.UpdaterUser,
   ffr.UpdateDate ,
   ffc.Credit,
   ffc.Reject_CLS,
   pde.id SendID,
   rp.DisableDelCount,
   rp.ParentBlockCount,
   rp.ChildBlockCount,
   rp.COMMONPICTURECOUNT,
   rp.UNIQUEPICTURECOUNT,
   rp.RejectCount

 from
   FacialFinReestr ffr
   left join RecordParams rp on (ffr.id = rp.id)
   left join FacialFinCaption ffc on (ffc.Reestr_ref = ffr.id)
   left join PAYDOCEXCHANGE pde on (pde.PAYDOCREF=ffc.id and (pde.TypeInf BETWEEN 0 and 10))

 where
   (1=1)
   
   
and (ffr.BudgetRef=858905)and ((ffr.ReestrDate between 20170828 and 20170828))


Результат по одному значению:
415019439196-1/1957520170828 12010102498042.628589050 30717 5 28.08.2017 11:46:20 11416
Комменчу любое поле в запросе
Код: 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.
 select
   ffr.ID,
   ffr.ReestrNumber,
   ffr.ReestrDate,
   ffr.ReestrType,
   ffr.ReestrTypeEx,
   ffr.FictiveDoc,
   ffr.Accepted,
 --  ffr.FacialAcc_Cls,
   ffr.Summa,
   ffr.BudgetRef,
   ffr.SessionNumber,
   ffr.PacketNumber,
   ffr.Note,
   ffr.DepartmentCls,
   ffr.DocStateRef,
   ffr.CryptoStatus,
   ffr.RVersion,
   ffr.CreaterUser,
   ffr.CreateDate,
   ffr.UpdaterUser,
   ffr.UpdateDate ,
   ffc.Credit,
   ffc.Reject_CLS,
   pde.id SendID,
   rp.DisableDelCount,
   rp.ParentBlockCount,
   rp.ChildBlockCount,
   rp.COMMONPICTURECOUNT,
   rp.UNIQUEPICTURECOUNT,
   rp.RejectCount

 from
   FacialFinReestr ffr
   left join RecordParams rp on (ffr.id = rp.id)
   left join FacialFinCaption ffc on (ffc.Reestr_ref = ffr.id)
   left join PAYDOCEXCHANGE pde on (pde.PAYDOCREF=ffc.id and (pde.TypeInf BETWEEN 0 and 10))

 where
   (1=1)
   
   
and (ffr.BudgetRef=858905)and ((ffr.ReestrDate between 20170828 and 20170828))


Результат:
415019439196-1/19575201708281201012498042.628589050 30750 8 28.08.2017 12:24:22 11416
КАК????
...
Рейтинг: 0 / 0
28.08.2017, 13:17
    #39511579
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Сергей из СамарыКАК????Зри в план.
...
Рейтинг: 0 / 0
28.08.2017, 13:22
    #39511585
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Планы для двух запросов не отличаются
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT STATEMENT, GOAL = ALL_ROWS			10184	3609	606312	ALL_ROWS
 RESULT CACHE		2rvhvfg157q7j5r8v7g9vsmyc6				
  HASH JOIN OUTER			10184	3609	606312	
   NESTED LOOPS OUTER			1065	3609	544959	
    NESTED LOOPS OUTER			89	41	5412	
     TABLE ACCESS BY INDEX ROWID	BUDGET2017	TB_FACIALFINREESTR	7	41	4387	ANALYZED
      INDEX RANGE SCAN	BUDGET2017	IDX_FACIALFINREESTR_REESTRDATE	1	41		ANALYZED
     TABLE ACCESS BY INDEX ROWID	BUDGET2017	RECORDPARAMS	2	1	25	ANALYZED
      INDEX UNIQUE SCAN	BUDGET2017	PK_RECORDPARAMS_ID	1	1		ANALYZED
    TABLE ACCESS BY INDEX ROWID	BUDGET2017	TB_FACIALFINCAPTION	24	88	1672	ANALYZED
     INDEX RANGE SCAN	BUDGET2017	FK_FCFINCAPT_REESTRREF	2	88		ANALYZED
   TABLE ACCESS FULL	BUDGET2017	PAYDOCEXCHANGE	9114	1472465	25031905	ANALYZED
...
Рейтинг: 0 / 0
28.08.2017, 14:23
    #39511644
rpovarov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
28-е ещё не кончилось, может там данные добавляются в таблицы?
...
Рейтинг: 0 / 0
28.08.2017, 14:24
    #39511645
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Сергей из Самары,

ffr.ReestrDate тип number?

может не все фетчите?

.....
stax
...
Рейтинг: 0 / 0
28.08.2017, 14:32
    #39511660
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Записи в таблицах длинные?
Сколько полей?
Не exadata часом (storage servers)?
...
Рейтинг: 0 / 0
28.08.2017, 14:50
    #39511684
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
автор28-е ещё не кончилось, может там данные добавляются в таблицы?
Нет. 30717 - это состояние документа, которое меняется в зависимости от выбора пользователей. Оно достаточно жестко прописано и меняться произвольно не может. В настоящий момент состояние документа 30750. Почему в первом запросе выдается состояние документа в прошлом, непонятно.

авторffr.ReestrDate тип number?

может не все фетчите?
Фетчу все, иначе не нашел бы документ нужный. Да, нумбер. В базе хранится в виде - годмесяцдата

авторЗаписи в таблицах длинные?
Сколько полей?
Не exadata часом (storage servers)?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
ID	        NUMBER(10)	N			
REESTRNUMBER	VARCHAR2(50)	N			
REESTRDATE	NUMBER	        N			
REESTRTYPE	NUMBER(10)	Y			
ACCEPTED	NUMBER(10)	N			
SESSIONNUMBER	NUMBER(10)	Y			
BUDGETREF	NUMBER(10)	N			
CREATERUSER	VARCHAR2(30)	N			
CREATEDATE	DATE	N			
UPDATEDATE	DATE	N			
UPDATERUSER	VARCHAR2(30)	N			
PACKETNUMBER	VARCHAR2(20)	Y			
FICTIVEDOC	NUMBER(10)	Y			
FACIALACC_CLS	NUMBER(10)	N			
SUMMA  	        NUMBER(15,2)	N	0		
NOTE	        VARCHAR2(255)	Y			
REESTRTYPEEX	NUMBER(10)	N			
RECORDINDEX	NUMBER(10)	Y			
DOCSTATEREF	NUMBER(10)	Y			
RVERSION        NUMBER(10)	Y	0		
CRYPTOSTATUS	NUMBER(10)	Y			
DEPARTMENTCLS	NUMBER(10)	N			


Нет, не exadata
...
Рейтинг: 0 / 0
28.08.2017, 14:57
    #39511699
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
авторНет. 30717 - это состояние документа, которое меняется в зависимости от выбора пользователей. Оно достаточно жестко прописано и меняться произвольно не может. В настоящий момент состояние документа 30750. Почему в первом запросе выдается состояние документа в прошлом, непонятно.
В общем, в результате этой катавасии получается следующее. Документ последовательно провели по состояниям и он стал 30750. Сейчас из этого состояния его надо отправлять в УФК? Пользователь открывает документ и видит, что его состояние 30717 из которого отправлять его нельзя, что программа и сообщает. Но в базе документ хранится в состоянии 30750.
...
Рейтинг: 0 / 0
28.08.2017, 15:00
    #39511704
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Сергей из Самары,

Может первый селект был запущен в промежутке 28.08.2017 11:46:20 и 28.08.2017 12:24:22 - и он показал состояние на момент запуска а именно 30717. Второй соответственно был запущен после 28.08.2017 12:24:22 - и показал состояние 30750
...
Рейтинг: 0 / 0
28.08.2017, 15:03
    #39511710
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Сергей из СамарыПользователь открывает документ и видит, что его состояние 30717

А программа пользователя перечитывает данные или работает со своим выбранным ранее набором?
...
Рейтинг: 0 / 0
28.08.2017, 15:05
    #39511711
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
[quot Сергей из Самары]
Результат по одному значению:
415019439196-1/1957520170828 12010102498042.62858905030717 5 28.08.2017 11:46:2011416 тут тоже отличие
...
Рейтинг: 0 / 0
28.08.2017, 15:06
    #39511715
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Поясню. Состояние "Завизировано выпускающим" и есть 03.07.17
Но в истории изменение видно, что документ уже давно ушел в состояние 03.07.60 - передан на отправку. Но на экране он по прежнему отображается в 17 состоянии.
...
Рейтинг: 0 / 0
28.08.2017, 15:09
    #39511720
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
MaximaXXL,

Я из девелопера уже запускаю селект. Логом вычленил запрос и играюсь с ним. Результат - первый пост.

автортут тоже отличие
Отличаются все поля, данные в которых изменились за то время. Обратите внимание на последнее поле в таблице - это UPDATEDATE То есть дата последнего изменения записи.
...
Рейтинг: 0 / 0
28.08.2017, 15:11
    #39511722
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Что-то изображение не прикрепилось
...
Рейтинг: 0 / 0
28.08.2017, 17:35
    #39511827
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Сергей из Самары,

А не может быть такого что программа видит только изменения зашедшего в него пользователя, и MIRONOVA_0215 сможет увидеть только СВОИ изменения, а финальное у нее 307017.
В свою очередь Админ видит все ... что и показано на скрине.
...
Рейтинг: 0 / 0
28.08.2017, 17:55
    #39511836
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
MaximaXXLСергей из Самары,

А не может быть такого что программа видит только изменения зашедшего в него пользователя, и MIRONOVA_0215 сможет увидеть только СВОИ изменения, а финальное у нее 307017.
В свою очередь Админ видит все ... что и показано на скрине.

Поддержу...когда такая непонятка с запросами скорее всего dbms_rls приложил свою руку.
Начинаем с
Код: plsql
1.
select * from ALL_POLICIES 
...
Рейтинг: 0 / 0
28.08.2017, 18:32
    #39511851
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
запрос выдаёт одну строку или несколько?
Сортировка есть?
...
Рейтинг: 0 / 0
29.08.2017, 06:13
    #39511963
AnSi_Sr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
irbis_alПоддержу...когда такая непонятка с запросами скорее всего dbms_rls приложил свою руку.

Встречал реализацию, сходную с rls, через экранирование таблиц для пользователей одноименными представлениями (view) с ограничением прав доступа.
...
Рейтинг: 0 / 0
29.08.2017, 08:00
    #39511979
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
MaximaXXL,

Нет. Я-то заходил под администратором

авторзапрос выдаёт одну строку или несколько?
Сортировка есть?
Несколько. Сортировку делаю средствами программы локально.

авторВстречал реализацию, сходную с rls, через экранирование таблиц для пользователей одноименными представлениями (view) с ограничением прав доступа.
Сам такое делал, но тут не тот случай.

авторПоддержу...когда такая непонятка с запросами скорее всего dbms_rls приложил свою руку.
Начинаем с

select * from ALL_POLICIES

Сейчас буду курить в эту сторону. Но с таким я не сталкивался еще и мало знаком. Кстати, запрос выдал пусто.
...
Рейтинг: 0 / 0
29.08.2017, 09:09
    #39511996
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Сергей из Самары,

Код: plsql
1.
select * from ALL_POLICIES 


Надо под DBA делать.
...
Рейтинг: 0 / 0
29.08.2017, 09:48
    #39512018
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
irbis_al,

Я и под SYS делал
...
Рейтинг: 0 / 0
29.08.2017, 09:59
    #39512025
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Сергей из Самарыirbis_al,

Я и под SYS делал
Тогда dbms_rls думаю отпадает.
возможно какой-то бок..
Сталкивался пару раз с таким...обычно помогала перезагрузка...если невозможно
то,помогало
alter system flush shared_pool
Вы дамп можете поднять на тестовом окружении.Или rman копию.
И там если нормально всё ...значит бок.
...
Рейтинг: 0 / 0
29.08.2017, 10:14
    #39512036
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
irbis_alобычно помогала перезагрузка...А как же дверями похлопать, окна пооткрывать?
irbis_al...значит бокПравый или левый?
...
Рейтинг: 0 / 0
29.08.2017, 10:18
    #39512042
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
Сергей из Самарыавторзапрос выдаёт одну строку или несколько?
Сортировка есть?
Несколько. Сортировку делаю средствами программы локально.в запросе все-таки несколько строк, и ты их потом сортируешь? Может, сортировка не так работает?
...
Рейтинг: 0 / 0
29.08.2017, 10:50
    #39512068
Сергей из Самары
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разные результаты по одному запросу...
andreymx,

Если задать условие в where то выдает правильный результат, если запустить изначальный запрос, то даже без сортировки, если найти запись, то выдается некорректная запись. Может действительно что-то с планом не так и стоить очистить шаред пул. Но это лучше в обед сделать, наверное
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разные результаты по одному запросу... / 25 сообщений из 43, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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