Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Datastream to Oracle Database - Connection Timeout

I am trying to establish a connection from the Datastream console to the Oracle database in the Oracle Cloud (OCI). I have already created a VPN tunnel it seems to be working since I connected to the same database by VM in the GCP. But when I try to connect through the Datastream it fails with a timeout connection error. Please the screenshot below

carlosfjunior_0-1642788139257.png

 

I am using a private connection and in this case the IP range (/29) used by Datastream, we opened in the OCI firewall.

Too, i tested the connectivity used reverse proxy, and happened the same problem. I saw in the VM instance with proxy configured (used tcpdump), that the connection returned to GCP, but showed the same error in the Datastream.

Is there a way I can solve this?

Is there a way I can see logs or something more detailed from the GCP environment to know exactly what's causing the error?

0 3 2,014
3 REPLIES 3

 

Hello,

Thank you for reaching the Google community. Based on your error it looks like Datastream failed to reach the Oracle server (e.g. no connectivity established) and gave ORA-12170 error. Can you please confirm you have followed this GCP [1] documentation to use Datastream to create a stream from the source database to the destination? You can also follow this Doc[2] to diagnose your issue further.

Hope this helps

Sincerely,

Anik

Reference:

[1] https://cloud.google.com/datastream/docs/network-connectivity-options

[2] https://cloud.google.com/datastream/docs/diagnose-issues

 

Hi Anik,

I followed the documentation to create the private connectivity and none suggestions in the diagnose issues helped me.

When i try run test connectivity, i see this error message in the log:

carlosfjunior_0-1643284010328.png

I simulate the execution this api in the developers.google.com/oauthplayground and i received the response below. It seems that the API returns "invalid argument" and consequently generates the timeout to the database.
I tried to create the MySql Database in the Cloud SQL and used private connectivity and i received the same error.


API Post https://datastream.googleapis.com/v1alpha1/projects/XXX/locations/XXX/connectionProfiles:discover

Request:
{
"connectionProfile": {
"oracleProfile": {
"username": "XXXXX",
"password": "XXXX",
"databaseService": "XXX",
"hostname": "XXX",
"port": 1521
}
},
"recursive": true
}

{
 
"error": {
   
"status": "INVALID_ARGUMENT",
   
"message": "com.google.apps.framework.request.StatusException: <eye3 title='INVALID_ARGUMENT'/> generic::INVALID_ARGUMENT: ",
   
"code": 400,
   
"details": [
     
{
       
"reason": "CONNECTION_TIMEOUT",
       
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
       
"domain": "datastream.googleapis.com",
       
"metadata": {
         
"message": "We timed out trying to connect to the data source. Make sure that the hostname and port configuration is correct, and that the data source is available.",
         
"uuid": "ce0a8f1a-ac9d-44cc-aa4b-e943b543573d",
         
"originalMessage": "ORA-12170: TNS:Connect timeout occurred",
         
"time": "2022-01-27T11:49:19.973302Z"
       
}
     
}
   
]
 
}
}


 

were you able to fix the issue? We ended up same issue. Same setup, Oracle DB onpremise.