【问题标题】:cx_Oracle.DatabaseError: ORA-12170: TNS:Connect timeout occurred apache airflowcx_Oracle.DatabaseError:ORA-12170:TNS:连接超时发生 apache 气流
【发布时间】:2019-11-13 13:58:08
【问题描述】:

获取 cx_Oracle.DatabaseError: ORA-12170: TNS:Connect timeout 在 Google Cloud Platform 的 Composer 中创建气流作业时发生

我尝试了以下两个代码,但它们不起作用。

  1. engine = cx_Oracle.connect('user', 'pass', cx_Oracle.makedsn('hostip', 'portnum',None,'service_name'))

  2. engine = cx_Oracle.connect('user/pass@hostip:portnum/service_name')

    def get_oracle_engine():

        oracle_connection_string = 'oracle+cx_oracle://{username}:{password}@{hostname}:{port}/{service_name}'
        oracle_host = 'hostip'
        oracle_port = 'portnum'
        oracle_user = 'user'
        oracle_pw = 'pass'
        oracle_service_name = 'service_name'
        engine = cx_Oracle.connect(oracle_connection_string.format(
            username=oracle_user,
            password=oracle_pw,
            hostname=oracle_host,
            port=oracle_port,
            service_name=oracle_service_name ,
        ))
        return engine
    
        engine = get_engine()
        logging.info("connected..")
    

环境:Google Cloud Platform - Composer、Airflow、Oracle

它应该连接到 Oracle 数据库。有什么建议吗??

【问题讨论】:

  • 对术语的小评论:Easy Connect 语法和您的 makedsn() 调用都使用服务名称,而不是 SID。因为我不了解环境,所以我没有关于 ORA 错误的 cmets。

标签: python-3.x oracle google-cloud-platform airflow


【解决方案1】:

连接超时是指oracle客户端无法到达oracle_host。因此请注意,您的 oracle 服务器必须可以从您正在使用的 composer 环境中访问。测试连通性:

  1. 使用
  2. 加载 gke 集群
gcloud container clusters get-credentials <GKE_Cluster_used_by_Composer> \
   --zone=<Composer_Zone> \
   --project=<PROJECT_ID>
  1. 从 Composer 网络运行一个用于测试 oracle 服务器的 pod:
kubectl run --generator=run-pod/v1 --image=nginx:alpine test
  1. 测试连接
kubectl exec -ti test sh
/ # nc -zv <oracle_host> <oracle_port>

如果一切正常,您应该会得到这样的结果:

kubectl exec -ti test sh
/ # nc -zv myorchost.internal.net 53701
myorchost.internal.net (10.0.0.11:53701) open

【讨论】:

    猜你喜欢
    • 2019-01-21
    • 2020-10-10
    • 2014-07-21
    • 2016-12-04
    • 1970-01-01
    • 2015-11-03
    • 2012-02-03
    • 2016-07-29
    • 2015-05-23
    相关资源
    最近更新 更多