Maybe you can help:
Is there an easy way to disable transaction logging altogether in DB2?
I was populating DB2 tables and started getting:
SQL0964C The transaction log for the database is full. SQLSTATE=57011
Recreated the tables with the NOT LOGGED INITIALLY option:
CREATE TABLE TBL (
ID INT NOT NULL,
TEXT VARCHAR(220) NOT NULL
) NOT LOGGED INITIALLY;
Code to populate data includes:
ALTER TABLE TBL ACTIVATE NOT LOGGED INITIALLY;
then
DELETE FROM TABLE;
then
repopulate with bulk INSERTs (commits are done at small intervals)
But now I'm getting error:
SQL1476N The current transaction was rolled back because of error "-964". SQLSTATE=40506
As far as I can tell it's another 'transaction log full' issue.
I saved a snapshot:
$ db2 get snapshot for all on database > logsnapshot.txt
It contains:
Log space available to the database (Bytes)= 1047782
Log space used by the database (Bytes) = 103297818
Maximum secondary log space used (Bytes) = 49038276
Maximum total log space used (Bytes) = 103297988
Secondary logs allocated currently = 12
Any advice will be appreciated.
On 9/3/2021 6:56 PM, DFS wrote:
Maybe you can help:
Is there an easy way to disable transaction logging altogether in DB2?
I was populating DB2 tables and started getting:
SQL0964C The transaction log for the database is full. SQLSTATE=57011
Recreated the tables with the NOT LOGGED INITIALLY option:
CREATE TABLE TBL (
ID INT NOT NULL,
TEXT VARCHAR(220) NOT NULL
) NOT LOGGED INITIALLY;
Code to populate data includes:
ALTER TABLE TBL ACTIVATE NOT LOGGED INITIALLY;
then
DELETE FROM TABLE;
then
repopulate with bulk INSERTs (commits are done at small intervals)
But now I'm getting error:
SQL1476N The current transaction was rolled back because of error
"-964". SQLSTATE=40506
As far as I can tell it's another 'transaction log full' issue.
I saved a snapshot:
$ db2 get snapshot for all on database > logsnapshot.txt
It contains:
Log space available to the database (Bytes)= 1047782
Log space used by the database (Bytes) = 103297818
Maximum secondary log space used (Bytes) = 49038276
Maximum total log space used (Bytes) = 103297988
Secondary logs allocated currently = 12
Any advice will be appreciated.
Your problem is the NOT LOGGED INITIALLY is only good for the
transaction. Once you issue a COMMIT logging starts again. Everything must be done in one transaction (no COMMIT or ROLLBACK and AUTOCOMMIT
must be disabled).
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 37:09:20 |
Calls: | 6,648 |
Calls today: | 3 |
Files: | 12,193 |
Messages: | 5,329,127 |