




<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>Oracle Connection &mdash; Airflow Documentation</title>
  

  
  
  
  

  
  <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
        <script type="text/javascript" src="../../_static/jquery.js"></script>
        <script type="text/javascript" src="../../_static/underscore.js"></script>
        <script type="text/javascript" src="../../_static/doctools.js"></script>
        <script type="text/javascript" src="../../_static/language_data.js"></script>
    
    <script type="text/javascript" src="../../_static/js/theme.js"></script>

    

  
  <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
    <link rel="index" title="Index" href="../../genindex.html" />
    <link rel="search" title="Search" href="../../search.html" />
    <link rel="next" title="PostgresSQL Connection" href="postgres.html" />
    <link rel="prev" title="MySQL Connection" href="mysql.html" />
   
  <script>
    document.addEventListener('DOMContentLoaded', function() {
      var el = document.getElementById('changelog');
      if (el !== null ) {
        // [AIRFLOW-...]
        el.innerHTML = el.innerHTML.replace(
            /\[(AIRFLOW-[\d]+)\]/g,
            `<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
        );
        // (#...)
        el.innerHTML = el.innerHTML.replace(
            /\(#([\d]+)\)/g,
            `<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
        );
      };
    })
  </script>
<!-- Matomo -->
<script>
  var _paq = window._paq = window._paq || [];
  _paq.push(['disableCookies']);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://analytics.apache.org/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '13']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo -->
  <style>
    .example-header {
      position: relative;
      background: #9AAA7A;
      padding: 8px 16px;
      margin-bottom: 0;
    }
    .example-header--with-button {
      padding-right: 166px;
    }
    .example-header:after{
      content: '';
      display: table;
      clear: both;
    }
    .example-title {
      display:block;
      padding: 4px;
      margin-right: 16px;
      color: white;
      overflow-x: auto;
    }
    .example-header-button {
      top: 8px;
      right: 16px;
      position: absolute;
    }
    .example-header + .highlight-python {
      margin-top: 0 !important;
    }
    .viewcode-button {
      display: inline-block;
      padding: 8px 16px;
      border: 0;
      margin: 0;
      outline: 0;
      border-radius: 2px;
      -webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
      box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
      color: #404040;
      background-color: #e7e7e7;
      cursor: pointer;
      font-size: 16px;
      font-weight: 500;
      line-height: 1;
      text-decoration: none;
      text-overflow: ellipsis;
      overflow: hidden;
      text-transform: uppercase;
      -webkit-transition: background-color .2s;
      transition: background-color .2s;
      vertical-align: middle;
      white-space: nowrap;
    }
    .viewcode-button:visited {
      color: #404040;
    }
    .viewcode-button:hover, .viewcode-button:focus {
      color: #404040;
      background-color: #d6d6d6;
    }
  </style>

</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../../index.html" class="icon icon-home"> Airflow
          

          
          </a>

          
            
            
              <div class="version">
                1.10.5
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../project.html">Project</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../license.html">License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../start.html">Quick Start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tutorial.html">Tutorial</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">How-to Guides</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../set-config.html">Setting Configuration Options</a></li>
<li class="toctree-l2"><a class="reference internal" href="../initialize-database.html">Initializing a Database Backend</a></li>
<li class="toctree-l2"><a class="reference internal" href="../operator/index.html">Using Operators</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">Managing Connections</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="index.html#creating-a-connection-with-the-ui">Creating a Connection with the UI</a></li>
<li class="toctree-l3"><a class="reference internal" href="index.html#editing-a-connection-with-the-ui">Editing a Connection with the UI</a></li>
<li class="toctree-l3"><a class="reference internal" href="index.html#creating-a-connection-with-environment-variables">Creating a Connection with Environment Variables</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="index.html#connection-types">Connection Types</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="aws.html">Amazon Web Services Connection</a></li>
<li class="toctree-l4"><a class="reference internal" href="gcp.html">Google Cloud Platform Connection</a></li>
<li class="toctree-l4"><a class="reference internal" href="gcp_sql.html">Google Cloud SQL Connection</a></li>
<li class="toctree-l4"><a class="reference internal" href="grpc.html">gRPC</a></li>
<li class="toctree-l4"><a class="reference internal" href="mysql.html">MySQL Connection</a></li>
<li class="toctree-l4 current"><a class="current reference internal" href="#">Oracle Connection</a></li>
<li class="toctree-l4"><a class="reference internal" href="postgres.html">PostgresSQL Connection</a></li>
<li class="toctree-l4"><a class="reference internal" href="ssh.html">SSH Connection</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../secure-connections.html">Securing Connections</a></li>
<li class="toctree-l2"><a class="reference internal" href="../secure-connections.html#rotating-encryption-keys">Rotating encryption keys</a></li>
<li class="toctree-l2"><a class="reference internal" href="../write-logs.html">Writing Logs</a></li>
<li class="toctree-l2"><a class="reference internal" href="../executor/use-celery.html">Celery Executor</a></li>
<li class="toctree-l2"><a class="reference internal" href="../executor/use-dask.html">Dask Executor</a></li>
<li class="toctree-l2"><a class="reference internal" href="../executor/use-mesos.html">Scaling Out with Mesos (community contributed)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../run-behind-proxy.html">Running Airflow behind a reverse proxy</a></li>
<li class="toctree-l2"><a class="reference internal" href="../run-with-systemd.html">Running Airflow with systemd</a></li>
<li class="toctree-l2"><a class="reference internal" href="../run-with-upstart.html">Running Airflow with upstart</a></li>
<li class="toctree-l2"><a class="reference internal" href="../use-test-config.html">Using the Test Mode Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../check-health.html">Checking Airflow Health Status</a></li>
<li class="toctree-l2"><a class="reference internal" href="../define_extra_link.html">Define an operator extra link</a></li>
<li class="toctree-l2"><a class="reference internal" href="../tracking-user-activity.html">Tracking User Activity</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../ui.html">UI / Screenshots</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../profiling.html">Data Profiling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../cli.html">Command Line Interface Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../scheduler.html">Scheduling &amp; Triggers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../plugins.html">Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../security.html">Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../timezone.html">Time zones</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../api.html">REST API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../integration.html">Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../metrics.html">Metrics</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../kubernetes.html">Kubernetes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../lineage.html">Lineage</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../changelog.html">Changelog</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../faq.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../macros.html">Macros reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../_api/index.html">Python API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../privacy_notice.html">Privacy Notice</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../../index.html">Airflow</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../../index.html">Docs</a> &raquo;</li>
        
          <li><a href="../index.html">How-to Guides</a> &raquo;</li>
        
          <li><a href="index.html">Managing Connections</a> &raquo;</li>
        
      <li>Oracle Connection</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="../../_sources/howto/connection/oracle.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <blockquote>
<div></div></blockquote>
<div class="section" id="oracle-connection">
<h1>Oracle Connection<a class="headerlink" href="#oracle-connection" title="Permalink to this headline">¶</a></h1>
<p>The Oracle connection type provides connection to a Oracle database.</p>
<div class="section" id="configuring-the-connection">
<h2>Configuring the Connection<a class="headerlink" href="#configuring-the-connection" title="Permalink to this headline">¶</a></h2>
<dl>
<dt>Dsn (required)</dt><dd><p>The Data Source Name. The host address for the Oracle server.</p>
</dd>
<dt>Sid (optional)</dt><dd><p>The Oracle System ID. The uniquely identify a particular database on a system.</p>
</dd>
<dt>Service_name (optional)</dt><dd><p>The db_unique_name of the database.</p>
</dd>
<dt>Port (optional)</dt><dd><p>The port for the Oracle server, Default 1521.</p>
</dd>
<dt>Login (required)</dt><dd><p>Specify the user name to connect.</p>
</dd>
<dt>Password (required)</dt><dd><p>Specify the password to connect.</p>
</dd>
<dt>Extra (optional)</dt><dd><p>Specify the extra parameters (as json dictionary) that can be used in Oracle
connection. The following parameters are supported:</p>
<ul class="simple">
<li><p><strong>encoding</strong> - The encoding to use for regular database strings. If not specified,
the environment variable <cite>NLS_LANG</cite> is used. If the environment variable <cite>NLS_LANG</cite>
is not set, <cite>ASCII</cite> is used.</p></li>
<li><p><strong>nencoding</strong> - The encoding to use for national character set database strings.
If not specified, the environment variable <cite>NLS_NCHAR</cite> is used. If the environment
variable <cite>NLS_NCHAR</cite> is not used, the environment variable <cite>NLS_LANG</cite> is used instead,
and if the environment variable <cite>NLS_LANG</cite> is not set, <cite>ASCII</cite> is used.</p></li>
<li><p><strong>threaded</strong> - Whether or not Oracle should wrap accesses to connections with a mutex.
Default value is False.</p></li>
<li><p><strong>events</strong> - Whether or not to initialize Oracle in events mode.</p></li>
<li><p><strong>mode</strong> - one of <cite>sysdba</cite>, <cite>sysasm</cite>, <cite>sysoper</cite>, <cite>sysbkp</cite>, <cite>sysdgd</cite>, <cite>syskmt</cite> or <cite>sysrac</cite>
which are defined at the module level, Default mode is connecting.</p></li>
<li><p><strong>purity</strong> - one of <cite>new</cite>, <cite>self</cite>, <cite>default</cite>. Specify the session acquired from the pool.
configuration parameter.</p></li>
</ul>
<p>More details on all Oracle connect parameters supported can be found in
<a class="reference external" href="https://cx-oracle.readthedocs.io/en/latest/module.html#cx_Oracle.connect">cx_Oracle documentation</a>.</p>
<p>Example “extras” field:</p>
<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
   <span class="nt">&quot;encoding&quot;</span><span class="p">:</span> <span class="s2">&quot;UTF-8&quot;</span><span class="p">,</span>
   <span class="nt">&quot;nencoding&quot;</span><span class="p">:</span> <span class="s2">&quot;UTF-8&quot;</span><span class="p">,</span>
   <span class="nt">&quot;threaded&quot;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
   <span class="nt">&quot;events&quot;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
   <span class="nt">&quot;mode&quot;</span><span class="p">:</span> <span class="s2">&quot;sysdba&quot;</span><span class="p">,</span>
   <span class="nt">&quot;purity&quot;</span><span class="p">:</span> <span class="s2">&quot;new&quot;</span>
<span class="p">}</span>
</pre></div>
</div>
<p>When specifying the connection as URI (in AIRFLOW_CONN_* variable) you should specify it
following the standard syntax of DB connections, where extras are passed as parameters
of the URI (note that all components of the URI should be URL-encoded).</p>
<p>For example:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>oracle://oracle_user:XXXXXXXXXXXX@1.1.1.1:1521?encoding<span class="o">=</span>UTF-8<span class="p">&amp;</span><span class="nv">nencoding</span><span class="o">=</span>UTF-8<span class="p">&amp;</span><span class="nv">threaded</span><span class="o">=</span>False<span class="p">&amp;</span><span class="nv">events</span><span class="o">=</span>False<span class="p">&amp;</span><span class="nv">mode</span><span class="o">=</span>sysdba<span class="p">&amp;</span><span class="nv">purity</span><span class="o">=</span>new
</pre></div>
</div>
</dd>
</dl>
</div>
</div>


           </div>
           
          </div>
          

<footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="postgres.html" class="btn btn-neutral float-right" title="PostgresSQL Connection" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="mysql.html" class="btn btn-neutral float-left" title="MySQL Connection" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.


</footer>

        </div>
      </div>

    </section>

  </div>
  


  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
   

</body>
</html>
