Installing Oracle Data Mining Manually

Oracle Data Mining is one of the component of Oracle Database. When we create a database using DBCA it creates this component automatically. Even when we go for basic installation there is an option to select or de-select Oracle data mining. While doing Advanced installation, you need to go to “Custom” option on “Select Installation Type” screen and select Oracle Data Mining check box.

For more information please check Installation link.

Below are the simple steps for installing Oracle Data Mining manually using the scripts. This post is based on metalink Note ID: 420791.1

1) Install Oracle Data Mining

This is done by running a simple script dminst.sql present in ORACLE_HOME/rdbms/admin in case of
10.2.X database and in ORACLE_HOME/dm/admin in case of 10.1.X database.

This script needs 2 inputs. First is the name of SYSAUX tablespace name and second is TEMP tablespace name.

SQL> @$ORACLE_HOME/rdbms/admin/dminst.sql SYSAUX TEMP

2) odmpatch.sql should be run to make ODM at 10.2.0.X patch release level.

SQL> @$ORACLE_HOME/rdbms/admin/odmpatch.sql

3) Compile the invalids

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

Check the component in DBA_REGISTRY

SQL> select COMP_NAME,VERSION,STATUS from dba_registry where COMP_NAME=’Oracle Data Mining’;

COMP_NAME
——————————————————————————–
VERSION                        STATUS
—————————— ———————————
Oracle Data Mining
10.2.0.3.0                     VALID

Advertisement

One thought on “Installing Oracle Data Mining Manually

  1. I had problem of mutating with trigger.. so your article helped me and i successfully solved my problem.
    bow now i am facing performance issue.. let me explain you probably you could spot something in that.

    DECLARE
    counter NUMBER;
    m_item varchar(20):= ‘%’||test_package.m_id||’%’;
    i_item varchar(20):= ‘%’||test_package.i_id||’%’;
    BEGIN
    SELECT count(*) into counter FROM VOLSTR.cms_items i, VOLSTR.acs_objects a
    WHERE i.master_id in ( SELECT ii.item_id FROM VOLSTR.cms_items ii WHERE
    ii.ancestors like m_item and ii.version = ‘draft’ and (select count(item_id) from
    VOLSTR.cms_items where master_id = ii.item_id) > 1)
    and i.item_id = a.object_id
    ORDER BY i.master_id;
    — RAISE_APPLICATION_ERROR ( -20601, ‘Duplicate Live is not allowed 2’ || item);
    IF (counter >1 ) THEN
    RAISE_APPLICATION_ERROR ( -20601, ‘Duplicate Live is not allowed 3’ || i_item || ‘ ‘ ||m_item || ” || counter);
    END IF;
    END;

    CREATE OR REPLACE PACKAGE test_package AS
    m_id cms_items.master_id%TYPE;
    i_id cms_items.item_id%TYPE;

    END;

    create or replace trigger mutat_trig
    after INSERT OR UPDATE on cms_items
    for each row
    begin
    test_package.m_id := :new.master_id;
    test_package.i_id := :new.item_id;
    — RAISE_APPLICATION_ERROR ( -20601, ‘Duplicate Live is not allowed’ || test_package.id);
    end;

    basically i had to stop duplicate live entry in cms_items.
    so
    SELECT count(*) into counter FROM VOLSTR.cms_items i, VOLSTR.acs_objects a
    WHERE i.master_id in ( SELECT ii.item_id FROM VOLSTR.cms_items ii WHERE
    ii.ancestors like m_item and ii.version = ‘draft’ and (select count(item_id) from
    VOLSTR.cms_items where master_id = ii.item_id) > 1)
    and i.item_id = a.object_id
    ORDER BY i.master_id;
    above query gives me duplicate entry if any process try to insert duplicate live entry..

    if i run that query in sqlplus ..that takes hardly fraction of second althoug cms_items has half million data.
    but when i create trigger and run my application this trigger force my application to wait for 2 mintue minimum.

    can you please give your valuable idea about this.

    Kind Regards
    chandra
    infoaxon technology..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s