9 Managing Metadata and Working with Service Instances

This chapter describes how to manage Oracle Business Intelligence metadata in BI Application Archive (BAR) files, and how to work with Service Instances.

This chapter includes the following sections:

About Oracle Business Intelligence Application Archive (BAR) Files

This topic contains the following sections:

What Are Oracle Business Intelligence Application Archive (BAR) Files?

An Oracle Business Intelligence application archive (BAR) file is a compressed archive file that contains a cohesive set of BI metadata artifacts (data model, content model, and authorization model).

A BAR file can be imported into a BI Service Instance. You can backup a BI Service Instance into a BAR file, and subsequently restore it either to the existing service instance running in the BI domain, or into a different service instance running on a different BI installation.

A BAR file contains the following BI application module artifacts:

  • Data model metadata for the Oracle BI Server. This metadata is xml-based but functionally equivalent to a .RPD file.

  • Presentation Services catalog metadata for a service instance.

  • Security policy metadata containing application role and application role memberships plus permission and permission set grants for a service instance.

  • A manifest file declaring the dependencies for the BAR file.

What Predefined BAR Files are Available?

Oracle provides a number of predefined BAR files, containing BI metadata to use with a service instance.

You can choose one of the following BAR files during installation:

  • Empty BAR - oracle.bi.application.empty.bar

    The empty BAR file enables you to have complete control over metadata and security policy, or you may simply have an existing BAR from another system that you might want to import.

    ORACLE_HOME/bi/bifoundation/admin/provisioning/oracle.bi.application.empty.bar

    The Empty BAR file contains only enough permissions for the administrator user to login and administer the system.

    The following table shows the application role and corresponding permission sets that come with the Empty BAR file.

    Application Role Permission Set

    BIServiceAdministrator

    obisch.administrator

    essbase.administrator

    obips.administrator

    cds.administrator

    bip.administrator

    obis.administrator

  • SampleAppLite BAR - SampleAppLite.bar

    You can select SampleAppLite at install time (see Installing and Configuring Oracle Business Intelligence).

    The SampleAppLite BAR enables you to start using BI Analytics straight away, enabling you to demonstrate the functionality of the product.

    The SampleAppLite BAR file contains a file based data source with 2 subject areas, a collection of reports, and application roles for read, write, and administration tasks.

    ORACLE_HOME/bi/bifoundation/samples/sampleapplite/SampleAppLite.bar

    The following table shows the application roles and corresponding permission sets that come with the SampleAppLite BAR file.

    Application Role Permission Set

    BIServiceAdministrator

    obisch.administrator

    essbase.administrator

    obips.administrator

    cds.administrator

    bip.administrator

    obis.administrator

    BIConsumer

    bip.consumer

    BIContentAuthor

    va.author

    obisch.author

    bip.author

    See Working with the Sample Application.

  • Starter BAR

    You use the starter BAR when you want to build metadata from the beginning, but need a typical security policy to be in place.

    The starter BAR is essentially empty except for containing the same security policy as the Sample application BAR.

    For example, if you want to create a service instance for Visual Analyzer where users will import their own data from scratch, by importing the starter BAR into your service instance it means that you only have to provision users with the starter application roles and they can immediately login and start using the product.

About Importing BAR Files

When you import a BAR file into a service instance, the service instance will use the data model, content and security policy imported from the BAR file.

The import process does the following:

  • Takes the content, model and security policy defined by the BAR, and deploys it to a Service Instance.

  • Overwrites any existing content, model, security policy already established in the Service Instance.

You can import a BAR file exported from other 12c releases as described in importServiceInstance Command. BAR files exported from 12.2.1.3.0 can be imported into another 12.2.1.3.0 environment, or into an Oracle Analytics Cloud environment.

BAR files exported from 11g shouldn’t be imported into 12c — instead use the migration process as described in Upgrading Oracle Business Intelligence.

Managing Service Instances

A service instance contains all of the Oracle Business Intelligence metadata (that is, repository data, presentation catalog, security policy), and includes the customizations that you make to the metadata. You manage a service instance in an BI domain using WebLogic Scripting Tool (WLST) commands described in the table below.

See Using the WebLogic Scripting Tool (WLST).

Command Description

listBIServiceInstances

This command lists all Service Instance keys in the BI domain.

getBIServiceInstance

This command gets service instance details for a given service instance key.

scaleOutBIServiceInstance

This command scales-out the Service Instance(s) onto the new computer, ensuring that the service instance is available on the specified computer within the BI domain. This command is only used in advanced cases.

export_service_instance

This command exports a service instance to a given export directory in the form of BAR file.

import_bar

This command imports an already exported bar (service instance) as a customization to a given environment.

refreshServiceInstance

This command refreshes certain aspects of a service instance serviceKey that are inherited from the BI domain. For example, if a new module or product is added to the BI domain, the permission sets for that module or product will only be made available to the service instance when the service instance is refreshed.

refreshDomainServiceInstances

This command refreshes all the service instances of the domain.

resetServiceInstance

This command resets the given service instance to empty state equivalent to importing the empty BAR file.

Parameters Description

domainHome

Path to BI domain home.

/oraclehome/user_projects/domains/bi

serviceInstanceKey

Key for the service instance to be associated with, or scaled out to.

For example:

mycompany.facility

machine

Name of the computer to which you are scaling out.

For example:

machine=mycompany.example.com

port

The port number to use on the scaled out computer.

For example:

port=9768

monitorPort

Name of the monitor port to use on the scaled out computer.

For example:

portMonitor=9502

Assumptions for all WLST commands against BI Service Instances and BAR files:

  • You must have file system (offline) permissions.

  • You run the WLST commands offline.

  • You must start your system after making changes to service instances through WLST.

The following scripts are reserved for future use:
  • ORACLE_HOME/user_projects/domains/bi/bitools/bin/create_bi_service_instance.sh

  • ORACLE_HOME/user_projects/domains/bi/bitools/bin/delete_bi_service_instance.sh

listBIServiceInstances

This command enables you to list all Service Instances.

  1. Start the WLST command line scripting tool.
  2. Enter command, for example:

    listBIServiceInstances(domainHome)

    Where domainHome is the path to BI domain home.

    For example:

    listBIServiceInstances('/oraclehome/user_projects/domains/bi')
    
  3. The command returns a list of Service Instance Keys

getBIServiceInstance

This command displays service instance details.

Information includes but is not limited to:

  • Metadata configuration: application association and customizations.

  • Component details.

  • Description.

  1. Enter the following command to fetch the specified Service Instance details:

    getBIServiceInstance(domainHome, serviceInstanceKey)

    For example:.

    getBIServiceInstance('/oraclehome/user_projects/domains/bi', 'mycompany.facility')
    
  2. The command returns a service instance object containing details including, but not limited to:
    • Service instance key.

    • Description.

    • List of components.

    • List of application modules.

scaleOutBIServiceInstance

This command scales-out the service instances onto a new computer to make the service instance available in the domain.

Use this command if a service instance is created after availability is increased. See Managing Availability in Oracle Business Intelligence (Horizontally Scaling).

scaleOutBIServiceInstance(domainHome, serviceInstanceKey, machine, port=None, portMonitor=None)

This command returns a Service Instance object containing details.

Assumptions:

  • All ports will be allocated from the default BI port range, unless you provide them.

  • Cluster Controller, Scheduler and BI Server mastership is unchanged.

  • You must start new components, noting that Administration Server and Node Managers must be started first if offline. See Starting Oracle Business Intelligence Component Processes in a Domain.

The following table lists the parameters for this command.

Parameters Description

domainHome

Path to BI domain home.

serviceInstanceKey

Key for the service instance to be scaled out.

machine

Name of the computer to which you are scaling out the service instance.

For example,

scaleOutBIServiceInstance('/oraclehome/user_projects/domains/bi','mycompany.facility', 'example.com')

Post Conditions:

  • New component(s) are created.

  • New ports(s) are allocated.

  • New Service Instance is registered.

export_service_instance

This command exports metadata in the repository from a specified BAR file into a target service instance.

You can then import the BAR file into another environment or within the same environment. Details of these optional parameters are given in the table below.

export_service_instance(domainHome serviceInstanceKey workDir, exportDir, applicationModuleName, applicationModuleDesc, applicationModuleVersion, includeCatalogRuntimeInfo, includeCredentials)
Parameters Description

domainHome

Path to BI domain home.

serviceInstanceKey

Key for the service instance.

workDir

Work directory for the run.

exportDir

Directory where you want to export the service instance to create the BAR file.

applicationModuleName

Reserved for future use.

applicationModuleDesc

Reserved for future use.

applicationModuleVersion

Reserved for future use.

includeCatalogRuntimeInfo

Optional. Default is False. If this parameter is set to True, catalog runtime details (such as the user folder name) are included in the export of the service instance. If this parameter is set to False, catalog runtime details aren't included.

includeCredentials

Optional. Default is None. The password to encrypt the contents of the exported metadata repository. If you don't specify a value for this parameter, connection credentials aren't exported.

For example,

export_service_instance( '/oraclehome/user_projects/domains/bi','mycompany.facility', '/workDir', '/scratch/exportDir')

export_service_instance('/oraclehome/user_projects/domains/bi/','mycompany.dev', '/scratch/workDir', '/scratch/exportDir', 'mycompany.dev.test' , 'mycompany dev test', '11.1.1.0')

export_service_instance('/oraclehome/user_projects/domains/bi/','mycompany.dev', '/scratch/workDir', '/scratch/exportDir', 'mycompany.dev.test' , 'mycompany dev test', '11.1.1.0', true, 'Test123')

export_service_instance('oraclehome/user_projects/domains/bi/','mycompany.dev', '/scratch/workDir', '/scratch/exportDir', 'mycompany.dev.test' , 'mycompany dev test')

export_service_instance('/oraclehome/user_projects/domains/bi/','mycompanyexample.dev', '/scratch/workDir', '/scratch/exportDir', None , 'mycompany dev test') 

Note:

Running this command will place your system in maintenance mode and write access will be limited for the duration of the process.

import_bar

This command imports metadata in the repository from a specified BAR file into a target service instance.

import_bar(domainHome, serviceInstanceKey, barLocation, importRpd, importWebcat, importJazn, includeCredentials)

The table lists the parameters for this command.

Parameters Description

domainHome

Path to BI domain home.

serviceInstanceKey

Key for the service instance.

barLocation

Absolute path of the BAR file for the imported service instance.

importRpd

Optional. Default is True. If you set this parameter to False, the command doesn’t import the metadata from the repository.

importWebcat

Optional. Default is True. If you set this parameter to False, the command doesn’t import the objects from the catalog.

importJazn

Optional. Default is True. If you set this parameter to False, the command doesn’t import the Jazn.

includeCredentials

Optional. Password for decrypting the content imported the repository.

For example,

import_bar( '/scratch/mydir/oraclehome/user_projects/domains/bi','mycompany.facility', '/scratch/exportDir/mycompany.finance.bar')

import_bar('/scratch/mydir/oraclehome/user_projects/domains/bi', 'demosvc1', '/scratch/mydir/oraclehome/bi/bifoundation/samples/sampleapplite/test/SampleAppLite1.bar', true, false, false, 'Test123')

import_bar('/scratch/mydir/oraclehome/user_projects/domains/bi', 'demosvc1', '/scratch/mydir/orahome/bi/bifoundation/samples/sampleapplite/test/SampleAppLite1.bar', importRPD=true,includeCredentials='Test123')

Note:

When you import a 12.2.1.2.0 or later BAR file into an earlier Oracle BI EE release such as 12.2.1.1.0 and 12.2.1.0.0 and the BAR file contains dataset metadata (for example an Excel spreadsheet) that isn’t supported before 12.2.1.2.0, the dataset metadata isn’t imported and the metadata that isn’t imported also isn’t logged.
  • When you import a later version BAR file that contains dataset metadata (for example an Excel spreadsheet called sales.xls) into an earlier Oracle BI EE instance that doesn’t support dataset metadata, the import process silently skips the dataset metadata content in the BAR file.

  • The log file for the service instance contains information on the metadata that’s imported. The log file doesn’t provide information on the metadata that’s ignored as part of the import operation.

refreshServiceInstance

This command refreshes certain aspects of a service instance that are inherited from the BI domain.

For example, if a new module or product is added to the BI domain, the permission sets for that module or product will only be made available to the service instance when the service instance is refreshed.

refreshServiceInstance(domainHome, serviceKey)

The following table lists the parameters for this command.

Parameters Description

domainHome

Path to BI domain home.

serviceKey

Key for the service instance. It is a unique identifier for the service instance.

For example,

refreshServiceInstance('/oraclehome/user_projects/domains/bi', 'mycompany.finance')

refreshDomainServiceInstances

This command refreshes all the service instances of the BI domain.

refreshDomainServiceInstances(domainHome)

The following table lists the parameters for this command.

Parameters Description

domainHome

Path to BI domain home.

For example,

refreshDomainServiceInstances('/oraclehome/user_projects/domains/bi')

resetServiceInstance

This command removes all the customizations in a given service instance (similar to an empty BAR state).

resetServiceInstance(domainHome, serviceKey)

The following table lists the parameters for this command.

Parameters Description

domainHome

Path to the BI domain home. For example, /oraclehome/user_projects/domains/bi.

serviceKey

Key for the service instance. It is a unique identifier for a service instance. For example, 'ssi'.

This example removes customizations using the resetServiceInstance command.

  1. Configure Oracle Business Intelligence with an empty service instance (the same as using an empty BAR file).

    Note:

    The empty BAR file is here:

    $BI_PRODUCT_HOME/bi/bifoundation/admin/provisioning/oracle.bi.application.empty.bar

  2. Deploy SampleAppLite to the BI domain and associate it with the service instance.
  3. Make some customizations on top of the base BAR.
  4. Use the resetServiceInstance command.

    For example,

    resetServiceInstance('/oraclehome/user_projects/domains/bi', 'ssi')
    

    This removes the customizations created in step 3 and returns the service instance to the state of step 2.