Re: Ping Jerry Stuckle re: DB2 issues
DFS <[email protected]> Mon, 6 Sep 2021 12:50:19 -0400
| Newsgroups | comp.databases.mysql |
|---|---|
| Organization | blocknews - www.blocknews.net |
| Message-ID | <[email protected]> |
On 9/4/2021 10:21 AM, Jerry Stuckle wrote: > 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). Thanks. I eventually got the code to run and the db to finish populating by increasing the number of secondary logs to 24.