Oracle Howto

This HOWTO aims to be a simple guide to make Turbine run with an existing Oracle 8i database. The process of making Turbine run are not covered in this guide, proceed to Turbine Installation for help on how to install Turbine.

Creating the Database

If you do not have a database already set up, you will need to create one so we can create the necessary tables for Turbine. The steps below are simple steps to take to create a new database. If you already have a database ready for use, you can skip this part.

1. Open the Oracle Database Configuration assistant

2. Create a database with the Global Database Name 'turbine.project' and SID 'turbine'

  • Global Database Name : turbine.project
  • SID : turbine
  • SYSTEM account password : manager
  • SYS account password : change_on_install

3. Wait for the database to be created.

4. Good idea to stop the services from running if the Oracle database isn't being used as they are memory hungry for a development desktop machine. Check if the Oracle TNS Listener and the correct service are running when trying to connect.

Populating the Database from the .sql Scripts

5. Start SQL *PLUS and login to the database using the username and password for the database. You may want to use the same username and password you will use for Turbine, or you will need to create synonyms for the tables and grant the necessary privilieges (SELECT, UPDATE, INSERT, etc), so Turbine can access the tables directly without using "user"."table_name".

6. Run the Oracle specific scripts. For the cvs version of Turbine, these can be found in turbine/src/sql . In SQL*PLUS type :

@path/to/oracle-turbine.sql

7.The oracle-turbine.sql script creates an oracle sequence for each turbine table. To use these sequences for primary key generation, the oracle-turbine-security.sql script should be modified. For example, the following command from the script :

INSERT INTO TURBINE_USER (USER_ID, LOGIN_NAME, PASSWORD_VALUE, FIRST_NAME, LAST_NAME) VALUES (0, 'turbine', 'turbine', 'turbine', 'turbine');

would be changed to something like :

INSERT INTO TURBINE_USER (USER_ID, LOGIN_NAME, PASSWORD_VALUE, FIRST_NAME, LAST_NAME) VALUES (TURBINE_USER_SEQ.nextval, 'turbine', 'turbine', 'turbine', 'turbine');

When your changes, if any, are made to the script, run it from SQL*PLUS :

@path/to/oracle-turbine-security.sql

8.If you would rather use Turbine's id-broker to generate primary keys, run the following scripts to create and populate the id-broker table :

@path/to/oracle-id-table-schema.sql

@path/to/oracle-turbine-id-table-init.sql

Setting up Turbine to Connect to Oracle

9. Download and install the Oracle 8i JDBC type 4 Thin driver for JDK 1.2.x from the Oracle website. Add the classes12_01.zip file to the classpath of the servlet engine. In JServ add to the jserv.properties file the line:

    wrapper.classpath=/path/to/classes12_01.zip

10. Ensure that the OracleoracleTNSListener service and the OracleServiceTURBINE service is running before using the driver.

11. Follow the installation document for Turbine with the following differences. To link up the Oracle database and driver to Turbine, edit the TurbineResources.properties file;

  • Uncomment the lines:
    • database.default.driver=oracle.jdbc.driver.OracleDriver

      database.default.url=jdbc:oracle:thin:@localhost:1521:ORCL

    and ensure no other database.default.driver or database.default.url is left uncommented.

  • Edit the database.default.url to the oracle thin driver format drivername:@servername:portnumber:SID
    • database.default.driver=oracle.jdbc.driver.OracleDriver

      database.default.url=jdbc:oracle:thin:@localhost:1521:turbine

    The servername is the Oracle server name and the port is the port that oracle uses. It is important not to confuse the Oracle servername and port with the Apache server name and port. Refer to the Oracle 8i documentation if there are any conflicts in this regard. Take care to use the correct SID for the database you have set up.

  • Edit the database.default.username and database.default.password to match the username and password of your database.
  • You may need to check if a Turbine database adaptor has been setup for Oracle. Look for the following lines in TurbineResources.properties, and add them in case you do not find:

      database.adaptor=DBOracle

      database.adaptor.DBOracle=oracle.jdbc.driver.OracleDriver

Connecting to the Oracle Database

12. Point your web browser at http://servername:port/servlets/Turbine (the URL may vary depending on your servlet engine) and login as username turbine, password turbine. After logging in you should see the congratulatory "Welcome To The Default Screen".