If you are running the 64-bit version of Linux and Oracle, then check the SHMALL Kernel setting. It may be set too low. It should be set to value of SHMMAX divided by the page size. To get your systems page size run the following command.
If you are not running the 64-bit version, you are getting this error because with the 32-bit version of Oracle, there is a 1.7 Gig SGA memory limitation. There is a way to increase this limitation to 2.7 Gig but you have to lower the base mapped memory address of Oracle and then relink Oracle software. The following metalink document goes into the detail on how to do this but you still will not be able to increase it to 3 Gig: "200266.1 - Increasing Usable Address Space for Oracle on 32-bit Linux."
This was first published in June 2007