sql – Identificador no valido ORACLE

estoy modificando una query para darle performance. Esta devuelve millones de registros.
Lo que hice fue lo siguiente:

  1. Transformar el producto cartesiano en JOIN’s
  2. Transformar EXISTS en JOIN
  3. Transformar NOT EXISTS en LEFT JOIN
  4. Colocar las consultas en el FROM

Me quedo la siguiente query pero me arroja un error de identificador no valido.
Es decir ¿no se puede usar un campo de la tabla obligaciones@dbl_cldd para MATCHEAR con otro campo de otra tabla obligaciones_genericas@dbl_cldd que se encuentra en una subconsulta de una subconsulta?

En el código donde dice “–IDENTIFICADOR NO VALIDO!!!!!!!!!!!!!!” es donde arroja el error

  SELECT     'A' caso_tipo, OBN_ID, OBN_SPO_ID, OBN_TIPO_OBJETO_ID, OBN_OBJETO_ID, OBN_PERIODO, OBN_CUOTA, OBN_FECHA_VTO_ORIGINAL, OBN_SALDO, 
             OBN_PEO_ID_FORMAL, OBN_PEO_ID_MATERIAL, OBN_FAO_ID, OBN_FAO_ID_CUOTA, OBN_ICP_CCO_ID, OBN_ICP_IPO_ID, OBN_VTO_PRORROGADO/*count(*)*/
  FROM       obligaciones@dbl_cldd o 
  JOIN
             (SELECT      oga.oga_id "oga_id"
              FROM        obligaciones_genericas@dbl_cldd oga
              WHERE      oga.oga_fecha_baja IS NULL
              AND         oga.oga_icp_ipo_id IN (5,600,58)
              AND         oga.oga_periodo >= '2015'
              AND         oga.OGA_ICP_CCO_ID IN ('101','201','601','701','581','582')) b
  ON        (o.obn_oga_id = b."oga_id")
  LEFT JOIN
            (SELECT mcc.mcc_obn_id "mcc_obn_id"
            FROM movimientos_cuenta_corriente@dbl_cldd mcc 
            WHERE mcc.mcc_fecha_baja IS NULL 
            AND mcc.mcc_tipo_origen IN ('PAO','FAO','CRE','PSV')) c
  ON        (c."mcc_obn_id" = o.obn_id )
  JOIN
            (SELECT      oo.obn_objeto_id "obn_objeto_id", oo.obn_tipo_objeto_id "obn_tipo_objeto_id", oo.obn_periodo "obn_periodo"
             FROM        obligaciones@dbl_cldd oo
             JOIN
                        (SELECT      og.oga_id "oga_id"
                         FROM        obligaciones_genericas@dbl_cldd og
                         WHERE       og.oga_fecha_baja IS NULL
                         AND         og.oga_icp_ipo_id = o.OBN_ICP_IPO_ID --IDENTIFICADOR NO VALIDO!!!!!!!!!!!!!!
                         AND         og.oga_periodo = o.obn_periodo --IDENTIFICADOR NO VALIDO!!!!!!!!!!
                         AND         og.oga_periodo >= '2015'
                         AND         og.OGA_ICP_CCO_ID IN ('100','200','600','700','580')) aa
             ON           (oo.obn_oga_id = aa."oga_id")
             JOIN
                         (SELECT mcc.mcc_obn_id "mcc_obn_id"
                          FROM movimientos_cuenta_corriente@dbl_cldd mcc 
                          WHERE mcc.mcc_fecha_baja IS NULL 
                          AND mcc.mcc_tipo_origen IN ('PAO','FAO','CRE','PSV')) bb
             ON            (oo.obn_id  = bb."mcc_obn_id")
             WHERE       oo.obn_fecha_baja IS NULL
             AND         oo.obn_peo_id_material IN ('PTET','PTFT','VPPET','VPPFT','VPTET','VPTFT','PPET','PPFT','AFPPG')) d
  ON         (o.obn_objeto_id = d."obn_objeto_id" and o.obn_tipo_objeto_id = d."obn_tipo_objeto_id" and o.obn_periodo = d."obn_periodo")
  WHERE     c."mcc_obn_id" is null
  AND       o.obn_fecha_baja IS NULL
  AND       o.OBN_CUOTA NOT IN (50,80,81,90,91,45); ```