# 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');

```
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.omflow.com.tw/english/id-2/2-14-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
