Error while upgrading from varchar2(4000) to varchar2(32k)

Posted on 2015-02-06
Last Modified: 2015-02-10
Hello Experts,

I am getting error while while upgrading from varchar2(4000) to varchar2(32k) , that is applying MAX_STRING_SIZE='EXTENDED' .

Steps followed under sys user:

1.alter system set max_string_size=EXTENDED scope=spfile;
2. sqlplus / as sysdba -shutdown immediate
3.Startup upgrade

Open in new window

After running this we got the message :

plsql procedure sucessfully completed and then :

ORA-01555 Snapshot Too Old

Database 12c Enterprise Edition Release

ORACLE instance started.

Total System Global Area 1653518336 bytes
Fixed Size                  2289016 bytes
Variable Size            1207960200 bytes
Database Buffers          436207616 bytes
Redo Buffers                7061504 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-14695: MAX_STRING_SIZE migration is incomplete
Process ID: 17080
Session ID: 1 Serial number: 9

Open in new window

Question by:Swadhin Ray
  • 5
  • 3
LVL 73

Accepted Solution

sdstuber earned 500 total points
ID: 40593658
make your undo larger
LVL 16

Author Comment

by:Swadhin Ray
ID: 40593734
Thanks for your response. Will try to do that and come back .
LVL 16

Author Comment

by:Swadhin Ray
ID: 40600208
I did a mistake after executing the script . I didn't shut-down and restarted the database.
When I did that I was able to start it successfully.

I didn't made any change on undo.

Let me know if I can close this ticket or not.
LVL 73

Expert Comment

ID: 40600792
your output above looks like you were trying to restart your database when you got the error

you can close the ticket if you want.
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

LVL 16

Author Comment

by:Swadhin Ray
ID: 40600814
I executed the "utl32k.sql" script again and after it was successfully completed, I shut-down the database and then finally started the database .

It worked for me. Not sure why it was giving the error.

Can you please let me know if I have followed the right steps to make larger undo tablespace :

 Add new data files to it:

     ADD DATAFILE '*****\undo02.dbf' SIZE 200M AUTOEXTEND ON
                   NEXT 100M MAXSIZE UNLIMITED;
LVL 16

Author Closing Comment

by:Swadhin Ray
ID: 40600824
Thanks a lot ...
LVL 73

Expert Comment

ID: 40600907
yes, that's the correct method for adding a file.

alternately, you could extend the files you already have to make them larger.

neither way is necessarily better, use whatever is easiest for you.
LVL 16

Author Comment

by:Swadhin Ray
ID: 40600927
Thanks @sdstuber.....

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  …
This video explains at a high level about the four available data types in Oracle and how dates can be manipulated by the user to get data into and out of the database.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now