in reply to Class::DBI Oracle View Access

I fear my contribute will be very modest, I have no Oracle here to try with (and not much experience on DBD::Oracle, to be honest). Anyway, I'd say that the line
__PACKAGE__->columns(Primary => 'ID');

is likely to be responsible for the error 'The "MAX_SEQ_TOT_PORTS" table has no primary key'.
Maybe you don't need the line at all? Your view clearly has no primary key, and Oracle should automatically take care of indexes on the underlying tables.
Take a look at the Oracle docs for further reference.
Ant9000