Kamran Agayev's Oracle Blog

Oracle Certified Master

TT0802: Database permanent space exhausted (TimesTen db)

Posted by Kamran Agayev A. on April 18th, 2013

During TimesTen stress test, we’ve encountered the following error while trying to perform bulk insert :

TT0802: Database permanent space exhausted — file “blk.c”, lineno 3477, procedure “sbBlkAlloc”"

The reason is because of the PERM_ALLOCATED_SIZE parameter defined in sys.odbc.ini file. The default value is 64MB which is small for performing bulk-insert and stress-test. You can get this value either from sys.odbc.ini file, or using dssize command from ttIsql

Command> dssize

PERM_ALLOCATED_SIZE: 65536
PERM_IN_USE_SIZE: 64973
PERM_IN_USE_HIGH_WATER: 65408
TEMP_ALLOCATED_SIZE: 49152
TEMP_IN_USE_SIZE: 11242
TEMP_IN_USE_HIGH_WATER: 12445

Command> exit

 

In order to increase this paramter, switch to $TIMESTEN_HOME/info folder and change PERM_ALLOCATED_SIZE parameter inside the required cache group:

[prod_db]
DataStore=/home/oracle/OracleCache/datastore1
PermSize=10000
OracleNetServiceName=PROD_DB
DatabaseCharacterSet=WE8ISO8859P1

 

Here, we changed the parameter to 10GB.  Now restart the TimesTen deamon and check the value again:

[oracle@timesten info]$ ttDaemonAdmin -stop
TimesTen Daemon stopped.
[oracle@timesten info]$ ttDaemonAdmin -start
TimesTen Daemon startup OK.

 

Command> dssize

PERM_ALLOCATED_SIZE: 10240000
PERM_IN_USE_SIZE: 64593
PERM_IN_USE_HIGH_WATER: 64593
TEMP_ALLOCATED_SIZE: 49152
TEMP_IN_USE_SIZE: 8711
TEMP_IN_USE_HIGH_WATER: 8775

Command>

 

Now, run the bulk insert again and you’ll not get the error, instead you’ll get PERM_IN_USE_SIZE value increased

 

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>