CLM Install error - Database Creation (SQL Error 968)
Hi
I am trying to install CLM 4.0.1 with WAS 8.0.0.3 and DB2 9.7
When running through the custom set up I get as far as trying to create the CCM tables when I get the following error.
The crux of the error is the sql error code 968
Now Ive spoken to the DB admin person and their opinion is that the way in which the DB2 database creation scripts are working is flawed and is max- ing out their database server disk(?) space
The DB admin guy seems to think that the scripts could be modified to get around this, but I'm not sure how or if we should do this ( would this be supported??)
(Sorry but not being a DB person the terminology is a bit beyond me!!)
Any help would be appreciated:
Error Message:
The database creation failed with an exception
com.ibm.team.repository.common.RetryableDatabaseException: CRJAZ1318I A database connection error occurred. CRJAZ0265I The virtual storage or database resource is not available. SQL: CREATE LARGE TABLESPACE CONTENTTS MANAGED BY DATABASE USING (file 'jazzdata' 250000) AUTORESIZE YES DROPPED TABLE RECOVERY OFF SQL Exception #1 SQL Message: DB2 SQL Error: SQLCODE=-968, SQLSTATE=57011, SQLERRMC=null, DRIVER=4.14.88 SQL State: 57011 Error Code: -968 at com.ibm.team.repository.service.internal.db.jdbcwrappers.errlog.AbstractErrLogWrapper.logAndReturnException(AbstractErrLogWrapper.java:98) at com.ibm.team.repository.service.internal.db.jdbcwrappers.errlog.StatementErrLogWrapper.logAndReturnException(StatementErrLogWrapper.java:66) at com.ibm.team.repository.service.internal.db.jdbcwrappers.errlog.PreparedStatementErrLogWrapper.execute(PreparedStatementErrLogWrapper.java:70) at com.ibm.team.repository.service.internal.db.jdbcwrappers.leak.PreparedStatementLeakWrapper.execute(PreparedStatementLeakWrapper.java:53) at com.ibm.team.repository.service.db.provider.AbstractDbProvider.executeStatement(AbstractDbProvider.java:707) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.executeStatement(Db2Provider.java:638) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.createDataTablespace(Db2Provider.java:496) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.internalCreateDataTablespace(Db2Provider.java:389) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.createTablespaces(Db2Provider.java:364) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.prepareDbForInitialization(Db2Provider.java:313) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy2598.prepareDbForInitialization(Unknown Source) at com.ibm.team.repository.service.internal.rdb.AbstractDatabaseService.internalCreateAllSchemas(AbstractDatabaseService.java:187) at com.ibm.team.repository.service.internal.rdb.DatabaseCreationService$1.run(DatabaseCreationService.java:57) at com.ibm.team.repository.service.internal.rdb.ConnectionRunnable.runWithResult(ConnectionRunnable.java:40) at com.ibm.team.repository.service.internal.rdb.ConnectionRunnable.run(ConnectionRunnable.java:34) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:488) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$1.run(RepositoryDatabase.java:312) at com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:381) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy2600.withCurrentConnection(Unknown Source) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:308) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runExclusive(RepositoryDatabase.java:286) at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runExclusive(PrimitiveTransactionService.java:139) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy2613.runExclusive(Unknown Source) at com.ibm.team.repository.service.internal.rdb.DatabaseCreationService.createAllSchemas(DatabaseCreationService.java:52) at com.ibm.team.repository.service.internal.rdb.DatabaseCreationService.createAllSchemas(DatabaseCreationService.java:48) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy2721.createAllSchemas(Unknown Source) at com.ibm.team.repository.service.internal.DatabaseCreationProgressService$1.run(DatabaseCreationProgressService.java:190) at java.lang.Thread.run(Thread.java:769) Caused by: com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-968, SQLSTATE=57011, SQLERRMC=null, DRIVER=4.14.88 at com.ibm.db2.jcc.am.ed.a(ed.java:682) at com.ibm.db2.jcc.am.ed.a(ed.java:60) at com.ibm.db2.jcc.am.ed.a(ed.java:127) at com.ibm.db2.jcc.am.oo.b(oo.java:2364) at com.ibm.db2.jcc.am.oo.c(oo.java:2347) at com.ibm.db2.jcc.t4.ab.l(ab.java:370) at com.ibm.db2.jcc.t4.ab.a(ab.java:62) at com.ibm.db2.jcc.t4.p.a(p.java:50) at com.ibm.db2.jcc.t4.rb.b(rb.java:220) at com.ibm.db2.jcc.am.po.pc(po.java:3482) at com.ibm.db2.jcc.am.po.b(po.java:4438) at com.ibm.db2.jcc.am.po.jc(po.java:2809) at com.ibm.db2.jcc.am.po.execute(po.java:2788) at com.ibm.team.repository.service.internal.db.jdbcwrappers.stat.PreparedStatementStatWrapper.execute(PreparedStatementStatWrapper.java:54) at com.ibm.team.repository.service.internal.db.jdbcwrappers.errlog.PreparedStatementErrLogWrapper.execute(PreparedStatementErrLogWrapper.java:68) ... 53 more
I am trying to install CLM 4.0.1 with WAS 8.0.0.3 and DB2 9.7
When running through the custom set up I get as far as trying to create the CCM tables when I get the following error.
The crux of the error is the sql error code 968
Now Ive spoken to the DB admin person and their opinion is that the way in which the DB2 database creation scripts are working is flawed and is max- ing out their database server disk(?) space
The DB admin guy seems to think that the scripts could be modified to get around this, but I'm not sure how or if we should do this ( would this be supported??)
(Sorry but not being a DB person the terminology is a bit beyond me!!)
Any help would be appreciated:
Error Message:
The database creation failed with an exception
com.ibm.team.repository.common.RetryableDatabaseException: CRJAZ1318I A database connection error occurred. CRJAZ0265I The virtual storage or database resource is not available. SQL: CREATE LARGE TABLESPACE CONTENTTS MANAGED BY DATABASE USING (file 'jazzdata' 250000) AUTORESIZE YES DROPPED TABLE RECOVERY OFF SQL Exception #1 SQL Message: DB2 SQL Error: SQLCODE=-968, SQLSTATE=57011, SQLERRMC=null, DRIVER=4.14.88 SQL State: 57011 Error Code: -968 at com.ibm.team.repository.service.internal.db.jdbcwrappers.errlog.AbstractErrLogWrapper.logAndReturnException(AbstractErrLogWrapper.java:98) at com.ibm.team.repository.service.internal.db.jdbcwrappers.errlog.StatementErrLogWrapper.logAndReturnException(StatementErrLogWrapper.java:66) at com.ibm.team.repository.service.internal.db.jdbcwrappers.errlog.PreparedStatementErrLogWrapper.execute(PreparedStatementErrLogWrapper.java:70) at com.ibm.team.repository.service.internal.db.jdbcwrappers.leak.PreparedStatementLeakWrapper.execute(PreparedStatementLeakWrapper.java:53) at com.ibm.team.repository.service.db.provider.AbstractDbProvider.executeStatement(AbstractDbProvider.java:707) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.executeStatement(Db2Provider.java:638) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.createDataTablespace(Db2Provider.java:496) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.internalCreateDataTablespace(Db2Provider.java:389) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.createTablespaces(Db2Provider.java:364) at com.ibm.team.repository.jdbcdriver.internal.db2.Db2Provider.prepareDbForInitialization(Db2Provider.java:313) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy2598.prepareDbForInitialization(Unknown Source) at com.ibm.team.repository.service.internal.rdb.AbstractDatabaseService.internalCreateAllSchemas(AbstractDatabaseService.java:187) at com.ibm.team.repository.service.internal.rdb.DatabaseCreationService$1.run(DatabaseCreationService.java:57) at com.ibm.team.repository.service.internal.rdb.ConnectionRunnable.runWithResult(ConnectionRunnable.java:40) at com.ibm.team.repository.service.internal.rdb.ConnectionRunnable.run(ConnectionRunnable.java:34) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:488) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$1.run(RepositoryDatabase.java:312) at com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:381) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy2600.withCurrentConnection(Unknown Source) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:308) at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runExclusive(RepositoryDatabase.java:286) at com.ibm.team.repository.service.internal.PrimitiveTransactionService.runExclusive(PrimitiveTransactionService.java:139) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy2613.runExclusive(Unknown Source) at com.ibm.team.repository.service.internal.rdb.DatabaseCreationService.createAllSchemas(DatabaseCreationService.java:52) at com.ibm.team.repository.service.internal.rdb.DatabaseCreationService.createAllSchemas(DatabaseCreationService.java:48) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy2721.createAllSchemas(Unknown Source) at com.ibm.team.repository.service.internal.DatabaseCreationProgressService$1.run(DatabaseCreationProgressService.java:190) at java.lang.Thread.run(Thread.java:769) Caused by: com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-968, SQLSTATE=57011, SQLERRMC=null, DRIVER=4.14.88 at com.ibm.db2.jcc.am.ed.a(ed.java:682) at com.ibm.db2.jcc.am.ed.a(ed.java:60) at com.ibm.db2.jcc.am.ed.a(ed.java:127) at com.ibm.db2.jcc.am.oo.b(oo.java:2364) at com.ibm.db2.jcc.am.oo.c(oo.java:2347) at com.ibm.db2.jcc.t4.ab.l(ab.java:370) at com.ibm.db2.jcc.t4.ab.a(ab.java:62) at com.ibm.db2.jcc.t4.p.a(p.java:50) at com.ibm.db2.jcc.t4.rb.b(rb.java:220) at com.ibm.db2.jcc.am.po.pc(po.java:3482) at com.ibm.db2.jcc.am.po.b(po.java:4438) at com.ibm.db2.jcc.am.po.jc(po.java:2809) at com.ibm.db2.jcc.am.po.execute(po.java:2788) at com.ibm.team.repository.service.internal.db.jdbcwrappers.stat.PreparedStatementStatWrapper.execute(PreparedStatementStatWrapper.java:54) at com.ibm.team.repository.service.internal.db.jdbcwrappers.errlog.PreparedStatementErrLogWrapper.execute(PreparedStatementErrLogWrapper.java:68) ... 53 more
Accepted answer
Hi,
the error seems to indicate a lack of filesystem space. See https://jazz.net/forum/questions/56158/solved-configure-rtc-3001-with-db2/56161 for a similar discussion. The creation of the database assumes a certain initial size of the databases during creation and you have to provide that space. I assume a conscious decision has been done in development for the minimal sizes and would suggest you provide the space required. See the post above for some numbers.
In addition you want to provide more space, and monitor space available on the DB server(s) since the DB might grow over time. You don't want to run into the situation where the DB needs more space and the filesystem can't provide it.
the error seems to indicate a lack of filesystem space. See https://jazz.net/forum/questions/56158/solved-configure-rtc-3001-with-db2/56161 for a similar discussion. The creation of the database assumes a certain initial size of the databases during creation and you have to provide that space. I assume a conscious decision has been done in development for the minimal sizes and would suggest you provide the space required. See the post above for some numbers.
In addition you want to provide more space, and monitor space available on the DB server(s) since the DB might grow over time. You don't want to run into the situation where the DB needs more space and the filesystem can't provide it.
One other answer
Hi Ralph,
Thanks for the info. Agree it would be good to know the minimum sizes for each of the databases that CLM can create.
I have some additional info about this issue and a workaround as there is something to be aware of. the following comes from the DB Admin :
As part of their policy the customer has configured DB2 to use the database path to hold system catalog information only. Application/users data is allocated into a different containers using database automatic storage feature.
10Gb is assigned to the database path.
When the CLM configuration wizard is run the tablespaces creation causes an error of SQL0968 indicating the file system is full is full.
This is because the CLM application installer creating tablespaces uses a default database_path container/filesystem without allowing to override tablespace creation database-containers value.
It would be better if the CLM application:
creates the tablespaces using [MANAGED BY AUTOMATIC STORAGE] when the database has been created with automatic storage option.
Or
allows installer/DBA's to create tablespaces before commencing creating database objects.
As a workaround we used below commands to "assign" more space:
alter tablespace VSTR_32K MANAGED BY AUTOMATIC STORAGE;
alter tablespace VSTR_32K REBALANCE;
Hope that helps
Thanks for the info. Agree it would be good to know the minimum sizes for each of the databases that CLM can create.
I have some additional info about this issue and a workaround as there is something to be aware of. the following comes from the DB Admin :
As part of their policy the customer has configured DB2 to use the database path to hold system catalog information only. Application/users data is allocated into a different containers using database automatic storage feature.
10Gb is assigned to the database path.
When the CLM configuration wizard is run the tablespaces creation causes an error of SQL0968 indicating the file system is full is full.
This is because the CLM application installer creating tablespaces uses a default database_path container/filesystem without allowing to override tablespace creation database-containers value.
It would be better if the CLM application:
creates the tablespaces using [MANAGED BY AUTOMATIC STORAGE] when the database has been created with automatic storage option.
Or
allows installer/DBA's to create tablespaces before commencing creating database objects.
As a workaround we used below commands to "assign" more space:
alter tablespace VSTR_32K MANAGED BY AUTOMATIC STORAGE;
alter tablespace VSTR_32K REBALANCE;
Hope that helps