Migrating to Oracle
Note that during the migration of database servers, the Fisheye/Crucible instance will not be available to users or to external API clients.
The OJDBC driver is not bundled
Since version 4.8.15 the OJDCB driver is no longer bundled in Fisheye / Crucible.
Using LDAP credentials to connect to the Oracle database is currently not supported.
Step 1. Install and Create a Oracle Database
- The JDBC drivers for Oracle are no longer bundled with Fisheye/Crucible. Download the latest version of the OJDBC8 driver (com.oracle.database.jdbc:ojdbc8). Do not use OJDBC10 or OJDBC11 as they are not compatible with Java 8.
- Copy the
JAR
file to yourFISHEYE_INST/lib
directory (create thelib/
directory if it doesn't already exist). - Restart Fisheye/Crucible to have it pick up the new driver.
- Because creating a database with Oracle is a complex process, we recommend speaking to your resident DBA for creation of a new database for usage with Fisheye/Crucible. We highly recommend installing Oracle with the
AL32UTF8
encoding otherwise you may see encoding issues in the product.
Permissions
Ensure the database user has CREATE TABLE, CREATE SEQUENCE and CREATE TRIGGER permissions in addition to the read/write permissions to the database.
Step 2. Configure Fisheye/Crucible to use Oracle, and Migrate Data
In order to migrate to a different database backend, you must create a backup of sql data, configure the database and finally import the data via a backup restoration process. This can be done from either the Fisheye/Crucible administration console, which streamlines the process, or via the command line tool which Fisheye/Crucible provides.
Option 1: Migrate using the UI (Fisheye/Crucible Administration)
- Navigate to the
Database
page in Fisheye/Crucible's Administration console.To log in to the Admin area, you can either:
- click Administration at the foot of the page.
- navigate to
http://HOSTNAME:8060/admin/
, whereHOSTNAME
is the name of the server on which you installed Fisheye.
Once logged in as an administrator you can also get to the Admin area by clicking the 'cog' menu in the Fisheye/Crucible header, and choosing Administration.
- Then choose Edit > Test Connection to verify that Fisheye/Crucible can log in to the database.
- Select
Oracle
from the database type - Fill in the appropriate fields, replacing the host, port, database name, username and password using the same connection details as used when creating the Oracle database in Step 1 above.
- Click on
Test Connection
to validate the values
Screenshot: Testing the Connection
If this fails, verify that you have the Oracle JDBC driver.jar
file in the classpath (by placing the.jar
file inFISHEYE_INST/lib
). Also, ensure that the database user can log in to the database from the machine that Fisheye/Crucible is running on and that all the required privileges are present. - Click Save & Migrate Data to start the migration process.
During the migration process (which will take several minutes, depending on the size of your database and network throughput), the product will be inaccessible to users and external API clients. Users will see a maintenance screen that informs them of the process. Should the migration fail for any reason, Fisheye/Crucible will not switch to the new database and report on the encountered problems. Because the destination database may now contain some, but not yet all data, drop all tables, indexes and constraints before attempting a new migration.
Screenshot: Migrating the Database
Option 2: Migrate using the command line
- Create a backup of the
sql
data from the Fisheye/Crucible instance. Information on how to create a backup can be found at Backing up and restoring Fisheye data \ Backing up and restoring Crucible data Run the following command from the
<FishEye installation directory>/bin
directory:
$ ./fisheyectl.sh restore --sql \ --file /path/to/backup.zip \ --dbtype oracle \ --jdbcurl jdbc:oracle:thin:@hostname:port:dbname \ --username crucible \ --password password
- When the import is complete, Fisheye/Crucible can be started and will use Oracle.