Notes on DBMaker

DBMaker is an optional built-in database for the Windows version of OMFLOW. Possible errors are summarized below:

1. A Journal Full error message appears during version update .

When checking error.log, the following similar error message appears:

  • [DBMaker] The log is full: the transaction has been interrupted (11311) (SQLExecDirectW)

Solution:

If the amount of data is too large during OMFLOW Patch migration and causes this error, you need to increase or add a new Journal File. The following are the steps:

# # Modify

the Windows version path of dmconfig.ini to C:\Program Files\OMFLOW Server\DBMaker\dmconfig.ini

DB_JNFIL = OMFLOW1.JNL OMFLOW2.JNL OMFLOW3.JNL OMFLOW4.JNL OMFLOW5.JNL OMFLOW6.JNL OMFLOW7 . JNL OMFLOW8.JNL 
DB_JNLSZ = 8G 
DB_SMODE = 2 
DB_FORCS = 1 

Restart the DBMaker service

This method cannot completely solve the problem. This error may still occur when the data is too large.

2. An out of DCCA memory error occurred during OMFLOW interface operation.

Check error.log and the following similar error message appears:

  • [DBMaker] out of DCCA memory: initial DCCA setting is too small (1103) (SQLFetch)

Solution Solution:

Too many locks will occupy DCCA and cause insufficient memory. Please set it in dmconfig.ini and restart the DBMaker service after setting it.

Modify

the Windows version path of dmconfig.ini to C:\Program Files\OMFLOW Server\DBMaker\dmconfig.ini

DB_SCASZ = 1024M

Restart the DBMaker service

3. Listing process A DBMaker error message appears.

Check error.log and the following similar error message appears:

  • [DBMaker] total length of all columns exceeds maximum length: this table needs at least 8081 bytes, it should be less than the maximum length of a page 8064 bytes (6527 ) (SQLExecDirectW)')

  • [DBMaker] Invalid field name: FORMITM_127 (6523) (SQLPrepare)

The solution to

this error is that the table was not successfully built when the form design fields exceeded the DBMaker length limit, resulting in data that differed from the actual table columns. Create a gap.

Modify dmconfig.ini

DB_PGSIZ = 32 
``` #### 
For detailed steps 

to export the original database and re-create it, please contact https://www.dbmaker.com.tw/serForm.php 
# # 4. A "view already exists" error message appears. 
Check error.log and the following similar error message appears: 
* [DBMaker] The table or view already exists: <TABLE_NAME> (6520) (SQLExecDirectW) 
### Solution 
when migration is due to any When the factor fails, the next migration will not be executed correctly from where it ended last time. 
#### Reset the problematic APP migration to zero and re-execute 

python manage.py migrate your_app zero python manage.py makemigrations your_app python manage.py migrate

## 5. The form is stuck abnormally. 
No error message appears when checking error.log 
### For solution, 
please update OMFLOW to version 1.2.0 or above 
## 6. Insufficient hard disk space problem. 
When checking error.log, the following similar error message appears: 
* [DBMaker] no disk space or quota: /opt/dbmaker/database/fo/__0O619F.TMP (11211) 
### Solution: 
Due to the abnormal growth of tablespace, it is necessary to restart the DBMaker database to clear the temporary files, and turn off the dynamic addition of tablespace and change it to manual addition. Add, 

//List all tablespaces select TS_NAME from systablespace; //Query the tablespace where table is located def table; //Change DEFTABLESPACE to regular ts ALTER TABLESPACE DEFTABLESPACE SET AUTOEXTEND OFF;

EXTENDTS() stored procedure to extend tablespace Description: provide stored procedure for user to extend or add file to tablespace based on some condition.

Synatx: EXTENDTS(VARCHAR(128) TABLESPACE_NAME INPUT, VARCHAR(100) THRESHOLD_PAGE INPUT, VARCHAR(100) THRESHOLD_FRAME INPUT, VARCHAR(256) FILE_PREFIX INPUT, VARCHAR(256) FILE_PATH INPUT) Check and extend tablespace by adding page or file according to the threshold_page/frame. The syntax for threshold_page/frame is "nFree nAdd nMax". EXTENDTS() will check and extend when the tablespace's free page/frame < nFree and add nAdd page/frame. If user has specified the FILE_PREFIX, it will check whether the data file's npage + nAdd > nMax and add a file as FILE_PATH/FILE_PREFIX_%d.DB/BB. example: CALL EXTENDTS('TS1', '10280 20560 10G', '10280 20560 10G','TS1','/data/ts1'); or CALL EXTENDTS('TS1', '100M 200M 10G', '100M 200M 10G','TS1','/data/ts1');

For example: If user want to extend deftablespace when free space < 100M and add 200M, can use the following task to define it.

User can create task as following example: call task_create('task1','STORE_PROCEDURE', 'call EXTENDTS(''DEFTABLESPACE'', ''100M 200M 100G'', ''100M 200M 100G'', null, null)');

Or if user want to add file if exceed 10G, user must specify file_prefix call task_create('task1','STORE_PROCEDURE', 'call EXTENDTS(''TS1'', ''100M 200M 10G'', ''100M 200M 10G'', ''TS1'', ''/data/ts1/'')'); If the file in TS1 exceed 10G (NOTE: limitation: the file size cannot be exactly 10G) it will create logical file TS1_01.DB in the /data/ts1/TS1_01.DB

After create a task, user can create/enable it in the schedule daemon.

To run the stored procedure for every 30 minitues: call schedule_create('sche1','task1','*/30 * * * *','2012-12-12 12:12:00','2028-12-12 12:12:00');

call schedule_enable('sche1');

Last updated