2 Database administration

UDR (built-in database, user data repository) is used for permanent storage of data on services and policing settings for the subscribers.

List of database tables

Table	Purpose
bindings	login and address binding
bindings_multi	login and address binding for multu-subscribers (with several IPs)
policing	Subscriber policing setting
profile_names	Names of profiles
profiles	Profiles of services and policing
services	Subscriber services setting
vchannel_policing	Channel policing setting
ip_props	BRAS subscriber properties

Activating the built-in database

UDR activation is required to support dynamic IPs and subscribers with several IPs.

UDR is activated by the configuration parameter in /etc/dpi/fastdpi.conf file.

udr=1

The created database is located in the /var/db/dpi directory

You can make a copy of the database without stopping the DPI with a backup command mdb_copy/var/db/dpi./DB and handle further manipulations in the copied database.

Enlarging the DB

By default, the database size is limited to 1GB. If you have more than 1 million policing profiles, you will need to increase the default size:

udr_size=2147483648

will set the DB size of 2GB.

The built-in database does not require administration and is fault tolerant. However, in rare cases, damage to the embedded database occurred. In this case, one of the following options is possible.

Database recovery with data transfer

Stop the DPI

service fastdpi stop

Run the script

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/

Start the DPI

service fastdpi start

Deleting a database and reloading data back from an external source (billing, etc.)

Stop the DPI

service fastdpi stop

Delete the DB

/bin/rm /var/db/dpi/*

Start the DPI

service fastdpi start

Reload all the settings into the database using own scripts.

Experimental Section

Restoring a database to the fdpi_ctrl command format

Stop the DPI

service fastdpi stop

Run the script

mdb_dump -p -a -f dump.sh /var/db/dpi
/bin/rm /var/db/dpi/*

Start the DPI

service fastdpi start

Run the script

chmod +x dump.sh
./dump.sh

Restoring certain tables to the fdpi_ctrl command format

Stop the DPI

service fastdpi stop

Run the script

for table in $(mdb_dump -l /var/db/dpi); do
mdb_dump -p -f dump.$table.sh -s $table /var/db/dpi
done
/bin/rm /var/db/dpi/*

Start the DPI

service fastdpi start

Choose and run the scripts you need, for example

chmod +x dump.bindings.sh
./dump.bindings.sh