# Keycloak v8.0.0 with Oracle 18c with driver ojdbc8

**URL:** <https://forum.keycloak.org/t/keycloak-v8-0-0-with-oracle-18c-with-driver-ojdbc8/991>\
**Category:** Configuring the server\
**Created:** [January 19, 2020, 2:43pm UTC](https://forum.keycloak.org/t/keycloak-v8-0-0-with-oracle-18c-with-driver-ojdbc8/991 "2020-01-19T14:43:31Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![monzer.24](https://avatars.discourse-cdn.com/v4/letter/m/858c86/32.png) [@monzer.24](https://forum.keycloak.org/u/monzer.24)\
**Post date:** [January 19, 2020, 2:43pm UTC](https://forum.keycloak.org/t/keycloak-v8-0-0-with-oracle-18c-with-driver-ojdbc8/991/1 "2020-01-19T14:43:31Z")

</div>

I tried to connect keycloak 8.0.0 with oracle 18c database on Ubuntu

module.xml :  
\<?xml version="1.0" encoding="UTF-8"?\>

```
<module name="com.Oracle" xmlns="urn:jboss:module:1.3">
      <resources>
        <resource-root path="ojdbc8.jar"/>
        <resource-root path="ojdbc8.policy"/>
    </resources>
  <dependencies>
        <module name="javax.api"/>
		<module name="javax.transaction.api"/>
     </dependencies>
</module>

```

and standalone.xml file :

```
<datasource jndi-name="java:jboss/datasources/OracleDS" pool-name="OracleDS" enabled="true" use-java-context="true">
        <connection-url>jdbc:oracle:thin:@192.168.1.52:1521:xe</connection-url>
        <driver>oracle</driver>
        <pool>
            <min-pool-size>5</min-pool-size>
            <max-pool-size>15</max-pool-size>
            <fair>false</fair>
            <flush-strategy>IdleConnections</flush-strategy>
        </pool>
        <security>
            <user-name>keycloak</user-name>
             <password>keycloak</password>
         </security>
         <validation>
             <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
              <validate-on-match>true</validate-on-match>
              <background-validation>true</background-validation>
              <background-validation-millis>6000</background-validation-millis>
              <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
                            <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
         </validation>
         <timeout>
             <blocking-timeout-millis>5000</blocking-timeout-millis>
              <idle-timeout-minutes>5</idle-timeout-minutes>
          </timeout>
 </datasource> 

```

can anybody help please ?

also:  
[https://stackoverflow.com/questions/59772103/keycloak-with-oracle-18c-database-is-not-working](https://stackoverflow.com/questions/59772103/keycloak-with-oracle-18c-database-is-not-working)

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![stianst](https://yyz2.discourse-cdn.com/free1/user_avatar/forum.keycloak.org/stianst/32/16_2.png) [@stianst](https://forum.keycloak.org/u/stianst)\
**Post date:** [January 20, 2020, 8:08am UTC](https://forum.keycloak.org/t/keycloak-v8-0-0-with-oracle-18c-with-driver-ojdbc8/991/2 "2020-01-20T08:08:59Z")

</div>

Afraid Oracle 18 is not supported right now. We’re hoping this will be resolved in Keycloak 9, but it is a bit out of our control as we’re dependent on support in underlying WildFly container.

---

<div class="post-metadata">

**Author:** ![monzer.24](https://avatars.discourse-cdn.com/v4/letter/m/858c86/32.png) [@monzer.24](https://forum.keycloak.org/u/monzer.24)\
**Post date:** [January 20, 2020, 8:30am UTC](https://forum.keycloak.org/t/keycloak-v8-0-0-with-oracle-18c-with-driver-ojdbc8/991/3 "2020-01-20T08:30:24Z")

</div>

@stianst  
Thank you so much for replying,  
what is the latest version of oracle that Keycloak supports?

---

<div class="post-metadata">

**Author:** ![stianst](https://yyz2.discourse-cdn.com/free1/user_avatar/forum.keycloak.org/stianst/32/16_2.png) [@stianst](https://forum.keycloak.org/u/stianst)\
**Post date:** [January 20, 2020, 10:28am UTC](https://forum.keycloak.org/t/keycloak-v8-0-0-with-oracle-18c-with-driver-ojdbc8/991/4 "2020-01-20T10:28:41Z")

</div>

12, which I’m afraid is already EOL by Oracle.

---

<div class="post-metadata">

**Author:** ![ping](https://avatars.discourse-cdn.com/v4/letter/p/f14d63/32.png) [@ping](https://forum.keycloak.org/u/ping)\
**Post date:** [January 23, 2020, 3:29am UTC](https://forum.keycloak.org/t/keycloak-v8-0-0-with-oracle-18c-with-driver-ojdbc8/991/5 "2020-01-23T03:29:58Z")

</div>

i am recently also trying to update to oracle DB 18c/19c (but for redhat sso 7.3/keycloak 4.8.3), i managed to make it works by:

## edit the standalone.bat

```
<datasources>
	<datasource jta="true" jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true" statistics-enabled="false">
		<connection-url>{jdbc_connection_string}</connection-url>
		<driver>oracle</driver>
		<security>
			<user-name>{DB_username}</user-name>
			<password>{DB_password}</password>
		</security>
	</datasource>
	<drivers>
		<driver name="oracle" module="com.oracle.ojdbc8"> <!-- add module definition in advanced -->
			<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
		</driver>
	</drivers>
</datasources>

<spi name="connectionsJpa">
	<provider name="default" enabled="true">
		<properties>
			<property name="dataSource" value="java:jboss/datasources/KeycloakDS"/>
			<property name="initializeEmpty" value="true"/>
			<property name="migrationStrategy" value="update"/> 
			<property name="driverDialect" value="org.hibernate.dialect.Oracle12cDialect"/> <!-- take note -->
			<property name="migrationExport" value="${jboss.home.dir}/keycloak-database-update.sql"/>
		</properties>
	</provider>
</spi>

<!-- change from ExampleDS to KeycloakDS -->

<default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/KeycloakDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>

```

* * *
