--> 1)why such an error should occur in Alter command
As you said your table contains millions of records so when you alter the datatype it will log that change information in the undo segment ( others correct me if wrong) because if at any point of time you cancel this command then Database should regain its original structure.
-->2) what is the resolution for this issue
From the error you mentioned it seems that AUTOEXTEND for undo tablespace is OFF , turn it ON. You can check it through following command
SQL> select file_id, file_name, autoextensible from dba_data_files;
so turn it on using the following command
SQL> Alter database file_id autoextend ON;