Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2016.01.10;
Скачать: CL | DM;

Вниз

разный результат запросов напрямую к Ora и через линк   Найти похожие ветки 

 
OW ©   (2011-05-25 17:38) [0]

Пишу запрос к БД MSSQL

 SELECT*
 FROM openquery (SDMRD, "  --SDMRD - линк на oracle-сервер
select *
from SDMRD.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL
 ");
1274 rows

пишу к Oracle
select *
from SDMRD.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL
1311 записей выбрано

и так по нескольку раз - оба результата со временем меняются (+ одна две записи в минуту, это нормально, т.к. работа идет,
НО!
через линк их стабильно меньше на 50 примерно.
)

какая-то известная вещь/трабла?


 
OW ©   (2011-05-25 17:38) [1]

MySQL - случайно выбрал


 
OW ©   (2011-05-25 17:40) [2]

EL.EXPORT_END_DATE - тип столбца в oracle DATE, nullable


 
Кщд   (2011-05-26 07:35) [3]

1. Убедиться, что db_link и linked server настроены на одну и ту же базу/схему;
2. Заменить * на count(1), результаты сравнить;
3. Привести ddl создания таблицы;
4. create table tmp_OMS_EXPORT_LOG as select * from OMS_EXPORT_LOG. Повторить (2) для новой таблицы.


 
OW ©   (2011-05-26 08:52) [4]

1) да
2) также
3) forward
4) одинаково

3)
CREATE TABLE "OMS1"."OMS_EXPORT_LOG"
  ( "ID" NUMBER NOT NULL ENABLE,
"REQUEST_ID" NUMBER NOT NULL ENABLE,
"ROLE_ID" NUMBER NOT NULL ENABLE,
"EXT_SYSTEM_ID" NUMBER NOT NULL ENABLE,
"EXPORT_START_DATE" DATE NOT NULL ENABLE,
"EXPORT_END_DATE" DATE,
"IMPORT_START_DATE" DATE,
"IMPORT_END_DATE" DATE,
"WORKING_ID" NUMBER,
 CONSTRAINT "EXPORT_LOG_PK" PRIMARY KEY ("ID")
 USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS"  ENABLE,
 SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS,
 SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS,
 SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS
  ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS" ;

 CREATE UNIQUE INDEX "OMS1"."EXPORT_LOG_PK" ON "OMS1"."OMS_EXPORT_LOG" ("ID")
 PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS" ;

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" ADD CONSTRAINT "EXPORT_LOG_PK" PRIMARY KEY ("ID")
 USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS"  ENABLE;

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("ID" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("REQUEST_ID" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("ROLE_ID" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("EXT_SYSTEM_ID" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" MODIFY ("EXPORT_START_DATE" NOT NULL ENABLE);

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;

 ALTER TABLE "OMS1"."OMS_EXPORT_LOG" ADD SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS;


 
OW ©   (2011-05-26 08:56) [5]


> 1. Убедиться, что db_link и linked server настроены на одну
> и ту же базу/схему;

хотя, нет
для линка есть специальный пользователь SDMRD, у него нет своих таблиц

у него есть
 GRANT DELETE ON "OMS1"."OMS_EXPORT_LOG" TO "SDMRD";

 GRANT INSERT ON "OMS1"."OMS_EXPORT_LOG" TO "SDMRD";

 GRANT SELECT ON "OMS1"."OMS_EXPORT_LOG" TO "SDMRD";

 GRANT UPDATE ON "OMS1"."OMS_EXPORT_LOG" TO "SDMRD";


 
Кщд   (2011-05-26 09:09) [6]

>OW ©   (26.05.11 08:56) [5]
как согласуется:
>для линка есть специальный пользователь SDMRD, у него нет своих таблиц

с:

select *
from SDMRD.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL


?


 
Кщд   (2011-05-26 09:11) [7]

>OW ©   (26.05.11 08:52) [4]

>2) также
также - результаты равны?

>4) одинаково
одинаково - результаты равны?


 
OW ©   (2011-05-26 09:38) [8]


> как согласуется:
> >для линка есть специальный пользователь SDMRD, у него нет
> своих таблиц
> с
> select *
> from SDMRD.OMS_EXPORT_LOG EL
> where EL.EXPORT_END_DATE IS NOT NULL
> ?


у него есть гранты на эти таблицы. И данные видны.
Но не все, получается


> Кщд   (26.05.11 09:11) [7]

да
да


 
OW ©   (2011-05-26 10:01) [9]

похоже, опять из-за интерпретации NULL все..

к MSSQL
 SELECT*
 FROM openquery (SDMRD, "
select *
     from OMS_EXPORT_LOG EL
where (EL.EXPORT_END_DATE IS NULL or EL.EXPORT_END_DATE = """")
");
21 запись

к ORA
select *
     from OMS_EXPORT_LOG EL
where (EL.EXPORT_END_DATE IS NULL or EL.EXPORT_END_DATE = "")
27 записей


 
OW ©   (2011-05-26 10:10) [10]


> or EL.EXPORT_END_DATE = ""

не, это вообще ни к чему,
просто is null - те же результаты


 
OW ©   (2011-05-26 10:22) [11]

MSSQL
 SELECT *  FROM openquery (SDMRD, " select *   from OMS_EXPORT_LOG ");
 1304 записи
 EXEC ("select *  from OMS_EXPORT_LOG ") AT SDMRD;
 1304 записи

ORACLE
 select * from OMS_EXPORT_LOG
 1346 записей

пора админов грузить, это маразм какой то


 
Кщд   (2011-05-26 10:54) [12]

>OW ©   (26.05.11 10:22) [11]
темните
в условиях: для линка есть специальный пользователь SDMRD, у него нет своих таблиц

запрос:

select *
from SDMRD.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL

не будет выполняться.

Покажите реальные запросы и озвучьте инструмент(ы), из которого(ых) эти запросы выполняете.


 
Кщд   (2011-05-26 10:57) [13]

>OW ©   (26.05.11 10:22) [11]
ещё раз
запрос

select *   from OMS_EXPORT_LOG

выполненный под ползователем Oracle SDMRD, вернет данные из таблицы, расположенной в схеме SDMRD, а не OMS1.

каковы результаты на

select *
from OMS1.OMS_EXPORT_LOG EL
where EL.EXPORT_END_DATE IS NOT NULL

?


 
OW ©   (2011-05-26 12:33) [14]


> Кщд   (26.05.11 10:54) [12]
>
> >OW ©   (26.05.11 10:22) [11]
> темните

нет. Все исходные данные привел правильные.
http://zalil.ru/31124452
За исключением тех, о которых не знал, а именно:

Разобрался с вопросом, на самом деле.
Там был на логон именно этого юзера повешен админами БД триггер, который менял одну переменную, которая участвует в полайсах запроса.
т.е. некоторые записи для этого юзера были не видны.


 
OW ©   (2011-05-26 12:40) [15]


> одну переменную, которая участвует в полайсах запроса.

ну не так, разумеется, а в полайсах на таблицу, но суть не меняется, именно ему,SDMRD, "секретные" записи, определенные неким полем в таблице, не доступны


 
Кщд   (2011-05-26 12:45) [16]

либо на logon для пользователя SDMRD меняется текущая схема(на OMS1), либо на схеме SDMRD создан синоним для OMS_EXPORT_LOG.

без вариантов.


 
OW ©   (2011-05-26 12:47) [17]


>  либо на схеме SDMRD создан синоним для OMS_EXPORT_LOG

есть такое дело



Страницы: 1 вся ветка

Текущий архив: 2016.01.10;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.005 c
15-1430976616
SKIPtr
2015-05-07 08:30
2016.01.10
выполнить задание при спящем режиме


2-1404291103
Deled.
2014-07-02 12:51
2016.01.10
как вывести на печать с определенными параметрами?


4-1274796190
Monarch
2010-05-25 18:03
2016.01.10
Проблема с активацией окна


2-1404361144
lewka_s
2014-07-03 08:19
2016.01.10
Обновление программы


15-1431144818
MBo
2015-05-09 07:13
2016.01.10
С Днём Победы!