1 Overview
DBN in-memory database objects can be backed up to disk through DBN backup. The DBN Backup Formatter Tool exports information from a DBN backup (binary format) and prints it in a human readable format. This User Guide describes how to use the Backup Formatter Tool functionality.
DBN backups are incorporated into BRF backups. For information on how to create and export a BRF backup, refer to BRF-C Management Guide, Reference [1].
1.1 Installation
Normally, the application provides the Database Formatter Tool in its packages. Therefore, refer to the application documentation for more information on the installation of the tool.
If the application does not include the tool by default, then it is possible to install it by doing these steps:
- Download the required version of the following package:
DBS RT: CXP 902 5264/5
- Extract the package and get the Backup Formatter Tool
from the following path:
delivery\PSR-DBS_RT-CXP9025264-<DBS_version>\contained\PSR-DBS_RT-CXP9030894-<DBS_version>\contained\TDP-DbTools-CXP9040378-<DBS_version>\contained\DT_BackupFormatter\share\BackupFormatter
- The tool can be executed directly on the node or on any 64-bit host machine. Run the binary without parameters to get a help about available options. For more information on the available command options, see Section 2.
1.2 Backup Path
The backups are stored at the following path:
/storage/system/config/dbsv/backup/
The backup directories use the following naming convention: <YYYYMMDD>.<HHMMSS>.<microseconds>, for example, 20171130.143437.262994.
1.3 Backup Directory
A backup directory contains the following files:
Example 1 Backup Directory Contents Example
mdps.PL-3.data.idx mdps.PL-4.data.idx mdps.PL-5.data.idx mdps.SC-1.data.idx mdps.SC-2.data.idx mdps.PL-3.data mdps.PL-4.data mdps.PL-5.data mdps.SC-1.data mdps.SC-2.data schema.gz |
The .data files contain the primary data replicas.
The .idx files contain the position of the Master Data Partitions (MDPs) within the .data file of the same name.
2 BackupFormatter Command
The command has the following syntax:
BackupFormatter <backup_directory> <command> [<arguments>]
Where the <backup_directory> refers to this directory:
/storage/system/config/dbsv/backup/<backup_name>/databaseBackup/
The options for <command> are shown in Table 1.
|
Option |
Description |
|---|---|
|
list_classes |
Lists all classes (POTs) with their IDs and names. |
|
dump_class |
Dumps information about the given classes (POTs). |
|
list_instances |
Lists all records (POT instances) of the given classes. |
|
dump_instance |
Dumps information about the given records (POT instances). |
|
dump_mdp_instances |
Dumps the records (POT instances) in the given MDP. |
|
dump_class_instances |
Dumps the records (POT instances) in the MDPs of the given class (POT). |
2.1 list_classes
This command option lists all classes with their IDs and names.
The number in the list indicates the class ID and the name after it indicates the class name.
- Note:
- The class ID is also referred to as POT Runtime ID (RTID) or POT Class Number (Class No).
Example
>$ BackupFormatter <backup_directory> list_classes
Output
class ID class name 1117352 SubscriberTypeA 1117358 SubscriberTypeB 1117366 SubscriberType1 1117372 SubscriberType2 |
2.2 dump_class
This command dumps the class attributes: the name and the type. For more information on the printout values, see Table 2 and Table 3.
Both the class ID or the class name can be used as the command option argument.
Example
>$ BackupFormatter <backup_directory> dump_class 1117352
Or
>$ BackupFormatter <backup_directory> dump_class SubscriberTypeA
Output
1117352 SubscriberTypeA 0. subKey:U 1. updateAtt:U 2. array:A0[:U] 3. servObj:G 4. checkSumAttr:I 5. groupSize:I |
2.3 list_instances
This command lists all records of the given classes.
The records are listed in the following format:
<MDP_no>-<seq_no> [key_type:key_value]
Where:
- <MDP_no> is the MDP number calculated as: RTID × 232 + DU × 216.
- <seq_no> is the sequence number of the record within the MDP, in hexadecimal format.
- key_type is the key type (see Table 2).
- key_value is the value of the key.
Example
>$ BackupFormatter <backup_directory> list_instances 1117352
- Note:
- The command option only accepts primary key defining classes as a command parameter. Do not use unkeyed classes or classes derived from keyed classes.
Output
============== Instances of class 1117352 ============== 4798990298120192-0000380000000003 [U:0] 4798990298185728-0000480000000003 [U:1] 4798990298251264-0000580000000003 [U:2] 4798990298316800-0000180000000003 [U:3] 4798990298382336-0000280000000003 [U:4] 4798990298447872-0000380000000003 [U:5] 4798990298513408-0000480000000003 [U:6] 4798990298578944-0000580000000003 [U:7] 4798990298644480-0000180000000003 [U:8] 4798990298710016-0000280000000003 [U:9] |
2.4 dump_instance
This command lists the entire content of a record, including attribute names, types, and values. The attribute values are listed both in plain text (where "~" replaces all non-readable characters) and in hexadecimal format.
Example
>$ BackupFormatter <backup_directory> dump_instance 4798990298447872-0000380000000003
- Note:
- The command option only accepts primary key defining classes as a command parameter. Do not use unkeyed classes or classes derived from keyed classes.
Output
Class 1117352 SubscriberTypeA
Attr0 [subKey:U]
base type: 2 (unsigned integer)
element size: 4
element count: 0
content: [U:5]
primary key
Attr1 [updateAtt:U]
base type: 2 (unsigned integer)
element size: 4
element count: 0
content: [U:1]
Attr2 [array:A0[:U]]
base type: 8 (dynamic opaque)
element size: 0
element count: 0
content: [DATA:[length:1004][~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!~~~"~~~#~~~$~~~%~~~&~~~'~~~(~~~)~~~*~~~⇒
+~~~,~~~-~~~.~~~/~~~0~~~1~~~2~~~3~~~4~~~5~~~6~~~7~~~8~~~9~~~:~~~;~~~<~~~=~~~>~~~?~~~@~~~A~~~B~~~C~~~D~~~E~⇒
~~F~~~G~~~H~~~I~~~J~~~K~~~L~~~M~~~N~~~O~~~P~~~Q~~~R~~~S~~~T~~~U~~~V~~~W~~~X~~~Y~~~Z~~~[~~~\~~~]~~~^~~~_~~~⇒
`~~~a~~~b~~~c~~~d~~~e~~~f~~~g~~~h~~~i~~~j~~~k~~~l~~~m~~~n~~~o~~~p~~~q~~~r~~~s~~~t~~~u~~~v~~~w~~~x~~~y~~~z~⇒
~~{~~~|~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~][000000fa0000000000000⇒
00100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000⇒
e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0⇒
000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000⇒
000290000002a0000002b0000002c0000002d0000002e0000002f00000030000000310000003200000033000000340000003500000⇒
0360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f0000004000000041000000420000004⇒
30000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500⇒
000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d000⇒
0005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a00000⇒
06b0000006c0000006d0000006e0000006f00000070000000710000007200000073000000740000007500000076000000770000007⇒
8000000790000007a0000007b0000007c0000007d0000007e0000007f0000008000000081000000820000008300000084000000850⇒
00000860000008700000088000000890000008a0000008b0000008c0000008d0000008e0000008f000000900000009100000092000⇒
000930000009400000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f00000⇒
0a0000000a1000000a2000000a3000000a4000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000a⇒
d000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba0⇒
00000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000⇒
000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d400000⇒
0d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e⇒
2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000ee000000ef0⇒
00000f0000000f1000000f2000000f3000000f4000000f5000000f6000000f7000000f8000000f9]]
Attr3 [servObj:G]
base type: 6 (reference)
element size: 16
element count: 0
content: [DID:[mdpNo:4798990298447872][seqNo:0000380000000004][classNo:1117353]]
Attr4 [checkSumAttr:I]
base type: 1 (signed integer)
element size: 4
element count: 0
content: [I:0]
Attr5 [groupSize:I]
base type: 1 (signed integer)
element size: 4
element count: 0
content: [I:0]
|
2.5 dump_mdp_instances
This command works similarly to the dump_instance command option (see Section 2.4), but it prints the content of all records belonging to the given MDP number. To list the MDP numbers of a class, use the list_instances command option, see Section 2.3.
Example
>$ BackupFormatter <backup_directory> dump_instance 4798990298447872-0000380000000003
Output
====================================================================
MDP number: 4798990298120192
====================================================================
Class 1117352 SubscriberTypeA
Attr0 [subKey:U]
base type: 2 (unsigned integer)
element size: 4
element count: 0
content: [U:0]
primary key
Attr1 [updateAtt:U]
base type: 2 (unsigned integer)
element size: 4
element count: 0
content: [U:1]
Attr2 [array:A0[:U]]
base type: 8 (dynamic opaque)
element size: 0
element count: 0
content: [DATA:[length:1004][~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!~~~"~~~#~~~$~~~%~~~&~~~'~~~(~~~)~~~*~~~⇒
+~~~,~~~-~~~.~~~/~~~0~~~1~~~2~~~3~~~4~~~5~~~6~~~7~~~8~~~9~~~:~~~;~~~<~~~=~~~>~~~?~~~@~~~A~~~B~~~C~~~D~~~E~⇒
~~F~~~G~~~H~~~I~~~J~~~K~~~L~~~M~~~N~~~O~~~P~~~Q~~~R~~~S~~~T~~~U~~~V~~~W~~~X~~~Y~~~Z~~~[~~~\~~~]~~~^~~~_~~~⇒
`~~~a~~~b~~~c~~~d~~~e~~~f~~~g~~~h~~~i~~~j~~~k~~~l~~~m~~~n~~~o~~~p~~~q~~~r~~~s~~~t~~~u~~~v~~~w~~~x~~~y~~~z~⇒
~~{~~~|~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~][000000fa0000000000000⇒
00100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000⇒
e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0⇒
000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000⇒
000290000002a0000002b0000002c0000002d0000002e0000002f00000030000000310000003200000033000000340000003500000⇒
0360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f0000004000000041000000420000004⇒
30000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500⇒
000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d000⇒
0005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a00000⇒
06b0000006c0000006d0000006e0000006f00000070000000710000007200000073000000740000007500000076000000770000007⇒
8000000790000007a0000007b0000007c0000007d0000007e0000007f0000008000000081000000820000008300000084000000850⇒
00000860000008700000088000000890000008a0000008b0000008c0000008d0000008e0000008f000000900000009100000092000⇒
000930000009400000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f00000⇒
0a0000000a1000000a2000000a3000000a4000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000a⇒
d000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba0⇒
00000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000⇒
000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d400000⇒
0d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e⇒
2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000ee000000ef0⇒
00000f0000000f1000000f2000000f3000000f4000000f5000000f6000000f7000000f8000000f9]]
Attr3 [servObj:G]
base type: 6 (reference)
element size: 16
element count: 0
content: [DID:[mdpNo:0][seqNo:0000000000000000][classNo:1117353]]
Attr4 [checkSumAttr:I]
base type: 1 (signed integer)
element size: 4
element count: 0
content: [I:0]
Attr5 [groupSize:I]
base type: 1 (signed integer)
element size: 4
element count: 0
content: [I:0]
|
2.6 dump_class_instances
This command works similarly to the dump_instance command option (see Section 2.4), but instead of listing the entire content of a specific record, it lists the entire content of all records that belong to that class.
These class types are identified either by their class number or their names. The command lists the content of all records where the class type matches the class number or name.
Example
>$ BackupFormatter <backup_directory> dump_class_instances 1117352
Output
====================================================================
>>>>>>>>>>>>>>>>>>>> Class number: 1117352 <<<<<<<<<<<<<<<<<<<<
====================================================================
====================================================================
MDP number: 4798990298120192 (DU: 0)
====================================================================
Class 1117352 SubscriberTypeA
Attr0 [subKey:U]
base type: 2 (unsigned integer)
element size: 4
element count: 0
content: [U:0]
primary key
Attr1 [updateAtt:U]
base type: 2 (unsigned integer)
element size: 4
element count: 0
content: [U:1]
Attr2 [array:A0[:U]]
base type: 8 (dynamic opaque)
element size: 0
element count: 0
content: [DATA:[length:1004][~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!~~~"~~~#~~~$~~~%~~~&~~~'~~~(~~~)~~~*~~~⇒
+~~~,~~~-~~~.~~~/~~~0~~~1~~~2~~~3~~~4~~~5~~~6~~~7~~~8~~~9~~~:~~~;~~~<~~~=~~~>~~~?~~~@~~~A~~~B~~~C~~~D~~~E~⇒
~~F~~~G~~~H~~~I~~~J~~~K~~~L~~~M~~~N~~~O~~~P~~~Q~~~R~~~S~~~T~~~U~~~V~~~W~~~X~~~Y~~~Z~~~[~~~\~~~]~~~^~~~_~~~⇒
`~~~a~~~b~~~c~~~d~~~e~~~f~~~g~~~h~~~i~~~j~~~k~~~l~~~m~~~n~~~o~~~p~~~q~~~r~~~s~~~t~~~u~~~v~~~w~~~x~~~y~~~z~⇒
~~{~~~|~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~⇒
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~][000000fa0000000000000⇒
00100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000⇒
e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0⇒
000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000⇒
000290000002a0000002b0000002c0000002d0000002e0000002f00000030000000310000003200000033000000340000003500000⇒
0360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f0000004000000041000000420000004⇒
30000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500⇒
000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d000⇒
0005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a00000⇒
06b0000006c0000006d0000006e0000006f00000070000000710000007200000073000000740000007500000076000000770000007⇒
8000000790000007a0000007b0000007c0000007d0000007e0000007f0000008000000081000000820000008300000084000000850⇒
00000860000008700000088000000890000008a0000008b0000008c0000008d0000008e0000008f000000900000009100000092000⇒
000930000009400000095000000960000009700000098000000990000009a0000009b0000009c0000009d0000009e0000009f00000⇒
0a0000000a1000000a2000000a3000000a4000000a5000000a6000000a7000000a8000000a9000000aa000000ab000000ac000000a⇒
d000000ae000000af000000b0000000b1000000b2000000b3000000b4000000b5000000b6000000b7000000b8000000b9000000ba0⇒
00000bb000000bc000000bd000000be000000bf000000c0000000c1000000c2000000c3000000c4000000c5000000c6000000c7000⇒
000c8000000c9000000ca000000cb000000cc000000cd000000ce000000cf000000d0000000d1000000d2000000d3000000d400000⇒
0d5000000d6000000d7000000d8000000d9000000da000000db000000dc000000dd000000de000000df000000e0000000e1000000e⇒
2000000e3000000e4000000e5000000e6000000e7000000e8000000e9000000ea000000eb000000ec000000ed000000ee000000ef0⇒
00000f0000000f1000000f2000000f3000000f4000000f5000000f6000000f7000000f8000000f9]]
Attr3 [servObj:G]
base type: 6 (reference)
element size: 16
element count: 0
content: [DID:[mdpNo:0][seqNo:0000000000000000][classNo:1117353]]
Attr4 [checkSumAttr:I]
base type: 1 (signed integer)
element size: 4
element count: 0
content: [I:0]
Attr5 [groupSize:I]
base type: 1 (signed integer)
element size: 4
element count: 0
content: [I:0]
====================================================================
MDP number: 4798990298185728 (DU: 1)
====================================================================
...
|
3 DBN Backup Formatter Tool Format
The Backup Formatter Tool uses short notations to represent attribute types in classes or records. The notations are described in the following subsections.
3.1 Primitive Types
Table 2 shows the primitive types.
|
Integer |
I |
|
Unsigned |
U |
|
Unsigned long |
L |
|
Long |
K |
|
Double |
D |
|
Char |
C |
|
Bool |
B |
|
Octet |
O |
|
String |
S |
3.2 External Types
Any external type is stored as an octet array.
3.3 Composed Values
Table 3 shows the composed values.
|
Reference (DID) |
G |
|
Array |
|
|
Multiref |
M |
|
Record |
R[:T:T:T:T... :T](2) |
(1) The size
is zero for dynamic arrays.
(2) T can be any type using the same notations,
for example: A0[:G] is a dynamic array
of references (DIDs).
Reference List
| Documents |
|---|
| [1] BRF-C Management Guide, 1/1553-APR 901 0485/1 |

Contents