откат оракула меняется через несколько транзакций - PullRequest
0 голосов
/ 27 августа 2011

Можно ли отслеживать изменения, внесенные в сеансовые транзакции? Мне нужно как-то отслеживать все изменения, которые вносятся в мою сессию. Это необходимо для целей тестирования - после завершения теста мне нужно удалить все изменения, сделанные во время этого теста, поэтому я смогу снова запустить этот тест без изменений.

Ответы [ 2 ]

5 голосов
/ 27 августа 2011

У вас есть несколько вариантов, чтобы справиться с этой ситуацией - поскольку вы не предоставляете много подробностей, я могу лишь дать некоторые общие указания:

  • временных таблиц (глобальный vsersus для конкретного сеанса, вы можете сохранить или автоматически выбрасывать его). См. http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/tables003.htm

  • Область воспоминаний - это можнооткатите всю БД до определенного момента времени и, таким образом, отмените все изменения в нескольких транзакциях, см. http://www.oracle.com/technetwork/database/features/availability/flashback-overview-082751.html

  • создание сценариев «подготовки» для ваших тестовых сценариев, которые перед каждым сбросом БД в известное состояниетест

0 голосов
/ 27 августа 2011

Есть много вещей, которые вы можете сделать с oracle как администратор, особенно если ваша тестовая база данных находится в файловой системе, которая поддерживает снимки.

Однако, если вы смотрите на это с точки зрения модульного теста исключительно как на разработчика, самый безопасный / чистый способ справиться с чем-то подобным:участвующий в тесте

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