Others may correct but i think, If you don't have the FK defined on these columns you can do below.
--Alter table add column which will be very fast within seconds as it will just add it to the data dictionary.
ALTER TABLE tab1 ADD COLUMN new_column1 NUMERIC(3), new_column2 varchar2(3);
-- Back populate the data partition wise and commit, if it's really neededUPDATE tab1_part1 SET new_column1 = CAST(old_column1 AS NUMERIC(3)), new_column2 = CAST(old_column2 AS varchar2(3)) ;
commit;
UPDATE tab1_part2 SET new_column1 = CAST(old_column1 AS NUMERIC(3)), new_column2 = CAST(old_column2 AS varchar2(3)) ;
commit;
UPDATE tab1_part3 SET new_column1 = CAST(old_column1 AS NUMERIC(3)), new_column2 = CAST(old_column2 AS varchar2(3)) ;
commit;
.....
--Alter table drop old columns which will be very fast within seconds as it will just drop it from the data dictionary.
ALTER TABLE your_table DROP COLUMN old_column1, DROP COLUMN old_column2;