Thank you for the reply.
So how is oracle going to find whether I am using more than 1GB RAM?
I have a system for production usage and I want to make sure that I am not violating license terms.
Neither one. A default XE install uses an spfile, parameter changes can be done in memory, or to the spfile, or both.
Some parameters require a shutdown and restart to take affect, increasing memory_target is one of those. The safer way, in case the spfile gets into a state that prevents startup, like for XE increasing memory_target above the allowed limit, create a backup that can be used as a fallback.
conn /as sysdba;
create pfile='c:\temp\initXE.ora' from spfile;
alter system set memory_target = 1200M scope=spfile;
... -- whoops startup will not work with that parameter value
shutdown immediate -- make sure its completly down
... -- will see an error about database not open but that is normal
-- startup with the fallback init file
-- fix the instance spfile
create spfile from pfile='c:\temp\initXE.ora';
-- make sure the startup works this time
If linux is your host, adjust file paths appropriately, of course.
If you don't have a fallback init.ora file one can be created by going into the alert log and finding your most recent good startup. All non-default parameters are logged to the alert file at every startup, in a section starting with "non default parameters" or something similar. Just grab those lines and put them in a <drive:>\path\initXE.ora or /<path>/initXE.ora file.