Is it possible to have two instances one of db2 7.2 and the other of db2 8.1 on the same AIX machine. The AIX OS version being 5.
I tried installing and the install goes through fine but when i try to start the db2 8.1 instance it gives the following error
SQL 1220N The database manager shared memory set cannot be allocated.
SQL 1032N No start database manager was issued SQLSTATE=57019
Even upon getting the instances down on db2 7.1 and cleaning the db2 process using ipcrm command it gices the same error.
Actually it is possible on Unix environments, and I don't believe IBM ever says it isn't supported or recommended...It is mentioned in the Quick Beginnings for DB2 Servers Version 8 book on page 19 only in terms of not being supported on windows.
We temporarily have both running on a solaris v880 and have no problems.
It sounds like the problem you are having is more due to memory limitations and or configuration on the box.
I agree. I have worked on plenty of unix platforms--AIX,HP-UX, Solaris, Linux--all of them support multiple versions simultaneously. Even in production, I've never found an error I could attribute to the presence of multple versions.
From what I've read, you can install and have two versions running concurrently - however, you cannot have links to both. So if you're testing on v8 and have a v7 that developers are using, for commands in v8 you will have to explicitly specify the path /usr/opt/db2_08_01/adm/db2start ie /usr/opt/db2_08_01/cfg/db2ln should not be run. For those of you who have done this, is that true?
By default, db2 creates a link in /usr/bin (for AIX) and may be others. But, if you want to run two versions of the product you will have to remove these links, using /usr/lpp/db2_07_01/cfg/db2rmln ...
If your applications have been linked using the above link, you will have to relink your application and use the $INSTHOME/sqllib/lib directory as your library ...
This is when you want to run multiple versions of db2 ...
Most others, generally will not be affected ...
For eg, db2start, as it is issued under the instance owner (say db2v8int), the environment variables of the instance owner are used, which will be pointing to the right bin directory ....
Maybe correct if you want to run only one version's instance at a time ... I thought the whole point was to run both versions at the same time ...
If you want the latter, then :
It is important to ensure that you do not have any version specific files in the shared libraries .... If the other version picks it up, it will cause errors ....
If you have V7 and want to install V8, run db2rmln to remove the links ... Then relink your applications, if any, using sqllib/lib directory ... Test your applications ...
Then go ahead installing V8 and run v8's db2rmln to remove them ... Then if you are linking any applications to v8, do it using sqllib/lib of v8 instance ...
My v7 is having this link libdb2.a -> /usr/lpp/db2_07_01/lib/libdb2.a
I've installed v8 but it complained :
exec(): 0509-036 Cannot load program db2 because of the following errors:
0509-150 Dependent module /usr/lib/libdb2.a(shr_64.o) could not be loaded.
0509-152 Member shr_64.o is not found in archive
So, should I just run db2rmln from v7 and that'll solve the problem ? Do I need to run db2ln from v8 ?