Форум: "Базы";
Текущий архив: 2016.01.10;
Скачать: [xml.tar.bz2];
Внизразный результат запросов напрямую к 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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.002 c