Администрирование БД [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
dpi:dpi_components:platform:dpi_admin:admin_db [2018/02/02 07:15] – создано lexx26dpi:dpi_components:platform:dpi_admin:admin_db [2024/09/26 15:29] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 ====== Администрирование БД ====== ====== Администрирование БД ======
 {{indexmenu_n>2}} {{indexmenu_n>2}}
-Встроенная БД не требует администрирования и устойчива к отказам.+ 
 +UDR (встроенная база данных, user data repository) предназначена для постоянного хранения данных об услугах и настройках 
 +полисинга для абонентов оператора.\\ 
 + 
 +**Список таблиц в БД** 
 +^ Таблица            ^ Назначение                                                   ^ 
 +| bindings           | Связь login и адреса                                         | 
 +| bindings_multi     | Связь login и адреса для мультиабонентов (с несколькими IP)  | 
 +| ip_props           | Свойства абонентов BRAS                                      | 
 +| policing           | Настройки полисинга для абонентов                            | 
 +| profile_names      | Имена профилей                                               | 
 +| profiles           | Профили услуг и полисинга                                    | 
 +| services           | Настройки услуг для абонентов                                | 
 +| vchannel_policing  | Настройки полисинга для каналов                              | 
 + 
 + 
 +==== Активация встроенной БД ==== 
 + 
 + <note important>Активация UDR требуется в обязательном порядке при использовании 
 +динамических IP адресов и для поддержки абонентов с несколькими IP.</note> 
 +Активация UDR осуществляется настроечным параметром в файле **///etc/dpi/fastdpi.conf//** 
 +<code> 
 +udr=1 
 +</code> 
 +Созданная база данных размещается в каталоге **///var/db/dpi //**  
 + 
 +<note important>Сделать копию БД можно без остановки dpi командой резервного копирования 
 +<code>mdb_copy /var/db/dpi ./DB</code> 
 +и выполнять дальнейшие манипуляции над копией БД. 
 +</note> 
 + 
 +==== Увеличение размера БД ==== 
 +По умолчанию размер БД ограничен 1GB,  
 +если у вас количество профилей полисинга превышает 1 млн, 
 +то потребуется увеличить размер по умолчанию: 
 +<code>udr_size=2147483648</code> 
 +установит размер БД в 2GB 
 + 
 + 
 +<note>Встроенная БД не требует администрирования и устойчива к отказам.
 Тем не менее в редких случаях происходило повреждение встроенной БД. Тем не менее в редких случаях происходило повреждение встроенной БД.
-В этом случае возможны следующие варианты действий: +В этом случае возможны следующие варианты действий:</note> 
-  - удаление БД и загрузка в нее данных заново <code> + 
-Останавливаем dpi + 
-service fastdpi stop + 
-Удаляем БД + 
-/bin/rm /var/db/dpi/* + 
-Запускаем dpi +==== Восстановление БД с переносом данных ==== 
-service fastdpi start +Останавливаем fastDPI <code> service fastdpi stop</code> Выполняем скрипт <code> 
-Загружаем в БД заново все настройки +rm -rf /var/db/dpi.recover/
 +mkdir -p /var/db/dpi.recover/tmp 
 +for table in $(mdb_dump -l /var/db/dpi); do 
 +mdb_dump -f /var/db/dpi.recover/tmp/dump.$table.load -s $table /var/db/dpi 
 +mdb_load -f /var/db/dpi.recover/tmp/dump.$table.load /var/db/dpi.recover 
 +done 
 +rm /var/db/dpi/lock.mdb 
 +mv /var/db/dpi/data.mdb /var/db/dpi.recover/data.mdb.backup 
 +cp -f /var/db/dpi.recover/data.mdb /var/db/dpi/</code> Запускаем fastDPI <code> service fastdpi start </code> 
 +==== Удаление БД и загрузка в нее данных заново из внешнего источника (биллинга и т.п.) ==== 
 +\\ Останавливаем fastDPI<code> service fastdpi stop </code> Удаляем БД <code> /bin/rm /var/db/dpi/</code> Запускаем fastDPI <code> service fastdpi start </code> Загружаем в БД заново все настройки с помощью своих скриптов 
 + 
 +===== Экспериментальный раздел ===== 
 + 
 +==== Восстановление БД в формат команд fdpi_ctrl ==== 
 + 
 +Останавливаем fastDPI <code> service fastdpi stop </code> Выполняем скрипт <code> 
 +mdb_dump -p -a -f dump.sh /var/db/dpi 
 +/bin/rm /var/db/dpi/*</code> Запускаем fastDPI <code> service fastdpi start </code> Запускаем скрипт <code> 
 +chmod +x dump.sh 
 +./dump.sh
 </code> </code>
-  - восстановление БД с переносом данным <code> + 
-Останавливаем dpi +==== Восстановление отдельных таблиц БД в формат команд fdpi_ctrl ==== 
-service fastdpi stop + 
-Выполняем скрипт +Останавливаем fastDPI <code> service fastdpi stop </code> Выполняем скрипт <code> 
-mdb_dump --f dump.txt /var/db/dpi +for table in $(mdb_dump -l /var/db/dpi); do 
-/bin/rm /var/db/dpi/* +mdb_dump --f dump.$table.sh -s $table /var/db/dpi 
-mdb_load -f dump.txt /var/db/dpi +done 
-Запускаем dpi +/bin/rm /var/db/dpi/*</code> Запускаем fastDPI <code> 
-service fastdpi start+service fastdpi start </code> Выбираем нужные нам скрипты и запускаем, **пример** <code> 
 +chmod +x dump.bindings.sh 
 +./dump.bindings.sh
 </code> </code>