The following table lists the source Datareplicator's disk resources.
Table 4-36 >Source Datareplicator's disk resources
| File |
File type |
Required/optional [number of files] |
See |
Action when file is full |
| R |
C |
| Definition files |
Extraction system definition file |
Y |
N |
Required
[1 per source system (1 per MGR if the source HiRDB is a parallel server)] |
(a) |
None |
| Extraction environment definition file |
Y |
N |
Required
[1 per source system (1 per MGR if the source HiRDB is a parallel server)] |
| Transmission environment definition file |
Y |
N |
Required
[1 per destination (1 per MGR for each target identifier if the source HiRDB is a parallel server)] |
| Extraction definition file |
Y |
N |
Required
[1 per source system (1 per MGR if the source HiRDB is a parallel server)] |
| Duplexing definition file |
Y |
N |
Optional
[1 per source system (1 per MGR if the source HiRDB is a parallel server)] |
| Extraction definition preprocessing file |
Y |
Y#2 |
Required
[1 per source system (1 per MGR if the source HiRDB is a parallel server)] |
(b) |
None |
| Extraction information queue files#2 |
Y |
Y#2 |
Required
[2 to 16 per source system (2 to 16 per BES if the source HiRDB is a parallel server)] |
(c) |
Swapped#3 |
| Status files |
Extraction master status file |
Y |
Y#2 |
Required
[1 per source system (1 per MGR if the source HiRDB is a parallel server)] |
(d) |
None |
| Extraction server status file#2 |
Y |
Y#2 |
Required
[1 per source system (1 per BES if the source HiRDB is a parallel server)] |
| Error information files |
Extraction master error information files |
Y |
N |
Required
[2 per source system (2 per MGR if the source HiRDB is a parallel server)] |
(e) |
Swapped |
| Extraction node master error information files |
Y |
N |
Required
[2 per source system (2 per server machine containing a BES if the source HiRDB is a parallel server)] |
| Activity trace files |
Extraction master trace files |
Y |
N |
Optional
[2 per source system] |
(f) |
Swapped |
| Extraction node master trace files |
Y |
N |
Optional
[2 per source system (2 per BES if the source HiRDB is a parallel server)] |
| Data linkage file |
Y |
Y#2 |
Required
[1 per source system (1 per BES if the source HiRDB is a parallel server)] |
(g) |
None |
| Command log files |
Y |
N |
Optional
[2 per source system] |
(h) |
Swapped |
- Legend:
- BES: Back-end server (includes back-end servers that do not contain any databases subject to extraction processing)
- R: UNIX regular file or Windows file
- C: UNIX character special file
- Y: Can be created.
- N: Cannot be created.
- #1
- If transmission processing is not completed on the file to be used after swapping, the source Datareplicator waits for the next transmission interval. If transmission processing is completed by then, the source Datareplicator starts extracting the update information. For details about the transmission interval, see 4.6.4 Designing the transmission procedure.
- #2
- If you use character special files with the AIX edition, add 1,024 bytes to the formula for determining the size of each file. In the queuesize operand in the extraction environment definition, specify the size obtained from the formula minus 1,024 bytes.
- #3
- If you use a Datareplicator file system area, also see 3.5.3(1) Rules for allocating a Datareplicator file system area.
(a) Sizes of definition files
The sizes of the source Datareplicator's definition files (extraction system definition file, extraction environment definition file, transmission environment definition file, and extraction definition file) depend on the definition operands that are specified.
(b) Size of the extraction definition preprocessing file
The source Datareplicator converts the specified extraction definition to the interval format, and then stores it in the extraction definition preprocessing file. The following are the formulas for determining the size of the extraction definition preprocessing file:
- For a regular file for UNIX or a Windows file
164 + (40 + SV_INFO) x SV_NUM (bytes)
- For a character special file for UNIX
164 / SCT_SIZE
x SCT_SIZE + (40 + SV_INFO) x SV_NUM (bytes)
- SV_INFO
= 44 + (52 + 96 x SCH_NUM + 64 x UPD_NUM + 128 x COL_NUM + 64 + 112 x TYPE_NUM + 64 x ATTR_NUM) + 24 + 32 x TBL_NUM + 16 x COL_NUM + SND_INFO + LOB_INFO
- SND_INFO
= 16 + 28 x UPD_NUM +
SND(28 x SND_UPD + 32 x SND_COND + 272 x SND_CNST) + 16 + 40 x SND_NUM +
SND(12 x SND_UPD + 32 x SND_TBL + 16 x SND_COL)
- LOB_INFO
= 16 + 4 x LOB_AREA
The following explains the variables used in the above formulas:
SND: Total sum of the number of destinations
- SV_NUM: Number of back-end servers
- SV_INFO: Size of definition information per back-end server
- SCH_NUM: Total number of schemas subject to extraction
- UPD_NUM: Total number of update information names
- TBL_NUM: Total number of tables subject to extraction
- COL_NUM: Total number of columns subject to extraction
- TYPE_NUM: Number of abstract data types subject to extraction, excluding duplications (this value includes the number of high-order data types inherited by abstract data types subject to extraction and the number of abstract data types defined as an abstract data type's attribute data type)
- ATTR_NUM: Total number of abstract data type attributes included in TYPE_NUM
- SND_INFO: Size of destination information
- SND_NUM: Number of destinations
- SND_UPD: Number of update information names subject to transmission per destination
- SND_TBL: Number of tables subject to transmission per destination
- SND_COL: Number of columns subject to transmission per destination
- SCT_SIZE: Sector size
- SND_COND: Number of transmission conditions per destination
- SND_CNST: Number of transmission condition constants specified per destination
- LOB_INFO: Size of BLOB extraction information
- LOB_AREA: Number of BLOB column storage RDAREAs subject to extraction
(c) Size of an extraction information queue file
Extracted update information is accumulated in an extraction information queue file. The size of an extraction information queue file must be greater than the size of the update information to be extracted.
The following is the formula for determining the size of an extraction information queue file (formula for calculating the size of update information); the formula is the same whether the file type is OS regular file or character special file:
- Formula for calculating the size of update information
EXT_ALL + QFL_NUM x SCT_SIZE + (EXT_ALL / IO_SIZE) x 12 (bytes)
- EXT_ALL
=
ins(INS_SIZE) +
upd(UPD_SIZE) +
del(DEL_SIZE) + 168 x TRN_NUM + 122 x EVT_NUM
- INS_SIZE
= 100 + EXT_COL x 12 + ROW_SIZE
- UPD_SIZE
= 100 + EXT_COL x 12 + ROW_SIZE
- DEL_SIZE
= 100 + MAP_COL x 12 +
map(MAP_DATA)
- ROW_SIZE
=
ext(COL_DATA + LOB_DATA + VAR_DATA + ADT_DATA + MLT_DATA)
- COL_DATA
=
column-data-length / 4
x 4
- LOB_DATA
= 56 x
(BLOB-data-length / 8,192)
+ BLOB-data-length
- VAR_DATA
= 48 x
(VARCHAR-data-length / PAGE_SIZE)
+ VARCHAR-data-length
- ADT_DATA
= 48 x ADT_NUM + abstract-data-type-data-length
For details about the data length of an abstract data type, see the applicable HiRDB manual.
- MLT_DATA
= 58 x
maximum-elements-count / 8
/ 4
x 4 + 52 x
repetition-column-data-length / PAGE_SIZE
+ repetition-column-data-length
repetition-column-data-length:
- Fixed-length element: 1 + defined-element-length x elements-count
- Variable-length element:
elm(5 + VAR_DATA)
The following explains the variables used in the above formulas:
- EXT_ALL: Total size of update information
- SCT_SIZE: Sector size
- IO_SIZE: Value of quiosize operand in the extraction environment definition
- INS_SIZE: Size of unit insertion row
- UPD_SIZE: Size of unit update row
- DEL_SIZE: Size of unit deletion row
- ROW_SIZE: Length of update data per row
- QFL_NUM: Number of extraction information queue files
- TRN_NUM: Number of transactions executed for HiRDB subject to extraction (including transactions on a table that is not subject to extraction, and invalid transaction rollbacks)
- EVT_NUM: Number of events issued
- EXT_COL: Number of columns subject to extraction per row
- MAP_COL: Number of mapping key columns per row
- LOB_DATA: Length of update data in BLOB column
- VAR_DATA: Length of update data for a VARCHAR (including MVARCHAR and NVARCHR) column with a length of 256 bytes or greater
- PAGE_SIZE: Page size of HiRDB database
- ADT_DATA: Length of update data in an abstract data type column
- ADT_NUM: Number of abstract data types (including the associated columns of inherited data type and nested data type)
- MLT_DATA: Length of update data in a repetition column
- COL_DATA: Length of update data per column (excluding BLOB columns, VARCHAR columns with a length of 256 bytes or greater, and columns of abstract data type)
- MAP_DATA: Size of mapping key
ins: Total sum of insertion row sizes
upd: Total sum of update row sizes
del: Total sum of deletion row sizes
map: Total sum of mapping key sizes per row
ext: Total sum of column data sizes subject to extraction per row
elm: Total sum of repetition columns' element sizes per row
- Notes on estimating the size of an extraction information queue file
Note the following about estimating the size of an extraction information queue file:
(d) Sizes of status files
The following are the formulas for determining the sizes of the status files (extraction master status file and extraction server status file) for a source Datareplicator.
For status files, the required size is allocated when the source Datareplicator is initialized. Status files will never become full because the file capacity is increased during the actual replication.
- Formulas for determining the size of the extraction master status file
- For a regular file for UNIX or a Windows file
(2 + SND_NUM + ND_NUM x SV_NUM) x 1,024 (bytes)
- For a character special file for UNIX whose sector size exceeds 1 kilobyte
(2 + SND_NUM) + (ND_NUM x SV_NUM) x SCT_SIZE (bytes)
ND_NUM: Total number of nodes
SV_NUM: Total number of servers
SND_NUM: Total number of destinations
SCT_SIZE: Sector size
- Formulas for determining the size of the extraction server status file
If the source HiRDB is a parallel server, determine the size of the status file for each back-end server.
- For UNIX
(22 + SND_NUM x 2 + UINF_NUM + SYS_NUM) x 1,024 (bytes)
- For Windows
(22 + SND_NUM x 2 + UINF_NUM) x 1,024 (bytes)
- For a character special file for UNIX whose sector size exceeds 1 kilobyte
(22 + SND_NUM x 2 + UINF_NUM + SYS_NUM) x SCT_SIZE (bytes)
SND_NUM: Number of destinations
UINF_NUM: Value of the extinfonum operand in the extraction system definition
SCT_SIZE: Sector size
SYS_NUM: Number of file system areas specified in the extraction environment definition
(e) Sizes of the error information files
The default size of an error information file (extraction master error information file or extraction node master error information file) for the source Datareplicator is 16KB. To retain error information for a long period of time, increase the size of the file by changing the extraction system definition.
(f) Sizes of activity trace files
To specify the sizes of activity trace files (extraction master trace files and extraction node master trace files), use the int_trc_filesz operand in the extraction system definition.
(g) Size of the data linkage file
The following are the formulas for determining the size of the data linkage file; if the source HiRDB is a parallel server, determine a data linkage file size for each back-end server:
- For a regular file for UNIX or a Windows file
9 x 1,024 (bytes)
- For a character special file for UNIX whose sector size exceeds 1 kilobyte
9 x SCT_SIZE (bytes)
- SCT_SIZE: Sector size
(h) Size of a command log file
The size is always 128 KB.
(i) Sizes of other files
The Windows edition of Datareplicator creates several work files in the tmp directory under the installation directory. Therefore, provide 4 MB of space for the work files.
The following table lists the memory resources for the source Datareplicator.
Table 4-38 List of memory resources for the source Datareplicator
| Memory resource |
Subsection |
| Extraction master process |
(a) |
| Extraction node master process |
(b) |
| Extraction process |
(c) |
| Transmission process |
(d) |
| Transmission master process |
(e) |
| Activity trace collection process |
(f) |
| Datareplicator agent process |
(g) |
| Size of shared memory for command communication |
(h) |
| Size of shared memory for reporting status information |
(i) |
| Size of shared memory for process-to-process communication |
(j) |
| Size of shared memory for storing extraction definition |
(k) |
| Size of shared memory for storing messages |
(l) |
| Size of shared memory for storing transaction management information |
(m) |
| Number of required semaphores |
(n) |
| Number of required message queues |
(o) |
| Size of update information editing buffer |
(p) |
Table 4-39 List of variables used in the formulas for determining the size of memory for source Datareplicator
| Variable name |
Description of variable |
| ATTR_NUM |
Total number of abstract data type attributes subject to data linkage |
| COL_LEN |
Maximum value of the total lengths of columns subject to extraction in a table subject to extraction.
For the columns listed below, use the indicated length and obtain the total length:
- Repetition columns: Definition length for one element
- BLOB and BINARY columns:
If the length is 35,000 bytes or less: Column definition length
If the length is greater than 35,000 bytes: 35,000 bytes
- ADT: 0
|
| COL_NUM |
Total number of columns in all tables subject to extraction |
| COM_FILE |
Size of data linkage file (bytes) |
| DATA_NUM |
Maximum number of update information items that can occur within the transmission interval.
If there is a transaction whose processing time is longer than the transmission interval (such as a batch transaction), the update information items are accumulated until the transaction is completed. |
| EMST_FILE |
Size of extraction master status file (bytes) |
| EQUE_FILE |
Size of extraction information queue file (bytes) |
| EST_FILE |
Size of extraction server status file (bytes) |
| EXT_FILE |
Size of extraction environment definition file (bytes) |
| LOB_MAX |
Maximum length of update data (bytes) in all BLOB attribute columns subject to extraction (actual data length, not the column definition length) |
| LOGIOSIZE |
logiosize value specified in the extraction environment definition (specify this value in KB) |
| MSV_NUM |
- When the source is HiRDB:
- Maximum number of back-end servers in each node subject to extraction
- When the source is not HiRDB:
- 1
|
| ND_NUM |
Total number of nodes subject to extraction |
| NSV_NUM |
Number of servers in the corresponding node |
| PRP_FILE |
Size of extraction definition preprocessing file (bytes) |
| QUE_NUM |
qufileXXX value specified in the extraction environment definition |
| QUIOSIZE |
quiosize value specified in the extraction environment definition (specify this value in KB) |
| RBUF_NUM |
readbufnum value specified in the transmission environment definition |
| RDAMAX_ALL |
Maximum page length of RDAREA that stores tables subject to linkage (bytes) |
| RDAMAX_BIN |
Maximum page length of RDAREA that stores BINARY data (bytes) |
| RDAMAX_LOB |
Maximum page length of RDAREA that stores LOB data (bytes) |
| RDAMAX_REP |
Maximum page length of RDAREA that stores tables containing repetition columns (bytes) |
| RDAMAX_VCHR |
Maximum page length of RDAREA that stores tables containing varchar, nvarchar, or mvarchar type (bytes) |
| SCH_NUM |
Total number of authorization identifiers subject to extraction |
| SND_FILE |
Size of transmission environment definition file (bytes) |
| SND_NUM |
Number of sendidxx operands specified in the extraction system definition |
| SV_NUM |
- When the source is HiRDB:
- Total number of back-end servers subject to extraction
- When the source is not HiRDB:
- 1
|
| SYS_FILE |
Size of extraction system definition file (bytes) |
| TBL_NUM |
Total number of tables subject to extraction |
| TRN_NUM |
Maximum number of transactions detected during the transmission interval.
If there are transactions whose processing time is longer than the transmission interval (such as batch transactions), the number of transactions is accumulated until such transactions are completed. |
| TYPE_NUM |
Total number of abstract data types in all tables subject to extraction |
| UBUF |
- When the source database is HiRDB:
- If nodemst is specified in sendcontrol in the extraction system definition
editbufsize value specified in the transmission environment definition
- If sendmst is specified in sendcontrol in the extraction system definition
smt_editbufsize value specified in the extraction system definition
- When the source database is XDM/DS:
- REFLECTBUFF value specified in the XDM/DS start definition.
- For details, see the manual VOS3 XDM Data Linkage Facility XDM/DS Description and Definition.
- (Specify this value in KB)
|
| UINF_NUM |
extinfonum value specified in the extraction system definition |
(a) Extraction master process
- Number of processes
- If the source Datareplicator is a single server, there is only one process. If the source Datareplicator is a parallel server, there is one process per server machine that contains a system manager.
- Size of procedure
- 163,840 bytes
- Dynamic memory size (bytes)
- The dynamic memory size is the sum of the fixed part shown below and any applicable variable part explained below.
- Fixed part:
- (
ND_NUM / 8
+ 1) x 8,800
- + (
SV_NUM / 16
+ 1) x 17,600
- + PRP_FILE x 5
- + MSV_NUM x (39,196 + SND_NUM x 3,968 + UINF_NUM x 1,024)
- + (76 + 32 x SND_NUM) x MSV_NUM
- + (8 + SND_NUM + 18 x SV_NUM) x 132
- + MAX(SYS_FILE, EXT_FILE, SND_FILE)
- + 58,658
- Variable part:
- Formula to be added if the import transaction synchronization facility is used
48 x UINF_NUM
+ 10 x SV_NUM
+ 1,024 x SV_NUM
+ 1,494
- Formula to be added if the file duplexing function is used
1,024
- Explanation of the variables
- See Table 4-39 List of variables used in the formulas for determining the size of memory for source Datareplicator.
(b) Extraction node master process
- Number of processes
- If the source Datareplicator is a single server, there is only one process. If the source Datareplicator is a parallel server, there is one process per server machine that contains a back-end server.
- Size of procedure
- 71,680 bytes
- Dynamic memory size (bytes)
- The dynamic memory size is the sum of the fixed part shown below plus the variable part explained below if applicable.
- Fixed part:
- (100 x NSV_NUM + 744 x SND_NUM x NSV_NUM)
- + (32 x SND_NUM x NSV_NUM)
- + (2 x SND_NUM)
- + QUIOSIZE x 1,024
- + (224 + 2,040 + MSV_NUM x (39,196 + SND_NUM x 3,968 + UINF_NUM
- x 1,024) + PRP_FILE)
- + (MAX(QUIOSIZE x 1,024 + 516, 66,052))
- + (
QUIOSIZE x 1,024 / 1,024
x 1,024)
- + (MAX(EMST_FILE, EST_FILE, EQUE_FILE, COM_FILE) - 1,024)
- + 545,086
- Variable part:
- Formula to be added if the file duplexing function is used
(QUIOSIZE x 1,024)
- Explanation of the variables
- See Table 4-39 List of variables used in the formulas for determining the size of memory for source Datareplicator.
(c) Extraction process
- Number of processes
- If the source Datareplicator is a single server, there is only one process. If the source Datareplicator is a parallel server, there is one process per server machine that contains a back-end server.
- Size of procedure
- 153,600 bytes
- Dynamic memory size (bytes)
- The dynamic memory size is the sum of the fixed part explained below plus the variable part shown below if applicable.
- Fixed part:
- (1,024 x (UINF_NUM + 1))
- + (2,944 x SND_NUM)
- + LOGIOSIZE x 1,024
- + (
SND_NUM / 8
/ 4
x 4)
- + (12 x QUE_NUM)
- + (LOGIOSIZE x 2,048)
- + (MAX((4,184 +
SND_NUM / 8
/ 4
x 4
- + 15 x COL_NUM + COL_LEN + 4,096), (LOGIOSIZE x 2,048)))
- + (MAX(QUIOSIZE x 1,024 + 516, 66,052) + (QUIOSIZE x 1,024))
- + (
QUIOSIZE x 1,024 / 1,024
x 1,024)
- + (MAX(EMST_FILE, EST_FILE, EQUE_FILE, COM_FILE) - 1,024)
- + (LOGIOSIZE x 1,024)
- + 744,992
- Variable part:
- Formula to be added if the file duplexing function is used
QUIOSIZE x 1,024
- Explanation of the variables
- See Table 4-39 List of variables used in the formulas for determining the size of memory for source Datareplicator.
(d) Transmission process
- When nodemst is specified in the sendcontrol operand in the extraction system definition
- Number of processes
If the source Datareplicator is a single server, there is only one process. If the source Datareplicator is a parallel server, there is one process per server machine that contains a back-end server.
- Size of procedure
378,880 bytes
- Dynamic memory size (bytes)
The dynamic memory size is the sum of the fixed part shown below plus any applicable variable part explained below.
- Fixed part:
- (UBUF x 1,024 - 120)
- + (12 x QUE_NUM)
- + MAX(88 +
SND_NUM / 32
x 4, 1,244)
- + (QUIOSIZE x 1,024)
- + ((TRN_NUM x 340 + DATA_NUM x 64)) ... *
- +
(SND_NUM / 32)
x 4
- + UBUF x 1,024
- + 32 x TBL_NUM
- + 96 x SCH_NUM + 64 x TBL_NUM + 128 x COL_NUM
- + MAX(QUIOSIZE x 1,024 + 516, 66,052) + QUIOSIZE x 1,024
- + (
QUIOSIZE x 1,024 / 1,024
x 1,024) x RBUF_NUM
- + 18,604
- Important:
- For the portion of the formula indicated by the asterisk (*), if there are more transactions or update information than estimated, the transmission process will extend the memory automatically. Because there is no limit to the number of such memory extensions, the size of a transmission process might become very large if a large volume of update processing is performed on the source database by a single transaction, such during batch processing. If you apply data linkage to batch processing, perform commit processing periodically so that no more than a few tens of thousands of items are updated by a single transaction.
- In AIX, if the estimated size exceeds 256 megabytes, set the LDR_CNTRL environment variable. For details about how to set the environment variable, see 2.4.1 Environment variables for a source Datareplicator and 2.5.1 Setting up a source Datareplicator's communications environment.
- Variable part:
- Formula to be added if the columns subject to extraction include the following data types
varchar, nvarchar, mvarchar, blob, binary, repetition column
Number of branch data items x 108
Note: Guideline for branch data: Total data length in variable-length columns
average value for RDAREA
If you use the varchar, nvarchar, mvarchar, or BLOB type, also add the following:
MAX(RDAMAX_VCHR, 8,192)
If you use the BLOB type, also add the following:
1,024 x
LOB_MAX / RDAMAX_LOB
/ 16![[Figure]](FIGURE/ZUENG010.GIF)
If you use repetition columns, also add the following:
RDAMAX_REP x 2
If you use the binary type, also add the following:
RDAMAX_BIN
If you use the SGML type, also add the following:
64 + 112 x TYPE_NUM + 64 x ATTR_NUM
- Formula to be added if the import transaction synchronization facility is used
32 + SV_NUM
- Formula to be added if a transmission UOC routine or the SGML type is used
(68 x TBL_NUM + 16 x COL_NUM) + (64 x COL_NUM)
- Formula to be added if the HDE_BIN_COL_MAXLEN environment variable is specified or a transmission UOC routine is used
20 x TBL_NUM + 8 x COL_NUM
- Formula to be added if ukey is specified in the extraction definition
RDAMAX_ALL
- Formula to be added if a character set is used
32,032
- Formula to be added if a file system area is used or a character special file is used in AIX
4,608
- Formula to be added if the file duplexing function is used
29,736 + (QUIOSIZE x 1,024)
- Explanation of the variables
- See Table 4-39 List of variables used in the formulas for determining the size of memory for source Datareplicator.
- When sendmst is specified in the sendcontrol operand in the extraction system definition
- Number of processes
As many processes are required as are specified in the sendprocnum operand in the extraction system definition.
- Size of procedure
307,200 bytes
- Dynamic memory size (bytes)
The dynamic memory size is the sum of the fixed part shown below plus any applicable variable part explained below.
- Fixed part:
- (UBUF x 1,024 - 120)
- + (12 x QUE_NUM)
- + MAX(88 +
SND_NUM / 32
x 4, 1,244)
- + (QUIOSIZE x 1,024)
- + UBUF x 1,024
- + 40 + 32 x TBL_NUM
- + 52 + 96 x SCH_NUM + 64 x TBL_NUM + 128 x COL_NUM
- + 2,428 + MAX(QUIOSIZE x 1,024 + 516, 66,052)
- + QUIOSIZE x 1,024 + 516
- + 11,808 + (
QUIOSIZE x 1,024 / 1,024
x 1,024) x RBUF_NUM
- + 18,588
- Variable part:
- Formula to be added if the columns subject to extraction include the following data types
varchar, nvarchar, mvarchar, blob, binary, repetition column
Number of branch data items x 108
Note: Guideline for branch data: Total data length in variable-length columns
average value for RDAREA
If you use the varchar, nvarchar, mvarchar, or BLOB type, also add the following:
MAX(RDAMAX_VCHR, 8,192)
If you use the BLOB type, also add the following:
1,024 x
LOB_MAX / RDAMAX_LOB
/ 16![[Figure]](FIGURE/ZUENG010.GIF)
If you use repetition columns, also add the following:
RDAMAX_REP x 2
If you use the binary type, also add the following:
RDAMAX_BIN
If you use the SGML type, also add the following:
64 + 112 x TYPE_NUM + 64 x ATTR_NUM
- Formula to be added if the import transaction synchronization facility is used
32 + SV_NUM
- Formula to be added if a transmission UOC routine or the SGML type is used
(68 x TBL_NUM + 16 x COL_NUM) + (64 x COL_NUM)
- Formula to be added if the HDE_BIN_COL_MAXLEN environment variable is specified or a transmission UOC routine is used
20 x TBL_NUM + 8 x COL_NUM
- Formula to be added if ukey is specified in the extraction definition
RDAMAX_ALL
- Formula to be added if a character set is used
32,032
- Formula to be added if a file system area is used or a character special file is used in AIX
4,608
- Formula to be added if the file duplexing function is used
29,736 + (QUIOSIZE x 1,024)
- Explanation of the variables
- See Table 4-39 List of variables used in the formulas for determining the size of memory for source Datareplicator.
(e) Transmission master process
- Number of processes
- If the source Datareplicator is a single server, there is only one process. If the source Datareplicator is a parallel server, there is one process per server machine that contains a back-end server.
- As many processes are required as are specified in the sendprocnum operand in the extraction system definition.
- Size of procedure
- 256,000 bytes
- Dynamic memory size (bytes)
- The dynamic memory size is the sum of the fixed part shown below plus any applicable variable part explained below.
- Fixed part:
- (12 x QUE_NUM)
- + MAX(88 +
SND_NUM / 32
x 4, 1,244)
- + (QUIOSIZE x 1,024)
- + ((TRN_NUM x 340 + DATA_NUM x 64) x SND_NUM)
- +
(SND_NUM / 32)
x 4
- + MAX(QUIOSIZE x 1,024 + 516, 66,052) + QUIOSIZE x 1,024
- +
QUIOSIZE x 1,024 / 1,024
x 1,024
- + 18,512
- Variable part:
- Formula to be added if a file system area is used or a character special file is used in AIX
4,608
- Formula to be added if the file duplexing function is used
11,736 + (QUIOSIZE x 1,024)
- Explanation of the variables
- See Table 4-39 List of variables used in the formulas for determining the size of memory for source Datareplicator.
(f) Activity trace collection process
- Number of processes
- As many processes are required as there are extraction master processes + extraction node master processes.
- Size of procedure
- 61,440 bytes
- Dynamic memory size
- 51,200 bytes
(g) Datareplicator agent process
- Number of processes
- Add the number of processes either at the source system or at the target system.
- Size of procedure
- 71,680 bytes
- Dynamic memory size (bytes)
- 300,000# + (ND_NUM + SV_NUM + SND_NUM + 2) x 64
- Explanation of the variables
- See Table 4-39 List of variables used in the formulas for determining the size of memory for source Datareplicator.
- #
- Use the value at either the source system or the target system.
(h) Determining the size of shared memory for command communication
The following is the formula for determining the size of shared memory for command communication; use this shared memory at the server machine where the extraction master process is run:
Size of shared memory for command communication = 1,360 (bytes)
(i) Determining the size of shared memory for reporting status information
The following is the formula for determining the size of shared memory for reporting status information; use this shared memory at the server machine where the extraction master process is run:
- 1,360 + 36 + 64 + ND_NUM + 60 + SV_NUM + 164 x SV_NUM x SND_NUM + 8 x
SND(NSND_NUM) x SV_NUM + (ND_NUM + SV_NUM + SV_NUM x SND_NUM) x 4 (bytes)
SND: Transmissions to all destinations
- ND_NUM: Total number of nodes
- SV_NUM: Total number of servers
- SND_NUM: Total number of destinations
- NSND_NUM: Number of transmission-suppressed original receiver identifiers per destination
(j) Determining the size of shared memory for process-to-process communication
The following is the formula for determining the size of shared memory for process-to-process communication; use this shared memory at the server machine where the extraction node master process is run:
- 1,048 + (2,969 + 4 x SND_NUM + 16 x UINF_NUM) x NSV_NUM + 1,600 x NSV_NUM + SND_NUM (bytes)
- SND_NUM: Total number of destinations
- NSV_NUM: Number of servers in the corresponding node
- UINF_NUM: Value of the extinfonum operand in the extraction system definition
(k) Determining the size of shared memory for storing extraction definition
The following is the formula for determining the size of shared memory for storing extraction definition; use this shared memory at the server machine where the extraction node master process is run:
164 + (40 + SV_INFO) x SV_NUM (bytes)
- SV_INFO
= 44 + (52 + 96 x SCH_NUM + 64 x UPD_NUM + 128 x COL_NUM + 64 + 112 x TYPE_NUM + 64 x ATTR_NUM) + 24 + 32 x TBL_NUM + 16 x COL_NUM + SND_INFO + LOB_INFO
- SND_INFO
= 16 + 28 x UPD_NUM + 40 x SND_NUM +
SND(40 x SND_UPD + 20 x SND_TBL + 16 x SND_COL)
- LOB_INFO
= 16 + 4 x LOB_AREA
- Explanation of the variables
SND: Total sum of the number of destinations
SV_NUM: Number of back-end servers in the corresponding node
SV_INFO: Size of definition information per back-end server
SCH_NUM: Total number of schemas subject to extraction
UPD_NUM: Total number of update information names
TBL_NUM: Total number of tables subject to extraction
COL_NUM: Total number of columns subject to extraction
TYPE_NUM: Number of abstract data types subject to extraction, excluding duplications. This value includes the number of high-order data types inherited by the abstract data types subject to extraction and the number of abstract data types defined as an abstract data type's attribute data type.
ATTR_NUM: Total number of abstract data type attributes included in TYPE_NUM
SND_INFO: Size of destination information
SND_NUM: Number of destinations
SND_UPD: Number of update information names subject to transmission per destination
SND_TBL: Number of tables subject to transmission per destination
SND_COL: Number of columns subject to transmission per destination
LOB_INFO: Size of BLOB extraction information
LOB_AREA: Number of BLOB column storage RDAREAs subject to extraction
(l) Determining the size of shared memory for storing messages
The following is the formula for determining the size of shared memory for storing messages; use this shared memory at the server machine where the extraction node master process is run:
Size of shared memory for storing messages = 79,200 (bytes)
(m) Determining the size of shared memory for storing transaction management information
The following is the formula for determining the size of shared memory for storing transaction management information; use this shared memory at the server machine where the extraction node master process is run (this shared memory is required only when sendmst is specified in the sendcontrol operand in the extraction system definition):
- 1,048,576 x NSV_NUM (bytes)
- NSV_NUM: Number of servers in the corresponding node
(n) Determining the number of required semaphores
The following are the formulas for determining the number of semaphores that are used by the source Datareplicator; use the semaphores at the server machine where the extraction node master process is run:
- When sendcontrol=nodemst is specified in the extraction system definition
- 1 + (2 + 2 x SND_NUM) x NSV_NUM
- When sendcontrol=sendmst is specified in the extraction system definition
- 1 + 4 x NSV_NUM
- SND_NUM: Total number of destinations
- NSV_NUM: Number of servers in the corresponding node
Change the maximum number of semaphores in the entire system that is specified in the kernel parameter (SEMMNS) so that the number of semaphores determined by the above formula can be used at the source system. For details about how to update the kernel parameter, see the applicable OS documentation.
(o) Determining the number of required message queues
One message queue is required for the server machine at which the extraction master process is run, and another message queue is required for each server machine at which the extraction node master process is run.
(p) How to estimate the size of the update information editing buffer
The formula for estimating the size of the update information editing buffer is shown below. First, estimate the size of the update information editing buffer for each table subject to extraction, and then specify the largest value in the smt_editbufsize operand described in 5.2 Extraction system definition or the editbufsize operand described in 5.4 Transmission environment definition.
- When the key clause is specified in the extraction definition
| 244 + 16 x number of columns + data length# (bytes) |
- When the ukey clause is specified in the extraction definition
244 + 16 x number of columns + data length#
+ (32 + 16 x number of mapping key columns + sum of the data lengths of mapping keys)
(bytes) |
- #
- Sum of the lengths of the data for all columns subject to linkage (bytes)
All rights reserved. Copyright (C) 2007, 2013, Hitachi, Ltd.