Introduction
This article discusses how to connect to an Oracle Database via the Service Name instead of a direct connection using the Oracle Database's SID.
Oracle Easy Connect
The Easy Connect connection string is the easiest way of connecting to your Oracle database. Use this type of connection string in the Database Connections dialog boxes
user/password@//hostname:port/servicename
user/password@//hostname:port:sidFor example
scott/tiger@//amidala:1521/orcl
scott/tiger@//amidala:1521:orclUsing this string, it is not necessary to enter a username or password in the dialog, as these are included in the Easy Connect string. However, using them in the connect string does make them visible in the FME logfile.
As of FME 2015, these connections are maintained in the Database Connections file, accessible via Tools > FME Options > Database Connections.
This example uses an Oracle SID (configured in the tnsnames.ora alias for aporacle12)
This example uses an Oracle Easy Connect string with a service name (notice the forward slash after the port)
This example uses an Oracle Easy Connect string with a SID (notice the colon after the port)
Oracle RAC for Server Oracle Repositories
This also looks at configuring FME Flow to use an Oracle Repository that is accessed with the Service Name instead of the SID - for example, if you are using Oracle RAC.
If you intend to use Oracle RAC for your FME Server database, you will need to modify the FME Flow configuration files. The files are fmeCommonConfig.txt and fmeFlowrWebApplicationConfig.txt.
In the admin guide, we suggest a couple of URL's: (doc link )
The most common is using this form and usually involves the Service Name: JDBC_URL=jdbc:oracle:thin:@<host>:1521/<service name>
where <host> is the name of your database server and <service name> is the service name of the database.
Another form is when using the SID of the database: JDBC_URL=jdbc:oracle:thin:@<host>:1521:<sid>
Where <sid> is the value that the Oracle Listener on the Oracle Server system has been configured for.
If you are connecting to a Service for Oracle RAC, it has been found that this syntax can be used. JDBC_URL=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<host>) where <host> is the name of the Oracle RAC system.