Expand my Community achievements bar.

Adobe AEM Integrated with Oracle DB as Node and Document Storage

Avatar

Level 2

Hi

I am trying to use Oracle DB as my Node and Document storage for AEM instead of the JCR.

I understand there is no full support for this implementation from Adobe.

I am referring the below Adobe Doc : RDBMS Support in AEM 6.3

I have done the below steps :

  1. Downloaded Oracle JDBC Jar "ojdbc8.jar" and converted this jar into an OSGi bundle named "com.oracle.jdbc_1.0.1.jar". I had resolved all dependencies and the bundle installs in Active State
  2. I created two config files under "crx-quickstart\install".
    • org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config
      • documentStoreType="rdb"

      • dataSource="oak"

      • persistentCache="-"

      • journalCache="-"

    • org.apache.sling.datasource.DataSourceFactory-oak.config
      • datasource.name="oak"

      • url="jdbc:oracle:thin:@//localhost:1521/ORCLCDB"

      • driverClassName="oracle.jdbc.OracleDriver"

      • username="sys"

      • password="WelcomeAEM!"

      • testOnConnect="false"

      • testWhileIdle="false"

      • dataSourceJNDI="jdbc/OAK"

  3. I placed the JDBC OSGi bundle "com.oracle.jdbc_1.0.1.jar" under "crx-quickstart\install\9".
  4. I started the AEM Server with "java -jar cq-author-p4502.jar -r crx3,crx3rdb"

I am getting "Oracle Driver not found error" as below.

Appreciate your help. I think I am missing something fundamental.

ERROR* [FelixStartLevel] org.apache.tomcat.jdbc.pool.ConnectionPool Unable to create initial connections of pool.

java.sql.SQLException: oracle.jdbc.OracleDriver not found by org.apache.sling.datasource [55]

at org.apache.sling.datasource.internal.DriverDataSource.loadDriverClass(DriverDataSource.java:192)

at org.apache.sling.datasource.internal.DriverDataSource.getDriver(DriverDataSource.java:164)

at org.apache.sling.datasource.internal.DriverDataSource.getConnection(DriverDataSource.java:85)

at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDataSource(PooledConnection.java:224)

at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:180)

at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:713)

at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:647)

at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:468)

at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:145)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)

at org.apache.sling.datasource.internal.DataSourceFactory$LazyJmxRegisteringDataSource.createPool(DataSourceFactory.java:364)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBConnectionHandler.getConnection(RDBConnectionHandler.java:147)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBConnectionHandler.getRWConnection(RDBConnectionHandler.java:70)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.initialize(RDBDocumentStore.java:789)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.<init>(RDBDocumentStore.java:209)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.<init>(RDBDocumentStore.java:221)

at org.apache.jackrabbit.oak.plugins.document.DocumentMK$Builder.setRDBConnection(DocumentMK.java:740)

at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.registerNodeStore(DocumentNodeStoreService.java:493)

at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.registerNodeStoreIfPossible(DocumentNodeStoreService.java:416)

at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.activate(DocumentNodeStoreService.java:400)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)

at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)

at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)

at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)

at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)

at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)

at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:298)

at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109)

at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)

at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)

at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:749)

at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675)

at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430)

at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657)

at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341)

at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390)

at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54)

at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265)

at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)

at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)

at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482)

at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)

at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)

at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)

at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:916)

at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:835)

at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:517)

at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4542)

at org.apache.felix.framework.Felix.startBundle(Felix.java:2173)

at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)

at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)

at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver not found by org.apache.sling.datasource [55]

at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1574)

at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)

at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1926)

at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:978)

at org.apache.sling.datasource.internal.DriverDataSource.loadDriverClass(DriverDataSource.java:188)

... 57 common frames omitted

28.02.2018 16:53:34.192 *ERROR* [FelixStartLevel] org.apache.jackrabbit.oak-core [org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService(183)] The activate method has thrown an exception (org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: initializing RDB document store)

org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: initializing RDB document store

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.<init>(RDBDocumentStore.java:211)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.<init>(RDBDocumentStore.java:221)

at org.apache.jackrabbit.oak.plugins.document.DocumentMK$Builder.setRDBConnection(DocumentMK.java:740)

at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.registerNodeStore(DocumentNodeStoreService.java:493)

at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.registerNodeStoreIfPossible(DocumentNodeStoreService.java:416)

at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.activate(DocumentNodeStoreService.java:400)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)

at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)

at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)

at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)

at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)

at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)

at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:298)

at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109)

at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906)

at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879)

at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:749)

at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675)

at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430)

at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657)

at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341)

at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390)

at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54)

at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265)

at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)

at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)

at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482)

at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)

at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)

at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)

at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:916)

at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:835)

at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:517)

at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4542)

at org.apache.felix.framework.Felix.startBundle(Felix.java:2173)

at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)

at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)

at java.lang.Thread.run(Thread.java:748)

Caused by: java.sql.SQLException: oracle.jdbc.OracleDriver not found by org.apache.sling.datasource [55]

at org.apache.sling.datasource.internal.DriverDataSource.loadDriverClass(DriverDataSource.java:192)

at org.apache.sling.datasource.internal.DriverDataSource.getDriver(DriverDataSource.java:164)

at org.apache.sling.datasource.internal.DriverDataSource.getConnection(DriverDataSource.java:85)

at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDataSource(PooledConnection.java:224)

at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:180)

at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:713)

at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:647)

at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:468)

at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:145)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)

at org.apache.sling.datasource.internal.DataSourceFactory$LazyJmxRegisteringDataSource.createPool(DataSourceFactory.java:364)

at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBConnectionHandler.getConnection(RDBConnectionHandler.java:147)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBConnectionHandler.getRWConnection(RDBConnectionHandler.java:70)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.initialize(RDBDocumentStore.java:789)

at org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.<init>(RDBDocumentStore.java:209)

... 41 common frames omitted

Caused by: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver not found by org.apache.sling.datasource [55]

at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1574)

at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)

at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1926)

at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:978)

at org.apache.sling.datasource.internal.DriverDataSource.loadDriverClass(DriverDataSource.java:188)

... 57 common frames omitted

15 Replies