Доступ для записи
В разделе Буферизация данных, основы уже упоминалось, что данные могут буферизироваться без подключения к БД (доступ только для записи), но их считывание из буфера невозможно (доступ только для считывания). Соответственно, буферизированные данные могут записываться в базу данных и считываться только после установления подключения к базе данных.
Ограничения буферизации данных
В случае длительного отсутствия подключения к базе данных, необходимо установить ограничение в Конфигурации РБД, в опции “Number of blocks on HDD” («Количество блоков на жестком диске») (МБ, Гб или в процентном соотношении). Это важно в случае недостаточного объема памяти ОЗУ и жесткого диска и, следовательно, данные не могут буферизироваться и, соответственно, могут быть потеряны.
Обеспечение возможности буферизации данных
Буферизацию данных можно активировать при помощи элемента внутренней точки данных «stopWriteToDB«, тип «_RDBArchive«.
stopWriteToDB = 1
Блоки данных не записываются в базу данных, а буферизируются в памяти, на жестком диске, соответственно. То есть, моделируется то же поведение, как во время отключения от базы данных. В случае отключения и повторного подключения к базе данных, блоки данных по-прежнему буферизируются и не записываются в базу данных, если значение элемента точки данных равно 1.
stopWriteToDB = 0
Значение по умолчанию. После установления подключения к БД, данные записываются непосредственно в базу данных. Если значение «stopWriteToDB» было равно 1, а затем было установлено 0, запись буферизированных данных в БД осуществляет менеджер РБД.
В случае резервированной системы, этот элемент точки данных должен иметь одинаковое значение на обоих компьютерах, для обеспечения одинакового поведения после перехода из активного / пассивного режима. Это означает, что если значение этого элемента точки данных было равно 1 на активном компьютере и 0 на пассивном компьютере, пассивный компьютер записывает буферизированные блоки данных в базу данных после перехода.
Запуск менеджера РБД с буферизации и без подключения к базе данных
Следующая инструкция описывает возможность запуска менеджера РБД с автоматической буферизацией, при отсутствии подключения к базе данных, во время запуска проекта «КАСКАД Цифра», в связи с тем, что сервер Oracle еще не запущен.
Перед запуском менеджера РБД необходимо задать значения обоих элементов внутренней точки данных:
- _RDBArchive.connection.closeDBConnection = 1
- _RDBArchive.connection.openDBConnection = 0
После запуска базы данных, задавать значения можно только для одного из этих элементов точки данных. Второй элемент отображает состояние.
С помощью следующих шагов можно обеспечить постоянное наличие значения 1 или 0 для этих элементов внутренней точки данных.
- Открыть модуль «КАСКАД Цифра» PARA.
- Установить флажок в селекторе «Internal data points» («Внутренние точки данных»).
- Выбрать элемент точки данных «_RDBArchive.dbConnection.closeDBConnection«.
- Установить значение, равное «1«.
- Нажмите Apply (Применить).
- Отключить бит «Last value«.
- Повторно нажать «Apply«.
- Выбрать элемент точки данных «_RDBArchive.dbConnection.openDBConnection«.
- Установить значение, равное «0«. Таким образом, обеспечивается отсутствие немедленного подключения к базе данных.
- Нажмите Apply (Применить).
- Отключить бит «Last value«.
- Повторно нажать «Apply«.
- В случае применения резервированного проекта «КАСКАД Цифра», следует убедиться в применении установленных значений на пассивном компьютере.
- Выбрать элемент точки данных «_RDBArchive_2.dbConnection.closeDBConnection«.
- Установить значение, равное «1«.
- Нажмите Apply (Применить).
- Отключить бит «Last value«.
- Повторно нажать «Apply«.
- Выбрать элемент точки данных «_RDBArchive_2.dbConnection.openDBConnection«.
- Установить значение, равное «0«. Таким образом, обеспечивается отсутствие немедленного подключения к базе данных.
- Нажмите Apply (Применить).
- Отключить бит «Last value«.
- Повторно нажать «Apply«.
- В случае применения резервированного проекта «КАСКАД Цифра», следует убедиться в применении установленных значений на пассивном компьютере.
Активация подключения к базе данных осуществляется по истечении установленного периода времени задержки. Для определения установки подключения к базе данных, следует использовать команду «tnsping <connect_identifier>«. Для этого необходимо вызвать команду «tnsping» в функции «system()» сценария CTRL.
ПРИМЕР
main()
{
string out;
out = system(«tnsping EITST077_DB11g»);
DebugN(out);
}
Результат фиксируется в средстве просмотра журнала «КАСКАД Цифра».
Тем не менее, в случае успешного завершения установки подключения к базе данных, необходимо подождать около 3 минут до завершения полной загрузки сервера Oracle. После чего подключение можно возобновлять:
- Задав значение элемента точки данных «_RDBArchive.dbConnection.openDBConnection» равное 1 для «host 1».
- Задав значение элемента точки данных «_RDBArchive_2.dbConnection.openDBConnection» равное 1 для «host 2», в случае использования резервированного проекта.