La meilleure pratique lors d'une insert
est de lister explicitement les colonnes :
INSERT INTO hist_museum(col1, col2, . . . )
SELECT col1, col2, . . .
FROM of_owner.museum al JOIN
of_owner.city_data vd
ON al.city_data_id = VD.city_data_id
WHERE gps_full_date < add_months(SYSDATE, -12);
Bien entendu, les colonnes du SELECT
, doit être qualifié par le nom de la table.
De plus, la sous-requête est inutile. Il n'y a aucune raison d'écrire une sous-requête uniquement pour les données du fichier.