Here so will be more correct, if I am not mistaken once again)
with t as (
select 1 id, ' IVAN ' fio, 21 acc, 250 nSum from dual
union all
select 1 id, ' IVAN ' fio, 25 acc, 350 nSum from dual
union all
select 1 id, ' IVAN ' fio, 15 acc, 350 nSum from dual
union all
select 1 id, ' IVAN ' fio, 55 acc, 350 nSum from dual
);
t2 as
(select 1 id, ' IVAN ' fio, 23 acc2,150 nSum2 from dual
union all
select 1 id, ' IVAN ' fio, 29 acc2,50 nSum2 from dual
union all
select 1 id, ' IVAN ' fio, 24 acc2,155 nSum2 from dual
)
select distinct x.* from (select x. *, y.acc2, y.nsum2 from
(select t. *, row_number () over (partition by fio order by acc) n from t) x,
(select t2. *, row_number () over (partition by fio order by acc2) n from t2) y
where x.n=y.n and x.fio=y.fio
union all
select x. *, y.acc2, y.nsum2 from
(select t. *, row_number () over (partition by fio order by acc) n from t) x,
(select t2. *, row_number () over (partition by fio order by acc2) n from t2) y
where x.n=y.n (+) and x.fio=y.fio (+)
union all
select x. *, y.acc2, y.nsum2 from
(select t. *, row_number () over (partition by fio order by acc) n from t) x,
(select t2. *, row_number () over (partition by fio order by acc2) n from t2) y
where x.n (+) =y.n and x.fio (+) =y.fio)
x