ORA-02097: parameter cannot be modified because specified value is invalid

created undo tablespace
 ALTER SYSTEM SET undo_tablespace = "UNDOTBS_01";
ALTER SYSTEM SET undo_tablespace = "UNDOTBS_01"
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-30014: operation only supported in Automatic Undo Management mode

what am I doing wrong?
LVL 1
bkreynolds48Asked:
Who is Participating?
 
sdstuberConnect With a Mentor Commented:
sorry, I think I misunderstood your previous question.

when you asked if you needed to bounce, I thought you were asking if you needed to bounce in order to add more undo or rollback to your system (based on the other questions)


if you want to swtich from rollback to undo,  YES, that does require a bounce.
because you can't set undo_management parameter without bouncing the system
0
 
sdstuberCommented:
set


undo_management =AUTO

then you'll be able to define the undo_tablespace parameter
0
 
schwertnerCommented:
Try
ALTER SYSTEM SET undo_tablespace = 'UNDOTBS_01'  scope = both;

But before this you have to release "logically" the old UNDO:

ALTER SYSTEM SET undo_retention = 5 scope = both;

If this is production DB then be very careful. Experiment on a test installation.
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
bkreynolds48Author Commented:
If this is production DB then be very careful. Experiment on a test installation

I was setting this up in dev to test so I bounced the database - took the rbs statement out of the init.ora file.  How can I tell if things are fine there - I have to move this to production this week.

Thanks
0
 
sdstuberCommented:
>>>How can I tell if things are fine there

I'm not sure what you're asking.  Test your applications do they work?

If you want to see if the parameters are what you think they are,  look in v$parameter.

Also, check to see if you can use the alter statement in your question,  if you can, then you must be in AUTO (undo),  if you can't, then you're still in MANUAL (rollback)
0
 
schwertnerCommented:
What are you intending to do?
According to me you want to change the UNDO Tablespace.

If it is os, please confirm we (I)will send you step by step instruction.

If this is not the case please clarify....
0
 
bkreynolds48Author Commented:
Just need to change the database from manual rollback to undo.
I can only work on production on Sunday morning so can build the undo tablespace but not switch it until Sunday. -- testing in dev is not very profitable because the developers don't use that database every day which is why I wasn't sure the changes I made were correct.  On Sunday in production I will leave the rollback tablespace in case I need to switch back ---  I will shutdown the app, the database, bring the database up switching to undo then bring the app up.  This is why I was asking about how to know if the change to undo is working - what to look for.
0
 
sdstuberConnect With a Mentor Commented:
look in v$parameter,  see if

undo_management =AUTO

if it isn't then it didn't work.

if it is,  you should then be able to do the SET undo_tablespace.

If you can't set the undo_tablespace, that's another test to see if it worked.  If you are still in manual(rollback) then you'll get the error you posted above
0
 
bkreynolds48Author Commented:
alter system set undo_tablespace = 'UNDOTBS_01' scope = both;
alter system set undo_tablespace = 'UNDOTBS_01' scope = both
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE specified at startup

I don't us an spfile - is there a way around this

SYSTEM > select name, value from v$parameter where name like 'undo%'


NAME                 VALUE
-------------------- ------------------------------
undo_management      AUTO
undo_tablespace      undotbs_01
undo_retention       7200
0
 
sdstuberCommented:
you're using init.ora which is a pfile, not an spfile so "scope=both"  doesn't apply, just leave that part off
and issue the statement like you originally did.

you need to modify the init.ora to make a permanent change

otherwise your changes will only last until the instance is bounced

looks like your changes took though, so you don't need to set to undotbs_01 because it already is

you might want to consider switching to spfiles,  they make changes like this easier because "both" meaning (memory and spfile) could be applied in one step
0
 
bkreynolds48Author Commented:
What would switching to an spfile?  
Is this simple or complicated?
Do you not use the init.ora if you switch to an spfile?

I have always been working about corruption in an spfile - the init.ora file I backup every week during my cold backup so it can always be replaced.
0
 
sdstuberCommented:
it's relatively simple but not really related to this question.  
It was just a suggestion,  certainly not required.
0
 
bkreynolds48Author Commented:
Thanks so much
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.