ContentBox with Oracle11g setup error

Hi,

I am trying to get ContentBox setup and running with our Oracle 11g database and running into issues. The software stack is Tomcat 7.0.41 fresh clean install, with Coldfusion 10 Patch 10 clean install. I setup my Oracle DSN in CFAdmin and got it validated so I know CF is can talk to the DB. I then hit the CB root to go through the setup, and tell it to use the DSN I setup in CFAdmin (called it contentbox btw), which is accepts and moves on to trying to create the DB objects. I originally had the issue of Oracle complaining about not allowing two fields of type “long” in the same table, and I found the other post about that and changed the Author.cfc fields from text/8000 to clob’s.

Now I am getting “ORA-01408: such column list already indexed”. The stack trace I am getting is not very helpful and is below. Any thoughts or suggestions?

06/21 13:09:49 [http-bio-80-exec-7] HIBERNATE ERROR - could not complete schema update

org.hibernate.JDBCException: Error during DDL export
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:209)
at coldfusion.orm.hibernate.HibernateConfiguration.exportSchema(HibernateConfiguration.java:453)
at coldfusion.orm.hibernate.HibernateConfiguration.exportSchema(HibernateConfiguration.java:411)
at coldfusion.orm.hibernate.HibernateConfiguration.initHibernateConfiguration(HibernateConfiguration.java:224)
at coldfusion.orm.hibernate.HibernateConfiguration.(HibernateConfiguration.java:181)
at coldfusion.orm.hibernate.ConfigurationManager.initConfiguration(ConfigurationManager.java:67)
at coldfusion.orm.hibernate.HibernateProvider.InitializeORMForApplication(HibernateProvider.java:185)
at coldfusion.orm.hibernate.HibernateProvider.beforeApplicationStart(HibernateProvider.java:80)
at coldfusion.filter.ApplicationFilter.fireBeforeAppStartEvent(ApplicationFilter.java:572)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:306)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:219)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.sql.SQLException: ORA-01408: such column list already indexed

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:113)
at oracle.jdbc.driver.T4CStatement.execute_for_rows(T4CStatement.java:561)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1086)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1487)
at coldfusion.server.j2ee.sql.JRunStatement.executeUpdate(JRunStatement.java:193)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:204)
… 41 more

Thanks

-Ed Andrade

Caused by: java.sql.SQLException: ORA-01408: such column list already indexed

Can you drop all the tables and start over again. Perhaps some of the DB is still there from the first attempt.

Also, can you create tickets for any Oracle issues you find?

https://ortussolutions.atlassian.net/browse/CONTENTBOX

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

If you could setup Hibernate logging we could see the SQL that is being created and perhaps find the missing pieces.

Thanks,

George Murphy

Ed, it is my understanding that ContentBox does not work with Oracle yet. Brad, is there a ticket for this yet?

Thanks,

George Murphy

I think I am getting closer to figuring this out. Attached is the hibernate log…

hibernatesql.log (31 KB)

George, I don’t know of any tickets in JIRA for ContentBox and Oracle we we’ll need help getting them created for whatever needs fixing.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Hi Ed, as a work around you can try creating the DB in mySQL of mssql server and using a tool like Navicat to create the tables and structure in Oracle. I tried that once with some success but I never had time to finish it. I remember running into some errors. I do not have the latest version of that table creation script or I would send it to you. Not sure if you have ever worked with Navicat but it is good for stuff like that. Download the trial version of Navicat Premium.

Thanks,

George Murphy

Here’s some insite on that ORA-01408 error you are getting in the Hibernate file.
https://forums.oracle.com/thread/631936

Thanks for the tip. I am actually making progress in Oracle though. I am finding two specific types of issues:

  • Table properties that have both unique=“true” and an index specified. I think what is happening in Oracle is that Oracle automatically creates a unique index with a system generated name with unique=“true” and then tries to create another index with the index name specified. I don’t know about other DB’s but Oracle does not like having 2 indexes for the same field.
  • More then one table is using the same index name. Again, I am guessing other DB’s don’t mind having duplicate index names as long as they are for different tables, but Oracle does not like it.
    What I am working my way through is for the first one, I am removing the index specification and just allowing the system generated name. For the second issue, I am finding all the instances of that index name and making it unique.

I’m thinking that at least the second change may be useful to get into the code base? What would be a good way to submit the changes (if that is even appropriate) for review when I am done?

-Ed

hello it is now December 2018 and I am still running into this issue with Oracle 12c is there a version for Oracle that has been made if not I will for the contentbox code base and make one working through these errors and even finding this group has been a challenge. Is there a community website other than this that has solutions for common problems with this framework and CMS?

Hi

The website and documentation all have links to the google help forum and slack for real-time assistance.

I would suggest you join the box team slack for real-time assistance: boxteam.herokuapp.com.

George Murphy was leading the oracle charge so I will point him to this post and also he is slack as well.

Luis Majano
CEO
Ortus Solutions, Corp

P/F: 1-888-557-8057

– -- For News, visit For Bug Reports, visit — You received this message because you are subscribed to the Google Groups “ContentBox Modular CMS” group. To unsubscribe from this group and stop receiving emails from it, send an email to . To post to this group, send email to . Visit this group at . To view this discussion on the web visit . For more options, visit .

hello after fixing all the models for Oracle 12c I have run into the following error I found this document Loading New Modules - ColdBox HMVC Documentation its unclear where to register the module though

Cannot activate module: contentbox

The module has not been registered, register the module first and then activate it.

The error occurred in D:/cf2016/ColdFusion2016.ear/cfusion.war/contentbox/coldbox/system/web/services/ModuleService.cfc: line 447
Called from D:/cf2016/ColdFusion2016.ear/cfusion.war/contentbox/coldbox/system/web/services/ModuleService.cfc: line 480
Called from D:/cf2016/ColdFusion2016.ear/cfusion.war/contentbox/coldbox/system/web/services/ModuleService.cfc: line 475
Called from D:/cf2016/ColdFusion2016.ear/cfusion.war/contentbox/coldbox/system/web/services/ModuleService.cfc: line 422
Called from D:/cf2016/ColdFusion2016.ear/cfusion.war/contentbox/coldbox/system/web/services/LoaderService.cfc: line 57
Called from D:/cf2016/ColdFusion2016.ear/cfusion.war/contentbox/coldbox/system/Bootstrap.cfc: line 98
Called from D:/cf2016/ColdFusion2016.ear/cfusion.war/contentbox/Application.cfc: line 85

445 : 		if( NOT structKeyExists( modules, arguments.moduleName ) ){
446 : 			throw(
**447 : 				message = "Cannot activate module: #arguments.moduleName#",**
448 : 				detail 	= "The module has not been registered, register the module first and then activate it.",
449 : 				type 	= "ModuleService.IllegalModuleState"

That sounds like a secondary error. Meaning the first request to the site likely errored out while trying to register the contentbox module and left the framework in a corrupted stated. Then the second (and so on) request to the site tried to use the module.

What is the first error you get if hitting the with ?fwreinit=1 in the URL?

url.PNG

just posted some screen shots its the same error after changing the url to re init

Nope, that’s the same error. Did you not notice that? Try doing a server restart and grab the very first fresh hit to the site. Also, check your logs, which may need configured.

I cleared my logs and restarted the server there was only two errors the first is
“Error”,“WebContainer : 0”,“12/04/18”,“13:14:08”,"",“Skipping file D:\cf2016\ColdFusion2016.ear\cfusion.war\contentbox\modules\contentbox-dsncreator\models\LuceeHelper.cfc as it has errors”

the second is

“Error”,“WebContainer : 0”,“12/04/18”,“13:17:14”,“ContentBox8A49A13FFF678888E2ACCE3A10C1D412”,"Cannot activate module: contentboxThe module has not been registered, register the module first and then activate it. The specific sequence of files included or processed is: D:\cf2016\ColdFusion2016.ear\cfusion.war\contentbox\index.cfm, line: 447 "
coldfusion.runtime.CustomException: Cannot activate module: contentbox
at coldfusion.tagext.lang.ThrowTag.doStartTag(ThrowTag.java:142)

Ok, we’ve covered this 3 times now. The second error is nothing. It means nothing to us. All it means is that something in the past happened that was bad. All we care about is the first error.

Your issue is your ORM CFC locations are misconfigured and ColdFusion is scanning the entire webroot looking for ORM entities. You need to correctly limit that down to only be the modules and module_app folder. (And the coldbox models folder if you plan on having ORM entities there).

Thanks Brad ill enter it into the procedures for installing contentBox on Cf 2016 Oracle 12c. ill post my source changes and documentation when I get it all working.

it seems these setting are configured in the application.cfc
cfclocation=[ “models”, “modules”, “modules_app” ],

does it matter that i am in s sub folder from the root?