Table of Contents |
---|
Version
All versions
Explanation
INSERT/UPDATE/DELETE statements cannot be executed on memory tablespaces. Only the SELECT statement is executable.
Cause
This error occurs when the total sum of memory tablespaces (SYS_TBS_MEM_DIC+SYS_TBS_MEM_DATA+USER_MEMORY_TABLESPACE) exceeds MEM_MAX_DB_SIZE.
Action
MEM_MAX_DB_SIZE is the maximum amount of memory that can be used by memory tablespaces. For further information, please refer to the [Technical Article] ALTIBASE Monitoring Query Guide, [TS01] Memory Table Space Usage (page 29).
...
- Checking MEM_MAX_DB_SIZE
The above example shows the maximum number of pages that can be used (It is divided by 32 as the size of one page is 32K).Code Block language sql iSQL> SELECT value1/32/1024 FROM v$property WHERE name = 'MEM_MAX_DB_SIZE'; VALUE1/32/1024 : 32768 1 row selected.
- Checking Usage
1. The above example shows the current usage of the memory tablespace. There are 32,643 pages allocated in total.Code Block language sql iSQL> SELECT space_name, maxsize/32/1024, alloc_page_count FROM v$mem_tablespaces; SPACE_NAME : SYS_TBS_MEM_DIC MAXSIZE/32/1024 : 4294967295 ALLOC_PAGE_COUNT : 129 SPACE_NAME : SYS_TBS_MEM_DATA MAXSIZE/32/1024 : 4294967295 ALLOC_PAGE_COUNT : 29313 SPACE_NAME : MEM_TBS MAXSIZE/32/1024 : 3200 ALLOC_PAGE_COUNT : 3201 3 rows selected.
2. For SYS_TBS_MEM_DIC and SYS_TBS_MEM_DATA, they have not reached MAXSIZE but the error has occurred because the sum of all the memory tablespaces has almost reached MEM_MAX_DB_SIZE.
...
(The error occurs when MEM_MAX_DB_SIZE is exceeded because the transaction tried to expand.)
Note |
---|
Each memory tablespace has its own MAXSIZE. This error not only occurs when it has reached its MAXSIZE but also when the sum of all the memory tablespaces exceeds MEM_MAX_DB_SIZE. |
- Restarting Altibase server after increasing MEM_MAX_DB_SIZE
It needs to restart the server after modification.Code Block language sql Shell> vi $ALTIBASE_HOME/conf/altibase.properties .... .... UNIXDOMAIN_FILEPATH =?/trc/cm-unix MEM_MAX_DB_SIZE = 1G <===== Change this value to the appropriate size (Using GB/MB unit) LOG_FILE_SIZE = 10M .... .... :wq! Shell> server restart
...
Note |
---|
In order to reduce the Checkpoint Image file size, REORG has to be executed. This has to be done with the migration of all data, including the disk database. |
Reference
N/A