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."
Dig Deeper on Oracle error messages
Related Q&A from Phillip Bracken
I have a table with 1.5 million records that needs to have a column updated based on a correlated subselect. This update is currently sitting at four... Continue Reading
I have a critical performance issue due to the large volume of data for a specific customer. Whenever customer XYZ's data is being fetched the query ... Continue Reading
Why does the SMON process periodically consume 100% CPU? Continue Reading