Install and Configure an OHI Database

Install Oracle Database Software

First, install the Oracle Database software required for Oracle Health Insurance.

Set up Real Apllication Clusters

Set up RAC when required.

Create Oracle Health Insurance database

Now create the Oracle Health Insurance database. For this activity the following requirements and restrictions apply.

Character Set

The character set of an Oracle Health Insurance database must be AL32UTF8.

Block size

Use an 8K block size.

Tablespaces and Redo log files

All tablespaces must be created using 12c default style (locally managed, system/uniform managed extent allocation, Automatic Segment Space Management).

Temporary tablespace

For a production system, create a default temporary tablespace TEMP (this name is mandatory) with an initial size of 32GB, auto-extendable to 128GB.

Undo

For a production system, create an undo tablespace with an initial size of 16GB, auto-extendable to 64GB.

Redo log

For a production system, create 16 online redo log files of 3GB each.

Parameters

  • NLS_LENGTH_SEMANTICS = CHAR

  • _like_with_bind_as_equality=TRUE

  • DB_SECUREFILE = ALWAYS

Unless specified otherwise, keep all parameters default.

Required privileges

Oracle Health Insurance use queues in the Oracle database. The owner of the queue objects, the applications owner schema, requires execute privileges on the SYS.DBMS_AQIN package.

For installing Oracle Health Insurance database artifacts the SYSTEM account is used. In this process also database grants are given by the system database user. To be able to do that, SYSTEM user needs GRANT ANY OBJECT PRIVILEGE (without grant option).

Thus, following commands should be executed as SYS:

connect sys as sysdba
GRANT EXECUTE ON sys.dbms_aqin TO system WITH GRANT OPTION;
GRANT EXECUTE ON sys.dbms_lock TO system WITH GRANT OPTION;
GRANT GRANT ANY OBJECT PRIVILEGE TO system;
GRANT EXECUTE on sys.dbms_system TO system WITH GRANT OPTION;
GRANT SELECT on sys.v_$parameter to system WITH GRANT OPTION;

Access to the Oracle Health Insurance Specific Database Schemas

The Oracle Health Insurance specific database schemas and all database objects in it are an integral part of Oracle Health Insurance Applications. The data may be queried but should only be updated via published APIs like the application’s user interface and its HTTP APIs.

Updating the data in the Oracle Health Insurance schemas in any other way is not supported.
Oracle may change the physical data model as it sees fit, for example in order to change the implementation of existing functionality or for adding new functionality to the application. As a result, queries executed directly against the OHI specific database schemas may fail after an upgrade of the application.

If ad hoc queries against the data model are required, make sure to use the reporting views in Oracle Health Insurance applications that feature these.

Note that ad hoc queries impact the performance of Oracle Health Insurance applications. If database workload reports are required for diagnostic purposes, Oracle may request temporarily suspending the use of any ad hoc queries that do not originate from the Oracle Health Insurance application.

Creating additional schemas in the database

Oracle recommends that the Oracle database instance that is used by Oracle Health Insurance is used solely for the purpose of running Oracle Health Insurance.

In the case that additional database schemas or roles are created in the Oracle database instance, make sure these are NOT prefixed with OHI.

Schema privileges

Through the installation utility, database schemas will be created for the installed applications. These schemas will be granted privileges on the following SYS -owned objects:

Application Owner Schema:

  • AQ_ADMINISTRATOR_ROLE

  • EXECUTE ON CTX_DDL

  • EXECUTE ON DBMS_LOCK

  • EXECUTE ON DBMS_AQ

  • EXECUTE ON DBMS_AQADM

  • EXECUTE ON DBMS_AQ_BQVIEW

Application User Schema:

  • EXECUTE ON DBMS_AQIN

Set up Flashback Data Archive

The Flashback Data Archive (Total Recall) feature of Oracle Server is used to log changes to setup tables. Using this feature is important to trace set up or configuration changes, even at a later stage, to facilitate auditing and troubleshooting.

Not using this feature severely limits auditing and traceability of setup or configuration changes. For example, determining the impact of certain configuration changes at a later stage without having Flashback enabled would require database backups to be restored.

In order to use Flashback Data Archive the following settings need to be made:

  • The user that will be used to switch archiving on tables on and off should be granted the "FLASHBACK ARCHIVE ADMINISTER" privilege (grant FLASHBACK ARCHIVE ADMINISTER to <user>).

  • This user should be granted "ALTER TABLE" rights on the tables that need to be archived (or stopped being archived).

  • Create a separate tablespace for the Flashback Archive. Define this tablespace using "extent management local uniform size 40K". This 40K size (for 12c) has proven to be the optimal size for this tablespace.

  • Create a Flashback Archive, for example:

CREATE FLASHBACK ARCHIVE [DEFAULT] fda1 TABLESPACE tbs1 QUOTA 10G RETENTION 5 YEAR;
  • Subsequently, enable flashback on a per table basis, for example:

ALTER TABLE OHI_DYNAMIC_LOGIC_B flashback archive fda1;

Configuring which tables to archive and how is considered a responsibility of the database administrator.

After enabling Flashback Data Archive, it is recommended that the following script is run on a regular basis as a SYSDBA to reclaim storage in the flashback tablespace that is allocated by empty partition segments:

begin
  for r_dfat in (select dfat.owner_name
                 ,      dfat.archive_table_name
                 from   dba_flashback_archive_tables dfat
                )
  loop
    dbms_space_admin.drop_empty_segments(r_dfat.owner_name, r_dfat.archive_table_name);
  end loop;
end;
/

Advanced Compression

Oracle Health Insurance is certified to work with advanced compression: table compression for OLTP is supported. Note that this database option is licensed separately

Index Compression

Oracle Health Insurance is certified to work with index compression. For index compression to work optimally, each index should be evaluated (periodically). When executing a 'validate index' statement Oracle will update the INDEX_STATS, showing the estimated optimal compression factor in the opt_cmpr_count column.

The value of this optimal compression factor is dependent on data distribution and can change over time.