La procédure ne peut pas être compilée car la table n'est pas présente au moment de la compilation.
Enveloppez également l'insertion dans l'exécution immédiate ou utilisez une table temporaire globale (généralement la solution préférée pour les données temporaires).
create or replace procedure insertval8 (id in number,
name in char )
is
begin
execute immediate 'create table edu2(id number(20), name char(12))';
execute immediate 'insert into edu2(id, name) values (:1, :2)'
using id, name;
end;