- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Verwendung einer tnsnames.ora
Hallo,
wir stellen demnรคchst unsere Datenbanken auf ODA (Oracle Database Appliance) um.
Dadurch wird der Connection-String dutlich lรคnger als bisher, da in dem String auch die "Failover"Variante mit eingebaut ist.
Nun zur eigentlichen Frage:
Kann ich "irgendwie" eine tnsnames.ora anbinden?
Normalerweise wird diese mit -Doracle.net.tns_admin=PFADANGABE dem Javaprozess mitgegeben.
Ich habe gehofft, das die Angabe wrapper.java.additional.8=-Doracle.net.tns_admin=D:/FsSabVz/conf/tnsnames.ora (auch mit "\" statt "/")
in der fs-wrapper.conf hilft. Bei der Konfiguration der Datenbanken sollte dann jdbc:oracle:thin:/@extappt ausreichen. (auch ohne "/" probiert).
Aber leider ist das nicht der Fall. Ich bekomme die Meldung: Fehler:I/O-Fehler: could not resolve the connect identifier "extappt"
extappt steht als Servicename in der tnsnames.ora.
Die tnsnames.ora kann von dem Nutzer unter dem das FS-System lรคuft gelesen werden. Das System wurde auch nach hinzufรผgen des Eintrages neu gestartet.
Hat jemand so etwas schon probiert?
Grรผรe
Andreas
p.s. Der Helpdesk hat mich mit der Frage an die Community verwiesen.
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wie ist denn der JDBC-Treiber in FirstSpirit eingebunden? Als Modul? Hat das Modul alle Rechte?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Fehler gefunden: Es darf nur
wrapper.java.additional.8=-Doracle.net.tns_admin=D:/FsSabVz/conf/
eingetragen werden. tnsnames.ora darf nicht mit in der Angabe stehen.
Eine Datei namens tnsnames.ora muss sich natรผrlich in dem angegebenen Verzeichnis befinden.
Dann funktioniert es auch.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Danke fรผr die Rรผckmeldung. Ich kannte diese Art der Konfiguration bisher noch nicht. So ist die Konfiguration tatsรคchlich รผbersichtlicher und kann zentral geรคndert werden. Guter Tipp!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Andreas, Hallo Peter,
wir haben die gleiche Anforderung mit der Oracle DB und dem Failover/Loadbalancer Connection String.
Leider ist es uns bisher nicht mรถglich gewesen diesen korrekt zu konfigurieren (FS 5.2.1002).
Die GUI im Server Manager kommt damit nicht zurecht. Manuelles Eintragen in die fs-database.conf hat bisher auch nicht funktioniert.
Meine Frage ist, wenn ich eine tnsnames.ora habe, wie muss dann die "normale" DB Verbindung (fs-database.conf) konfiguriert werden?
Die jdbc.URL darf ja nicht leer sein.
Viele Grรผรe
Thomas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Thomas,
ich habe di notwendigen Schritte mal in einem Dokument kurz zusammengefasst. Hoffe, dass es hilt.
Grรผรe
Andreas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Andreas,
vielen Dank fรผr deine schnelle Reaktion und die Anleitung die du geschrieben hast.
Leider bekommen wir es aktuell noch nicht korrekt konfiguriert. Es sieht so aus als ob die tnsnames.ora gar nicht geladen wird.
Beim Zugriff auf die DB bekommen wir dann eine unspezifische SQL Exception:
INFO 31.07.2017 11:49:56.119 (de.espirit.or.impl.connection.ConnectionManagerFactory): Create a new Connection pool for ConnectionPoolId{jdbc:oracle:thin:@oracledb;schema=XXXX;user=XXXX;module=null}
INFO 31.07.2017 11:49:56.134 (de.espirit.or.impl.connection.DBConnectionManager): Using default transaction isolation 'READ_COMMITTED'.
INFO 31.07.2017 11:49:56.181 (de.espirit.or.impl.connection.DBConnectionManager): Driver: sun.misc.Launcher$AppClassLoader@1540e19d
INFO 31.07.2017 11:49:56.181 (de.espirit.or.impl.connection.DBConnectionManager): Connection manager: sun.misc.Launcher$AppClassLoader@1540e19d
INFO 31.07.2017 11:49:56.197 (de.espirit.or.impl.connection.DBConnectionManager): oracle.jdbc.OracleDriver: Major 12, minor 1, jdbc compliant = true
ERROR 31.07.2017 11:49:56.322 (de.espirit.or.impl.connection.DBConnectionManager): SQL-Exception! jdbc:oracle:thin:/@XXXX
FSVersion=5.2.1002.76101#5262;JDK=1.8.0_101 64bit Oracle Corporation;OS=Windows Server 2012 6.2 amd64;Date=31.07.2017 11:49:56
java.sql.SQLRecoverableException: I/O-Fehler: SO Exception was generated
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)
at de.espirit.or.impl.connection.DBConnectionManager.createConnection(DBConnectionManager.java:344)
at de.espirit.or.impl.connection.DBConnectionManager.access$700(DBConnectionManager.java:49)
at de.espirit.or.impl.connection.DBConnectionManager$ConnectionHolder.getConnection(DBConnectionManager.java:622)
at de.espirit.or.impl.connection.DBConnectionManager.init(DBConnectionManager.java:230)
at de.espirit.or.impl.connection.ConnectionManagerFactory$DelegatingConnectionManager.init(ConnectionManagerFactory.java:167)
at de.espirit.or.impl.connection.ConnectionManagerFactory.getConnectionManager(ConnectionManagerFactory.java:60)
at de.espirit.or.impl.connection.ConnectionManagerFactory.getConnectionManager(ConnectionManagerFactory.java:42)
at de.espirit.firstspirit.content.ContentManagerImpl.createSessionHandler(ContentManagerImpl.java:911)
at de.espirit.firstspirit.content.ContentManagerImpl.access$000(ContentManagerImpl.java:137)
at de.espirit.firstspirit.content.ContentManagerImpl$1.invoke(ContentManagerImpl.java:170)
at de.espirit.firstspirit.content.ContentManagerImpl$1.invoke(ContentManagerImpl.java:167)
at de.espirit.common.util.CachingFactory$ValueCreationStrategy$1.get(CachingFactory.java:51)
at de.espirit.common.util.CachingFactory.get(CachingFactory.java:294)
at de.espirit.firstspirit.content.ContentManagerImpl.getSessionHandler(ContentManagerImpl.java:868)
at de.espirit.firstspirit.content.ContentManagerImpl.getLayerCaseMode(ContentManagerImpl.java:863)
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 de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:67)
at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:139)
at de.espirit.firstspirit.server.io.handler.ManagerCall.handle(ManagerCall.java:85)
at de.espirit.firstspirit.server.io.MessageWorker.run(MessageWorker.java:49)
at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:625)
at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:590)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:436)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:56)
Caused by: oracle.net.ns.NetException: SO Exception was generated
at oracle.net.resolver.AddrResolution.resolveAddrTree(AddrResolution.java:736)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:477)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:595)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:230)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1452)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:496)
... 36 more
INFO 31.07.2017 11:49:56.322 (de.espirit.or.impl.connection.DBConnectionManager): Created connection pool with 5 initial connections, maximum pool size is 9
Wir haben das FirstSpirit Logging auch mal auf DEBUG gestellt, leider bekommen wir da nicht mehr Informationen.
Evtl. liegt es noch an der Oracle Version, wir benutzen ja Oracle 12c und einen entsprechenden 12er JDBC Treiber.
Evtl. kann uns der Support weiterhelfen.
Danke nochmals und viele Grรผรe
Thomas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Andreas,
nur eine kurze Rรผckmeldung. Die Verbindungsprobleme lagen an einer falsch konfigurierten tnsnames.ora. Der Vorschlag aus der Anleitung hat bei uns leider so nicht funktioniert. Wir haben jetzt verschiedene Varianten der Konfiguration einfach mit dem Oracle SQL Developer getestet.
Dort kann man die DB Verbindungen auch รผber eine tnsnames.ora einrichten (siehe auch Use tnsnames.ora in Oracle SQL Developer - Stack Overflow ) und schnell und einfach testen.
Danke und viele Grรผรe
Thomas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry, ich habe unsere Konfiguration mitgeschrieben. Bei uns funktioniert sie - die wurde von unseren Systemern so entwickelt. Wahrscheinlich haben wir wie an so vielen Stellen eine Sonderlocke.
Hauptsache es funktioniert jetzt.
Grรผรe
Andreas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Andreas,
noch mal vielen Dank fรผr die Anleitung und die Hilfe!
Viele Grรผรe
Thomas

