Вопрос, связанный с выбором данных из секционированной таблицы - PullRequest
0 голосов
/ 19 ноября 2018

Я прошу прощения за мой новый статус. Я редко обращаюсь за помощью, потому что пытаюсь исчерпать все возможности, прежде чем обременить кого-то своей проблемой:)

Во всяком случае, я пытаюсь выяснить, как это возможно. Сначала позвольте мне объяснить, как работает конкретная работа и БД, с которой я имею дело

Oracle Database 11g Enterprise Edition, выпуск 11.2.0.4.0 - 64-разрядная версия PL / SQL Release 11.2.0.4.0 - Производство CORE 11.2.0.4.0 Производство TNS для Linux: версия 11.2.0.4.0 - производство NLSRTL Версия 11.2.0.4.0 - Производство

Итак, у нас есть эта конкретная работа в схеме хранилища данных (DW_SCHEMA):

  1. DW_SCHEMA запускает запланированное задание с именем JB_DW_WAIT_LIST
  2. JB_DW_WAIT_LIST запускает только процедуру с именем PROC_DW_WAIT_LIST
  3. Процедура PROC_DW_WAIT_LIST делает только две вещи
    • усекает таблицу DW_SCHEMA.DW_LIST_REPORT
    • вставляет значения в DW_SCHEMA.DW_LIST_REPORT из представления в другой схеме LAST1 с именем LAST1.WAIT_LIST_VIEW

Немного о LAST1.WAIT_LIST_VIEW. Все, что это делает, это ищет конкретные значения из многораздельной таблицы с именем LAST1.DW_TABLE. Эта таблица имеет два раздела на основе кода причины. P1 - код = 10, а P2 - остальное.

Вот здесь и появляется проблема. Задание должно содержать примерно 21 тыс. Строк для вставки в DW_SCHEMA.DW_LIST_REPORT. Результат составил всего 132 записи. После некоторого анализа я пришел к выводу, что после завершения задания он будет смотреть только на первый раздел (который содержит 132 записи). Мы обнаруживаем, что в схеме от DW_SCHEMA до LAST1.DW_TABLE отсутствовали привилегии выбора. После предоставления этого и запуска задания под DW_SCHEMA ожидаемые записи 21k обнаружились.

Так что это исправило эту проблему, но потом возник новый вопрос. Как это вообще случилось? Если привилегий SELECT не было, единственное, на что он смотрел, был первый раздел, но после предоставления привилегии просматривалась вся таблица (обе разделены). У меня есть ощущение, что это может быть связано с привилегиями, но я не вижу причин, почему это так. Буду признателен за любую помощь в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...