可以通过指定 col_mapping 更改字段类型
CREATE TABLE t AS SELECT ROWNUM ID,e.object_id,e.object_name FROM dba_objects e;
CREATE TABLE t_temp AS SELECT * FROM t WHERE 1=0;
ALTER TABLE t_temp MODIFY object_id VARCHAR2(20);
begin
-- Call the procedure
sys.dbms_redefinition.start_redef_table( uname => 'A',
orig_table => 'T',
int_table => 'T_TEMP',
col_mapping => 'id id,to_char(OBJECT_ID) OBJECT_ID,object_name object_name',
);
end;