This page describes how to use codeBeamer 8.0 or higher with an Oracle 12c database. To use this document you must be familiar with the Oracle database and with the database administration.
For the installation/migration you will need Oracle DBA permissions. IMPORTANT: Backup your data! Before doing anything, backup your existing database. Also ensure that nobody uses the database during migration, as this may result loss of data.
Prepare new Oracle Schema
codeBeamer requires UTF8 (AL32UTF8) encoding! You can verify the encoding of your database by executing the following query as 'sys' user:
SQL> SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET';
Create the cbroot database user. This MUST be executed by sys user. Run sqlplus and connect as "sys as sysdba" to execute following script (use desired tablespace instead of USERS):
For ORACLE 12c there are two different way, it depends on Multitenant environment or not. To check run the following SQL:
SELECT cdb FROM v$database;
If it is NO then
CREATE USER cbroot IDENTIFIED BY cbpassword DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS;
GRANT CREATE SESSION, CREATE TYPE, CREATE TABLE, CREATE CLUSTER, CREATE TRIGGER, CREATE OPERATOR, CREATE SEQUENCE, CREATE INDEXTYPE, CREATE PROCEDURE, CREATE VIEW To cbroot;
GRANT EXECUTE ON dbms_obfuscation_toolkit TO cbroot;
GRANT EXECUTE ON DBMS_LOB TO cbroot;
GRANT UNLIMITED TABLESPACE TO cbroot;
If it is YES then a common oracle account is required:
CREATE USER c##cbroot IDENTIFIED BY cbpassword DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS;
GRANT CREATE SESSION, CREATE TYPE, CREATE TABLE, CREATE CLUSTER, CREATE TRIGGER, CREATE OPERATOR, CREATE SEQUENCE, CREATE INDEXTYPE, CREATE PROCEDURE, CREATE VIEW To c##cbroot;
GRANT EXECUTE ON dbms_obfuscation_toolkit TO c##cbroot;
GRANT EXECUTE ON DBMS_LOB TO c##cbroot;
GRANT UNLIMITED TABLESPACE TO c##cbroot;
Configure codeBeamer to access the new Oracle database
It must be ensured that codeBeamer is not running.
Edit the configuration file: <cb-installation-dir>/tomcat/webapps/cb/WEB-INF/classes/general.xml
<!-- Comment out to use Oracle
<prop key="SetBigStringTryClob" >true</prop>
Remove the markers '<!-- Comment out to use Oracle' and '-->' above and below to uncomment this section.
Change the ORACLE host address (in the example: 127.0.0.1), port (in the example above: 1521) and SID (in the example above: ORCL) in the JDBC_ConnectionURL="jdbc:oracle:thin:@//URL:port/SID" parameter to address your ORACLE database instance.
Also set the parameters JDBC_Username and JDBC_Password to the schema/user name and password you assigned to the codeBeamer database schema.
Enclose all other <database ...>...</database> sections with comment markers, if not already present, or delete them.
The database tables will be automatically created upon the first start of codeBeamer, so this first startup will take significantly longer than subsequent startups.
Upgrading an existing codeBeamer ORACLE database to a newer codeBeamer version
You must only configure the new codeBeamer installation to access the existing ORACLE database (see above). All necessary database upgrades are automatically executed when you start the new codeBeamer instance for the first time.
To migrate a codeBeamer schema from one ORACLE instance to another, export the schema from the old instance and import at the new instance. Then (re-)configure codeBeamer to access the new instance.
IMPORTANT: Backup your data!Before doing anything, backup your existing database. Also ensure that nobody uses the database during migration, as this may result in loss of data.
If you're upgrading an existing database, make sure the old codeBeamer installation is shut down.
After the upgrade, you cannot easily go back to the old codeBeamer version, because that will most probably not run with the upgraded database. The only safe way to revert the upgrade is to restore the old database from a backup.