AnsweredAssumed Answered

ORA-12519, TNS:no appropriate service handler found

Question asked by cdn_alfresco_developer on Nov 2, 2015
Latest reply on Nov 2, 2015 by cdn_alfresco_developer
Platform: Alfresco 4.2.1 Enterprise Edition
OS: Windows 7
Database: Oracle Express: 11g

We are going to be transferring our users from Alfresco 2.9 Community to Alfresco 4.2.4 Enterprise.
A consultant had written scripts to export the data from 2.9 for an import into 4.2.4

While we await for our licence approval, we are testing the installation and customisations to get a head start on the project.

(we are going to 4.2.4 for now due to the Explorer interface being removed from releases after this).. Eventually we will follow the upgrade path to get onto the latest platform version. We have some custom modifications that we have made to the explorer ui and some actions that we wrote that will be applied to via an amp deployment.

I have tried deploying just the alfresco.war explorer 4.2.4 and it works fine. When I apply the amp and install/deploy from scratch, I get ORA-12519, TNS:no appropriate service handler found. The database tables get created ok. The last thing that is successful before the exception is Startup of replication subsystem.

Startup of 'Replication' subsystem, ID: [Replication, default] complete
2015-11-02 11:24:30,171  ERROR [post.lookup.PostLookup] [DefaultScheduler_Worker-6] Exception during update of posts:
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open connection

I have attached the console log file (tomcat.log)

My alfresco-global.properties is:
<blockcode>
###############################
## Common Alfresco Properties #
###############################

#
# Sample custom content and index data location
#
dir.root=C:/u01/alfresco/alf_data
dir.keystore=${dir.root}/keystore

#
# Sample database connection properties
#
db.username=username
db.password=password

#
# External locations
#————-
ooo.exe=soffice
ooo.enabled=false
jodconverter.officeHome=C:/Progra~2/OpenOffice.org
jodconverter.portNumbers=8101
jodconverter.enabled=true
img.root=C:/Progra~2/ImageMagick-6.3.5-Q16
swf.exe=C:/Progra~2/SWFTools/pdf2swf

#
# Windows specific environment variables (should not be set on unix) for ImageMagick
#
img.coders=${img.root}/modules/coders
img.config=${img.root}/config
img.gslib=${img.root}
img.dyn=${img.root}/
img.exe=${img.root}/convert


#
# Property to control whether schema updates are performed automatically.
# Updates must be enabled during upgrades as, apart from the static upgrade scripts,
# there are also auto-generated update scripts that will need to be executed.  After
# upgrading to a new version, this can be disabled.
#
db.schema.update=true

#
# MySQL connection
#
#db.driver=org.gjt.mm.mysql.Driver
#db.url=jdbc:mysql://localhost/alfresco?useUnicode=yes&characterEncoding=UTF-8

#
# Oracle connection
#
db.driver=oracle.jdbc.OracleDriver
db.url=jdbc:oracle:thin:@localhost:1521:xe
db.port=8080

#
# SQLServer connection
# Requires jTDS driver version 1.2.5 and SNAPSHOT isolation mode
# Enable TCP protocol on fixed port 1433
# Prepare the database with:
# ALTER DATABASE alfresco SET ALLOW_SNAPSHOT_ISOLATION ON;
#s:sqlserver://localhost:1433/alfresco
#db.txn.isolation=4096

#db.driver=net.sourceforge.jtds.jdbc.Driver
#db.url=jdbc:jtd
#
# PostgreSQL connection (requires postgresql-8.2-504.jdbc3.jar or equivalent)
#
#db.driver=org.postgresql.Driver
#db.url=jdbc:postgresql://localhost:5432/alfresco

#
# DB2 connection
#
#db.driver=com.ibm.db2.jcc.DB2Driver
#db.url=jdbc:db2://localhost:50000/alfresco:retrieveMessagesFromServerOnGetMessage=true;

#
# Index Recovery Mode
#————-
#index.recovery.mode=AUTO

#
# Outbound Email Configuration
#————-
#mail.host=
#mail.port=25
#mail.username=anonymous
#mail.password=
#mail.encoding=UTF-8
#mail.from.default=alfresco@alfresco.org
#mail.smtp.auth=false

#
# Alfresco Email Service and Email Server
#————-

# Enable/Disable the inbound email service.  The service could be used by processes other than
# the Email Server (e.g. direct RMI access) so this flag is independent of the Email Service.
#————-
#email.inbound.enabled=true

# Email Server properties
#————-
#email.server.enabled=true
#email.server.port=25
#email.server.domain=alfresco.com
#email.inbound.unknownUser=anonymous

# A comma separated list of email REGEX patterns of allowed senders.
# If there are any values in the list then all sender email addresses
# must match. For example:
#   .*\@alfresco\.com, .*\@alfresco\.org
# Allow anyone:
#————-
#email.server.allowed.senders=.*

#
# The default authentication chain
# To configure external authentication subsystems see:
# http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems
#————-
#authentication.chain=alfrescoNtlm1:alfrescoNtlm

#
# URL Generation Parameters (The ${localname} token is replaced by the local server name)
#————-
#alfresco.context=alfresco
#alfresco.host=${localname}
#alfresco.port=8080
#alfresco.protocol=http
#
#share.context=share
#share.host=${localname}
#share.port=8080
#share.protocol=http

#imap.server.enabled=true
#imap.server.port=143
#imap.server.host=localhost

# Default value of alfresco.rmi.services.host is 0.0.0.0 which means 'listen on all adapters'.
# This allows connections to JMX both remotely and locally.
#
alfresco.rmi.services.host=0.0.0.0

#
# RMI service ports for the individual services.
# These seven services are available remotely.
#
# Assign individual ports for each service for best performance
# or run several services on the same port. You can even run everything on 50500 if needed.
#
# Select 0 to use a random unused port.
#
#avm.rmi.service.port=50501
#avmsync.rmi.service.port=50502
#attribute.rmi.service.port=50503
#authentication.rmi.service.port=50504
#repo.rmi.service.port=50505
#action.rmi.service.port=50506
#wcm-deployment-receiver.rmi.service.port=50507
#monitor.rmi.service.port=50508
</blockcode>


We also have a datasource.. I'm not 100% sure if 4.2.4 is picking up the properties file, or using this datasource. We used a datasource in 2.9 but 4.2 seems to be configured differently… For now, I've left it with both the properties and datasource.

C:\Program Files\Apache_Software_Foundation\apache-tomcat-7.0.42\webapps\alfresco\WEB-INF\classes\alfresco\extension\data-source-context.xml

<blockcode>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<!– Over-rides the datasource bean in core-services-context.xml to support jndi lookup –>
<beans>
    <!– Datasource bean –>
    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
      <property name="jndiName" value="java:comp/env/jdbc/nhpols_dsn" />
   </bean>
</beans>
<blockcode>


The tns names seems to be ok since it's creating the database structure and I can log in via sql developer with no issues.

Does anyone have a suggestion what to look for? We will have a licence for enterprise in the near future so we can open an official ticket then if we have not resolved it by then. We'd like to get it resolved asap though so we can start testing the upgrade process once we get an official licence.

Attachments

Outcomes