On windows the problem is not exactly how big the SGA can be but how big the process memory can be. The maximum value is only limited by how much address space you have in your Oracle process, and how much memory you have in the machine. You can go upto 3 GB (refer to Microsoft Article ID:Q171793), but due address space fragmentation, it is often not possible to push the envelope on address space usage, so if you try to allocate a huge SGA, you may get failures even if you have enough memory
The SGA value is limited by how much address space you have in your Oracle process, and how much memory you have in the machine. Prior to NT4.0 SP3, you were limited to 2GB of address space per process so physical memory exceeding 2GB would not benefit Oracle. However, now
Oracle can address up to 3GB on Windows 2000 ADVANCED Server and Windows NT 4.0 Enterprise Edition as long as the /3GB switch is set in the boot.ini file. As a general rule, we do not recommend you allocate more than 50% of your available memory for the SGA.