Though the initialization parameter is modifiable, it cannot be modified using the specified command.
For example, you try to change the memory_target initialization parameter for your session:
SQL> alter session set memory_target=1;
alter session set memory_target=1
*
ERROR at line 1:
ORA-02096: specified initialization parameter is not modifiable with this option
Although you can change the value for memory_target, you cannot do so for your session.
You can check the v$parameter data dictionary view in order to see if a certain parameter can be changed in a session:
SQL> select isses_modifiable, issys_modifiable from v$parameter where name='memory_target';
ISSES ISSYS_MOD
----- ---------
FALSE IMMEDIATE
As you can see, ISSES_MODIFIABLE (Can be modified using alter session command) is set to false, hence this error message.
The enumeration values for issys_modifiable
FALSE : it means that the parameter cannot change its value in the lifetime of the instance; the database needs to be restarted for changes to take effect.
IMMEDATE: value means that it is dynamic and can be set to change the present active instance as well as future database restarts.
DEFERRED: is also dynamic, but changes only affect subsequent sessions, currently active sessions will not be affected and retain the old parameter value