title: cx_oracle with Asyncio in Python with SQLAlchemy
body: <p>I am confused from different thread posted in different time for this topic. 
  Is this feature of Asyncio available with latest version(As of Dec 2019) of cx_Oracle? </p>
  
  <p>I am using below code snippets which is working but not sure if this is perfect way to do async call for Oracle? Any pointer will be helpful. </p>
  
  <pre><code>import asyncio
  
  async def sqlalchemyoracle_fetch():
        conn_start_time = time()
        oracle_tns_conn = 'oracle+cx_oracle://{username}:{password}@{tnsname}'
        engine = create_engine(
      oracle_tns_conn.format(
          username=USERNAME,
          password=PWD,
          tnsname=TNS,
      ),
      pool_recycle=50,
  )
  
      for x in test:
          pd.read_sql(query_randomizer(x), engine) 
  </code></pre>
  
  <p>!calling custom query_randomizer function  which will execute oracle queries from the parameters passed through test which is a list</p>
  
  <pre><code>async def main():
          tasks = [sqlalchemyoracle_asyncfetch()]
          return await asyncio.gather(*tasks)
  
  if __name__ == "__main__":
      result = await main()
  </code></pre>