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 always used TKPROF to do SQL tuning in previous versions of Oracle (7,8 and 9). Can I still use TKPROF in Oracle 10g R2? Continue Reading
A user complains that every time he tries to access a table (select only), it takes more than two hours to get the results. There are no DML ... Continue Reading
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