Multiple service_name and hosts with same alias
You need different DESCRIPTION sections to have different SERVICE_NAME in the CONNECT_DATA section.

DWH_connection =
  (DESCRIPTION_LIST =
    (LOAD_BALANCE=OFF)
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Server1)(PORT = 1521))
      (CONNECT_DATA =
        (SERVICE_NAME = Oracleinstance1)
        (SERVER = DEDICATED)
      )
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Server2)(PORT = 1521))
      (CONNECT_DATA =
        (SERVICE_NAME = Oracleinstance2)
        (SERVER = DEDICATED)
      )
    )
  )


The default value of LOAD_BALANCE is ON, but in your case, connections should go to the first server, and go to the second one only if that fails, so LOAD_BALANCE=OFF is needed, otherwise connections would be distributed between the 2 servers.