Complex query

A file whose location i am not aware of contains the below text

<url>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(FAILOVER=on)(ADDRESS=(PROTOCOL=TCP)
(HOST=ngm2sn1p2-vip.mybank.net)(PORT=4001))(ADDRESS=(PROTOCOL=TCP)(HOST=ngm2sn2p2-vip.mybank.net)
(PORT=4001)))(CONNECT_DATA=(SERVICE_NAME=besttable)(FAILOVER_MODE=(TYPE=select)(METHOD=basic))(DELAY=180)(RETRIES=5)))</url>

I need to grep strictly for these two strings together "oracle:thin" and in the result just need to display "HOST=ngm2sn1p2-vip.mybank.net" "PORT=4001" for every entry found in any file and ignoring the duplicate entries for combined HOST and PORT.

Below is what i wish to extend in order to achieve the above.

find ./ -type f | xargs grep "oracle:thin" 
 

Your help is appreciated.

Are the host and port constants or you just need any first host and port defined in the jdbc connection string?