6.8 Installing Oracle Database In-Memory for Oracle Exalytics

Oracle Database In-Memory can be installed and configured on all Exalytics Machines running Oracle Exalytics Release 2.0 or later, and used for all analytics use cases. Oracle Database In-Memory is easily deployed under any existing application that is compatible with Oracle Database 12c. No application changes are required.

Note:

Oracle does not offer out of the box High Availability/Disaster Recovery/Backup, or other features, related to the management and availability of Oracle Database In-Memory on an Exalytics Machine. For information on these and other features, see the Oracle Database 12c Release 1 (12.1) documentation at the following location:

https://docs.oracle.com/en/database/database.html

This section consists of the following topics:

6.8.1 Supported Oracle Database In-Memory Configurations

The following Oracle Database In-Memory configurations are certified to run on Oracle Exalytics:

  • Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64 bit Production with In-Memory Option.

  • Database type of DATA_WAREHOUSE.

  • Data warehouse applications. Online Transaction Processing (OLTP) applications are not supported.

  • Storage Option of File System. Oracle Automatic Storage Management (ASM) is not supported.

  • Single Instance of Oracle Database with In-Memory Option. Oracle Real Application Cluster (RAC) and Oracle Grid Infrastructure are not supported.

6.8.2 Supported Oracle Database In-Memory Use Cases

The following use cases are supported on Oracle Database In-Memory on Oracle Exalytics:

6.8.2.1 Querying Performance Acceleration Using Aggregates

You can use the following aggregates to accelerate your queries:

  • OBIEE Generated or Managed Aggregates

    • You can use Summary Advisor to analyze the Business Intelligence workload and generate recommendations.

    • You can use Aggregate Persistence Wizard to define aggregates on a logical model in the RPD file.

    • You can execute the aggregate script (recommended by Summary Advisor or manually defined aggregates) using Oracle Database In-Memory on Oracle Exalytics as target.

  • Database Aggregates

    You can populate your aggregates by defining and coding your aggregates using any Extract, Transform, Load (ETL) or Extract, Load, Transform (ELT) tools certified on Oracle Database In-Memory. To do so, wire the aggregate tables manually in the RPD file to leverage BI Server aggregate navigation.

6.8.2.2 Querying Performance Acceleration Using Datamart

You can choose the entire Data warehouse reporting tables or a subset of the reporting tables in Oracle Database In-Memory on Exalytics. To do so, build (code) the data using any Extract, Transform, Load (ETL) or Extract, Load, Transform (ELT) tools certified on Oracle Database In-Memory.

6.8.2.3 Querying Performance Acceleration Using Operational Data Store (ODS)

You can use Logical Standby or use GoldenGate to replicate data from your Online Transaction Processing (OLTP) database and use the database for Operational reporting.

6.8.2.4 Creating Enterprise Performance Management (EPM) Repository and Database Schemas

You can create Enterprise Performance Management (EPM) repository and create Metadata Services (MDS) and Business Intelligence Platform (BIPLATFORM) database schemas using the Repository Creation Utility (RCU).

6.8.3 Installing and Configuring Oracle Database In-Memory for Oracle Exalytics

Oracle recommends a maximum size of 830 GB for an Oracle Database installed on an X2-4 Exalytics Machine with 1 TB of RAM, and a maximum size of 1 TB for an Oracle Database installed on an X3-4, X4-4, X5-4, or X6-4 Exalytics Machine with 2 TB of RAM.

Note:

The following procedure assumes installing an Oracle Database In-Memory of 830 GB on an X2-4 Exalytics Machine with 1 TB of RAM.

This section consists of the following topics:

6.8.3.1 Verifying and Setting Minimum kernel Parameters

Before you install Oracle Database In-Memory for Exalytics, verify that the kernel parameters shown in Table 6-1 are set to values greater than or equal to the minimum values shown.

Note:

If the current value of any parameter is higher than the value shown in Table 6-1, then do not change the value of that parameter.

Table 6-1 Minimum kernel Parameter Values

kernel parameters Minimum Values File

semms1

250

/proc/sys/kernel/sem

semmns

32000

/proc/sys/kernel/sem

semopm

100

/proc/sys/kernel/sem

semmni

128

/proc/sys/kernel/sem

shmall

2097152

/proc/sys/kernel/shmall

shmmax

Minimum: 536870912

Maximum: A value that is 1byte less that the physical memory.

Recommended: More than half the physical memory.

See My Oracle Support Note 567506.1 for additional information about configuring shmmax.

/proc/sys/kernel/shmmax

shmmni

4096

/proc/sys/kernel/shmmni

file-max

6815744

/proc/sys/fs/file-max

ip_local_port range

Minimum: 9000

Maximum: 65500

/proc/sys/net/ipv4/ip_local_

port_range

rmem_default

262144

/proc/sys/net/core/rmem

rmem_max

4194304

/proc/sys/net/core/rmem_max

wmem_default

262144

/proc/sys/net/core/wmem_

default

wmem_max

1048576

/proc/sys/net/core/wmem_max

aio-max-nr

1048576

/proc/sys/fs/aio-max-nr

If the kernel parameters are less than the minimum values shown in Table 6-1, you must update the kernel parameters.

To update kernel parameters:

  1. Edit the /etc/sysctl.conf file to update the kernel parameters.

  2. After updating the kernel parameters, enter the following command to apply the updated kernel values:

    # /sbin/sysctl -p

  3. Review the output from this command to verify that the updated kernel values are correct.

6.8.3.2 Installing Oracle Database In-Memory

You can install Oracle Database In-Memory manually or use the Exalytics Domain Management Utility.

This section consists of the following topics:

6.8.3.2.1 Installing Oracle Database In-Memory Using the Exalytics Domain Management Utility

You can also install Oracle Database In-Memory using the Exalytics Domain Management Utility.

Prerequisites for Installing Oracle Database In-Memory Using the Exalytics Domain Management Utility

Before you use the Exalytics Domain Management Utility to install Oracle Database In-Memory, you must:

To install Oracle Database In-Memory using the Exalytics Domain Management Utility:

  1. Log in to the Exalytics Machine as the user "oracle" or the new user you created. See Creating a Password on the Operating System.
  2. Navigate to edelivery and download the required Oracle Database In-Memory zip files. See Installing Oracle Database In-Memory Manually.
  3. Copy the Oracle Database In-Memory files into the /home/oracle/Installers/oracledb directory and unzip them.
  4. To set the DISPLAY environment variable, enter the following command

    # export DISPLAY=localhost:0.0

  5. To install Oracle Database In-Memory, enter the following command:

    /opt/exalytics/bin/exalytics-db-management.sh --input=/u01/<location and name of input properties file> --action=add_instance --instance_name=<name of database>

    For example:

    /opt/exalytics/bin/exalytics-db-management.sh --input=/u01/home/oracle/Installers/input.properties --action=add_instance --instance_name=exampledb

  6. If prompted by the Exalytics Domain Management Utility, perform the following tasks:
    • For DB_MEMORY_LIMIT, enter 320000.

    • For DB_PASSWORD_ALL, <specify a password>.

    • For DB_DATA_LOCATION, <enter a location for the database data>

      Note:

      Before entering the location, you must first manually create the directory. For example: /u01/app/oracle/oradata.

    • For DB_RECOVERY_AREA_LOCATION, <enter a recovery area location>

      Note:

      Before entering the location, you must first manually create the directory. For example: /u01/app/oracle/recovery_area.

    • For EXALYTICS_INSTALLER_DIR, enter /home/oracle.

    • For INST_GROUP, enter onstall.

    The Exalytics Domain Management Utility installs and configures Oracle Database In-Memory.

    After the installation is complete, an output similar to the following is displayed:

    Oracle Database Installation completed.
    03/26/2015 06:48:50 AM [INFO ] [exampledb] [add_instance]
    03/26/2015 06:48:50 AM [INFO ] [exampledb] [add_instance]
    03/26/2015 06:48:50 AM [INFO ] [exampledb] [add_instance] ################################################################
    03/26/2015 06:48:50 AM [INFO ] [exampledb] [add_instance]
    03/26/2015 06:48:50 AM [INFO ] [exampledb] [add_instance]                      DATABASE DETAILS ################################################################
    Oracle SID: exampledb
    Oracle Home: /u01/app/oracle/product/12.1.0/dbhome_exampledb
    Listener Port: 1521
    Oracle Inventory: /u01/app/oracle/product/12.1.0/oraInventory/
    Oracle Total Memory Limit: 320000M
    Oracle In-Memory Size: 192000M
    03/26/2015 06:48:50 AM [INFO ] [exampledb] [add_instance] ################################################################
    Successfully completed action 'add_instance'
    

6.8.3.2.2 Installing Oracle Database In-Memory Manually

To manually install Oracle Database In-Memory:

  1. Navigate to https://edelivery.oracle.com.

  2. In the Select a Product Pack list, select Oracle Database.

  3. In the Platform list, select Linux x86-64.

  4. Click Go.

  5. Select Oracle Database 12c Release 1 (12.1.0.2.0) Media Pack for Linux x86-64.

  6. Download Oracle Database 12c Release 1 Client (12.1.0.2.0) for Microsoft Windows x64 (64-bit).

    Note:

    Download and install the Oracle Database 12c Release 1 Client (12.1.0.2.0) for Microsoft Windows x64 (64-bit) on a Windows machine and not on the Exalytics Machine. You use the Oracle Database 12c Client for Windows to install SQL Plus, create database schemas, and so on, on a Windows machine.

  7. Download Oracle Database 12c Release 1 (12.1.0.2.0) (Part 1 of 2) and Oracle Database 12c Release 1 (12.1.0.2.0) (Part 2 of 2).

    The zip files contains the following disks:

    linuxamd64_12102_database_1of 2.zip

    linuxamd64_12102_database_2of 2.zip

  8. Stage the Oracle database installer disks in /home/oracle/EXALYTICS_INSTALLERS/12cdb/.

  9. Navigate to /home/oracle/EXALYTICS_INSTALLERS/12cdb/database/.

  10. Enter the following command to start Oracle Universal Installer:

    $ ./runInstaller

  11. On the Configure Security Updates screen, perform the following tasks:

    1. In the Email field, enter your e-mail address, preferably your My Oracle Support e-mail address and user name.

    2. Optional: Select I wish to receive security updates via My Oracle Support to receive security updates. If you choose to receive security updates via My Oracle Support, enter your My Oracle Support password in the My Oracle Support Password field.

    3. Click Next.

  12. On the Select Installation Option screen, select Create and configure a database, then click Next.

  13. On the System Class screen, select Server Class, then click Next.

  14. On the Grid Installation Options screen, select Single instance database installation, then click Next.

  15. On the Select Install Type screen, select Advanced Installation, then click Next.

  16. On the Select Product Languages screen, select a language, then click Next.

  17. On the Select Database Edition screen, select Enterprise Edition (6.4 GB), then click Next.

  18. On the Specify Installation Location screen, perform the following tasks:

    1. In the Oracle base field, enter the location of where you want to install the Oracle database.

    2. In the Software location field, enter the location of where you want to install the Oracle database software files.

      Note:

      Oracle recommends you install the database and database software files in the /u01 directory.

    3. Click Next.

  19. On the Create Inventory screen, perform the following tasks:

    1. In the Inventory Directory field, specify the full path of the Oracle Inventory directory.

    2. In the orainventory Group name list, select oinstall.

    3. Click Next.

  20. On the Select Configuration Type screen, select Data Warehousing, then click Next.

  21. On the Specify Database Identifiers screen, perform the following actions:

    1. In the Global database name field, enter a unique global database name.

    2. Oracle system identifier (SID) field, enter a unique database identifier.

    3. Deselect Create as Container database.

    4. Click Next.

  22. On the Specify Configuration Options screen, perform the following tasks:

    1. Select the Memory tab, and allocate memory to the database.

      Note:

      The memory allocated to the database cannot exceed the total RAM memory of the Exalytics Machine.

      • For an X2-4 machine, total RAM memory is 1 TB.

      • For an X3-4, X4-4, X5-4, or X6-4 machine, total RAM memory is 2 TB.

    2. Select the Character sets tab, and then select Use Unicode (AL32UTF8).

    3. Select the Sample schemas tab, and then select Create database with sample schemas.

    4. Click Next.

  23. Optional: On the Specify Management Options screen, specify details of the Oracle Enterprise Manager 12c Cloud Control configuration to manage your database, then click Next.

  24. On the Specify Recovery Options screen, perform the following tasks:

    1. Select Enable Recovery.

    2. Select File System, and in the Recovery area location field, enter the location from where you can, if needed, recover the database.

    3. Click Next.

  25. On the Specify Schema Passwords screen, specify passwords for the schemas, and then click Next.

    Note:

    You can choose to use different passwords for each account or use a single password for all the accounts.

  26. On the Privileged Operating System groups screen, select oinstall to grant system privileges to the "oinstall" user group for each Operating System group, and then select Next.

  27. On the Perform Prerequisite Checks screen, confirm that all the prerequisite checks are successful, then click Next.

  28. On the Summary screen, review the information, then click Install.

    The Install Product screen displays the progress of the database installation.

  29. On the Install Product screen, when prompted, perform the following tasks:

    1. Execute the configuration scripts as a "root" user by following the directions on the Execute Configuration scripts screen.

    2. Open the Database Configuration Assistant screen and verify the database information. When the installation process is complete, make a note of the EM Database Express URL.

      Note:

      If required, on the Database Configuration Assistant screen, click Password Management to unlock any accounts.

    3. Click OK.

  30. On the Finish screen, confirm that the installation of Oracle Database was successful, then click Close.

For more information, see Oracle Database Quick Installation Guide 12c Release 1 (12.1) for Linux x86-64 at the following location:

http://docs.oracle.com/database/121/LTDQI/toc.htm#CEGHFFGG

Postinstallation Tasks

Perform the following postinstallation tasks:

Setting Environment Variables

You set the ORACLE_HOME and ORACLE_SID environment variables.

To set ORACLE_HOME and ORACLE_SID environment variables:

  1. Log on as a root user.

  2. Enter the following commands to set ORACLE_HOME and ORACLE_SID environment variables:

    $ export ORACLE_HOME=/u01/<location of ORACLE_HOME>

    $ export ORACLE_SID=<name of the unique system identifier>

Configuring Oracle Database In-Memory

This section consists of the following topics:

Setting the INMEMORY_SIZE Parameter

Confirm the INMEMORY_SIZE parameter is set to zero.

To check INMEMORY_SIZE parameter:

  1. Navigate to Oracle _HOME/ bin folder, by entering the following command:

    $ cd $ORACLE_HOME/bin

  2. Connect to Oracle Database SQLPlus client as SYSDBA, by entering the following command:

    $ ./sqlplus sys/<password> AS SYSDBA

    The following output is displayed:

    SQL*Plus: Release 12.1.0.2.0 Production on Mon Sep 1 17:56:50 2014
    Copyright (c) 1982, 2014, Oracle. All rights reserved.
    Connected to:
    Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 
    With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
    
    SQL>
    
  3. Check the INMEMORY_SIZE parameter, by entering the following command:

    SQL> show parameter INMEMORY_SIZE

    The following parameter is displayed:

    NAME                                     TYPE                                 VALUE
    inmemory_size                                      big integer                          0
    

Setting the IN_MEMORY_CLAUSE_DEFAULT Parameter

You set the IN_MEMORY_CLAUSE_DEFAULT parameter so that any tables created subsequently are automatically retained in memory.

To set the INMEMORY_CLAUSE_DEFAULT parameter:

  1. Set the IN_MEMORY_CLAUSE_DEFAULT parameter, by entering the following command:

    SQL> ALTER SYSTEM SET INMEMORY_CLAUSE_DEFAULT = 'INMEMORY MEMCOMPRESS FOR QUERY LOW PRIORITY HIGH' scope = BOTH

    The following output is displayed:

    System altered.
     
    SQL>
    
  2. To enable the INMEMORY_CLAUSE_DEFAULT parameter, you must shut down and restart the database:

    1. To shutdown the database, enter the following command:

      SQL> shutdown abort

      The following output is displayed:

      ORACLE instance shut down.
      
    2. To restart the database, enter the following command:

      SQL> startup

      The following output is displayed:

      Total System Global Area                             6.5445E+11 bytes
      Fixed Size                                   7697568 bytes
      Variable Size                                2.1475E+10 bytes
      Database Buffers                             1.1704E+11 bytes
      Redo Buffers                                 529170432 bytes
      In-Memory Area                               5.1540E+11 bytes
      Database mounted.
      Database opened.
       
      SQL>
      
    3. Verify that the INMEMORY_CLAUSE_DEFAULT parameter is set, by entering the following command:

      SQL> show parameter INMEMORY_CLAUSE_DEFAULT;

      The following output is displayed:

      NAME                            TYPE                         VALUE
      inmemory_clause_default            string               INMEMORY MEMCOMPRESS FOR QUERY
                                                         LOW PRIORITY HIGH
      SQL>
      

Calculating and Setting the INMEMORY_SIZE Parameter

Note that since the INMEMORY_SIZE parameter is set to zero, Database In-Memory is not enabled. To enable In-Memory option, you must set the INMEMORY_SIZE parameter.

You set up INMEMORY_SIZE parameter based on the size of the Oracle Database you created (830 GB). Oracle recommends that INMEMORY_SIZE parameter not be greater than 60% of the Oracle Database size.

Note:

When setting your INMEMORY_SIZE parameter, ensure that the SGA_TARGET parameter is 110% of the INMEMORY_SIZE parameter and the PGA_AGGREGATE parameter is 50% of the INMEMORY_SIZE parameter.

For example, if you set the INMEMORY_SIZE parameter to 400 GB, ensure that the SGA_TARGET parameter is 440 GB and the PGA_AGGREGATE parameter is 200 GB.

Before setting the INMEMORY_SIZE parameter, check the SGA_TARGET and PGA_AGGREGATE_TARGET size parameters, by entering the following commands:

SQL> show parameter SGA_TARGET;

SQL> show parameter PGA_AGGREGATE_TARGET;

Note:

Note the value of the SGA_TARGET parameter. The INMEMORY_SIZE parameter cannot be greater than this value.

To set INMEMORY_SIZE parameter:

  1. To set the INMEMORY_SIZE parameter to 480 GB (60% of 830 GB), enter the following command:

    SQL> ALTER SYSTEM SET INMEMORY_SIZE = 480G SCOPE = SPFILE;

    The following output is displayed:

    System altered.
     
    SQL>
    
  2. To enable the INMEMORY_SIZE parameter, you must stop and restart the Oracle database.

    1. To stop the database, enter the following command:

      SQL> shutdown abort;

      The following output is displayed:

      ORACLE instance shut down.
      
    2. To restart the database, enter the following command:

      SQL> startup

      The following output is displayed:

      ORACLE instance started.
       
      Total System Global Area 6.5445E+11 bytes
      Fixed Size                      7697568 bytes
      Variable Size                    2.1475E+10 bytes
      Database Buffers                1.1704E+11 bytes
      Redo Buffers                     529170432 bytes
      In-Memory Area                  5.1540E+11 bytes
      Database mounted.
      Database opened.
       
      SQL>
      
  3. To check the INMEMORY_SIZE setting, enter the following command:

    SQL> show parameter INMEMORY_SIZE

    The following output is displayed:

    NAME                                TYPE                                     VALUE
    inmemory_size                   big integer                             480G
    
    SQL>
    
  4. To check the In-Memory Area size, enter the following command:

    SQL> select name , value from v$sga;

    The following output is displayed:

    NAME                                            VALUE
    Fixed Size                                             7697568
    Variable Size                                        2.1475E+10
    Database Buffers                            1.1704E+11
    Redo Buffers                              529170432
    In-Memory Area                             5.1540E+11
     
    SQL>