5 Improving Unified Inventory Management Performance

This chapter describes ways to improve Oracle Communications Unified Inventory Management (UIM) performance.

Improving Performance of Searches That Include Characteristics

You can add characteristics to search criteria in UIM. For example, if your inventory includes Logical Device entities based on specifications that have a characteristic called Service Provider Name, you can add that characteristic to a logical device search. See UIM Concepts and UIM online Help for more information about adding characteristics to searches.

If you regularly include four or more characteristics in an entity search such as Telephone Number, Logical Device, or Place, you can change properties in the system-config.properties file to improve performance. You must also run scripts to support the database changes for this feature.

Caution:

Once you run these database scripts for the performance improvement, you cannot revert the system changes back to its original state. Also, if you enable this feature for individual entities, the SQL script content must be altered to address only those entities.

Making Changes to the system-config.properties File

You can change the setting for all entity types or for a selection of entity types.

To improve characteristic search performance and enable this feature:

  1. Navigate to UIM_Home/config.

  2. Open the system-config.properties file.

  3. Set the inv.extendedCharSearchEnabled property to true.

  4. Do one of the following:

    • To enable the extended search feature for all entity types, set the inv.extendedCharSearchEnabledForAll property to true.

    • To enable the extended search feature for a selection of entity types, set the inv.extendedCharSearchEnabledForAll property to false and add sequentially numbered properties for the entities you want. For example:

      inv.extendedCharSearchEnabledEntities.1=TelephoneNumber
      inv.extendedCharSearchEnabledEntities.2=LogicalDevice
      inv.extendedCharSearchEnabledEntities.3=GeographicPlace

      Note:

      If you chose the option to specify one or more specific entities, some scripts need to be altered to apply changes only to the desired entities.

  5. Save and close the system-config.properties file.

Making Changes to the Database Schema

To improve characteristic search performance, you must perform the following database changes:

  1. Back up the UIM database. See "Database Backup and Restore" for more information.

  2. Ensure that you have database modification level privileges.

  3. Create two temporary directories, temp_dir and temp_dir_schema.

  4. Download the UIM software for your operating system from the Oracle software delivery website and save it to temp_dir.

  5. From the downloaded ZIP file, extract the ora_uim_dbtools.jar file into temp_dir_schema.

  6. In the temp_dir_schema directory, open the ora_uim_dbtools.jar file and extract all the contents into temp_dir_schema. You can ignore the additional files in this jar. They are used in the upgrade process of the database.

  7. The scripts for this feature default to enabling this feature for all entities. If you provided specific entities in the system-config.properties file, such as Logical Devices, you need to evaluate the contents of the following scripts and alter them to only apply to the entities you specified:

    • temp_dir_schema/sqlscripts/B23314430.sql

    • temp_dir_schema/sqlscripts/B23318206.sql

    • temp_dir_schema/sqlscripts/B23541213.sql

  8. Open a command line window and login to SQL*Plus for the desired database. Run the following SQL scripts providing the full path of the files. For example, use the @scriptFileName command where scriptFileName is the full path and name of the file.

    • temp_dir_schema/procs/CREATE_CHAR_EXT_TABLE.sql

    • temp_dir_schema/sqlscripts/B23314430.sql

    • temp_dir_schema/sqlscripts/B23318206.sql

    • temp_dir_schema/sqlscripts/B23541213.sql

  9. (Optional) To verify that these scripts ran successfully, you can verify that the UIM schema includes the following elements:

    • A table named CHARACTERTICS_TABLE_MAPPING

    • A procedure named CREATE_CHAR_EXT_TABLE

    • A trigger named ADD_CHAR_COLUMN_TRIGGER

Verifying Areas When this Feature is Enabled

There are a few area that you need to verify if this feature is enabled. Ensure you review the following areas if you reference characteristic tables directly:

  • Determine if there is any impact to custom database queries in custom code such as cartridges and web services.

  • Determine if there is any impact to areas where there is direct database access.

Configuring a Shared Index Directory

For muiltiserver deployment environments (including configurations for multiple single servers, administration/managed servers, and administration/clustered servers), you must deploy a common shared storage, such as a storage area network, for all UIM WebLogic application servers. Without a storage area network, results may vary on different servers because some servers may have different domains.

Changing the Logging Level

UIM is using log4j for the logging services. For details on log4j, refer to:

https://logging.apache.org/log4j/2.x/manual/

The logging level is defined in the loggingconfig.xml file.

The file is located in UIM_Home/config.

Appender Configuration

Three default appenders are supplied by default:

  • Stdout

    Console Appender - used to log messages to the standard output

  • rollingFile

    Rolling File Appender - used to log messages to the rolling file UIM_Home/logs/WebLogic_Name_uim.log

The following is an example of the layout of the appender log message:

%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%X{userName}] ["%X{requestSession}] [%c{1}] %m%n

where:

  • %d{yyyy-MM-dd HH:mm:ss,SSS}

    is the Date in the format yyyy-MM-dd HH:mm:ss,SSS

  • %-5p

    is the priority of the logging event

  • %X{userName}

    is the user name associated with the thread that generated the logging event

  • %X{requestSession}

    is the session ID associated with the thread that generated the logging event. Note that the requestSession is not included by default. The layout value needs to be modified to add the requestSession.

  • %c{1}

    is the category of the logging event with the precision specifier (ie: the decimal constant in brackets). The precision specifier corresponds to the right most components of the category name. For example, for the category name oracle.communications.inventory.techpack.video.impl.VideoManagerImpl the pattern %c{1} outputs VideoManagerImpl.

  • %m

    is the application supplied message associated with the logging event. For example: [INV-801005] No subscriber is associated to the service.

  • %n

    is the platform dependent line separator character or characters

For all parameters, see:

https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout

This is a localized logging output message example:

2016-01-03 15:20:22,087 ERROR [uimuser1] [VideoManagerImpl] [INV-801005] No subscriber is associated to the service.

It is possible to filter the logging messages by the UIM user. To enable the UIM user filter, we need to add the following element to the default appender:

<ContextMapFilter onMatch="ACCEPT" onMismatch="NEUTRAL" operator="or">
    <KeyValuePair key="userName" value=""/>
</ContextMapFilter>

The filter is already available, but commented out, in the default appender. To enable the UIM user filter, we can uncomment the filter and add a value to the userName parameter. For example:

<ContextMapFilter onMatch="ACCEPT" onMismatch="NEUTRAL" operator="or">
    <KeyValuePair key="userName" value="Justin"/>
</ContextMapFilter>

We can list multiple users in the filter by repeating the param element. For example:

<ContextMapFilter onMatch="ACCEPT" onMismatch="NEUTRAL" operator="or">
   <KeyValuePair key="userName" value="Lili-Mai"/>
   <KeyValuePair key="userName" value="Marilou"/>
   <KeyValuePair key="userName" value="Ramesh"/>
</ContextMapFilter>

Logger Configuration

By default the root logger is set to error and logs the messages to the standard output and the UIM rolling file:

<Root level="error">
    <AppenderRef ref="rollingFile"/>
</Root>

Logger levels can be configured. The set of possible levels are (in the order message logging rank):

  • all: Lowest possible rank and is intended to turn on all logging

  • trace: Finer-grained informational events than the debug

  • debug: Fine-grained informational events that are most useful to debug an application

  • info: Informational messages that highlight the progress of the application at coarse-grained level

  • warn: Potentially harmful situations

  • error: Error events that might still allow the application to continue running

  • fatal: Very severe error events that presumably lead the application to quit

  • off: Highest possible rank and is intended to turn off logging

Several application loggers are also pre-configured in the loggingconfig.xml file. Additional ones may be added as needed. For example, if the root logger level is set to error, but we would like to set a UIM technology pack package logger level to debug, then we would add the following to the loggingconfig.xml:

<Logger name="oracle.communications.inventory.techpack" additivity="false"
    level="debug">
    <AppenderRef ref="rollingFile"/>
</Logger>

Note:

Appender Additivity

The output of a log statement of logger C goes to all the appenders in C and its ancestors. This is the meaning of the term appender additivity.

However, if an ancestor of logger C, say P, has the additivity flag set to false, then C's output is directed to all the appenders in C and its ancestors up to and including P but not the appenders in any of the ancestors of P.

Loggers have their additivity flag set to true by default.

Source: http://logging.apache.org/log4j/2.x/manual/index.html

Connecting debugger to UIM

Tip:

To enable debug logging for the UIM Ruleset Extension Point Framework, you can add the following to the loggingconfig.xml file:

<Logger name="RuleSetLogger" additivity="false" level="debug">
    <AppenderRef ref="stdout"/>
    <AppenderRef ref="rollingFile"/>
</Logger>

If you add the above, then you can comment out or remove the logger for oracle.communications.inventory.extensibility.rules.impl. It is redundant because debug level is enable on its parent package.

If we need to connect a debugger to the UIM WebLogic server, then we would need to edit the file Domain_Home/bin/setUIMEnv.sh and add the following string to the USER_MEM_ARGS variable:

"-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=1234,server=y,suspend=n -Djava.compiler=NONE"

Example 5-1 USER_MEM_ARGS Before the Change

USER_MEM_ARGS="-Xms1024m -Xmx3000m -Xmn850m -XX:MaxPermSize=1024m -Xrs -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"

Example 5-2 USER_MEM_ARGS After the Change

USER_MEM_ARGS="-Xms1024m -Xmx3000m -Xmn850m -XX:MaxPermSize=1024m -Xrs -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=1234,server=y,suspend=n -Djava.compiler=NONE"

You can adjust the port by changing address=1234.

Enabling SQL and Other EclipseLink Logging

To enable SQL and other EclipseLink logging, perform the following:

  1. Open a command window.

  2. Navigate to the MW_Home/oracle_common/common/bin directory.

  3. Start the WebLogic Scripting Tool (WLST) using the following command:

    ./wlst.sh

  4. Connect to the server on which you want to change the logging level, use the following command:

    connect(userid,password,'t3://hostname:port')

  5. Go to Custom settings using the following command:

    custom()

    Note:

    'custom()' can take a while to process, approximately 5 minutes or more.

  6. Go to TopLink using the following command:

    cd('TopLink')

  7. List the sessions at this level using the following command:

    ls()

    Note:

    The following is an example of a TopLink session:

    'TopLink:Name=Session(file/share/uimcluster/domains/clusterUim 720b1357/servers/uim_ms1/tmp/_WL_user/ oracle.communications.inventory/b0t675/APP-INF/lib/uim-entities.jar_default'

  8. Copy the session and go to that session using the following command:

    cd('session')

  9. Change the EclipseLink logging level using the following command:

    set('CurrentEclipseLinkLogLevel',newLevel)

    EclipseLink provides nine logging levels, refer to Table 5-1 for a list of the different logging levels and a brief description of each.

    Table 5-1 EclipseLink Logging Levels

    Level Description

    OFF

    This setting disables the generation of the log output. You may want to set logging to OFF during production to avoid the overhead of logging.

    SEVERE

    This level enables the reporting of failure cases only. Usually, if the failure occurs, the application stops.

    WARNING

    This level enables the logging of issues that have a potential to cause problems. For example, a setting that is picked by the application and not by the user.

    INFO

    This level enables the standard output. The contents of this output are very limited. It is the default logging level if a logging level is not set.

    CONFIG

    This level enables the logging of such configuration details as your database login information and some metadata information. You may want to use the CONFIG log level at deployment time.

    FINE

    This level enables the logging of the first level of the debugging information and SQL. You may want to use this log level during debugging and testing, but not at production.

    FINER

    This level enables logging of more debugging information than the FINE setting. For example, the transaction information is logged at this level. You may want to use this log level during debugging and testing, but not at production.

    FINEST

    This level enables the logging of more debugging information than the FINER setting, such as a very detailed information about certain features (for example, sequencing). You may want to use this log level during debugging and testing, but not at production.

    ALL

    This level currently logs at the same level as FINEST.

  10. To enable SQL logging use the following command:

    set('CurrentEclipseLinkLogLevel','FINE')

Updating the System Configuration Files

You use files to control many aspects of UIM performance and configuration. These system configuration files are located in UIM_Home/config. Each file includes properties for which you can set values.

This section includes reference information and examples for the following configuration files:

Controlling Automatic Inventory Reloading

You use the config-reload.properties file to control automatic inventory reloading.

Table 5-2 lists and describes the properties in the file.

Table 5-2 Properties in the config-reload.properties file

Property Description

inventory.auto.reload.enabled

This property enables and disables the automatic reloading of system configuration properties.

The default value is true. For example:

inventory.auto.reload.enabled=true

inventory.auto.reload.interval

This property sets the reload interval in milliseconds.

The default value is 3000 milliseconds. For example:

inventory.auto.reload.interval=3000

Controlling Entity Consumption

You use the consumer.properties file to control entity consumption. The tn.* properties pertain to the telephone number aging process and the telephone number lifecycle process.

Table 5-3 lists and describes the properties in the consumer.properties file.

Table 5-3 Properties in the consumer.properties file

Property Description

consumer.resourcesWithQuarantinePeriod.1

consumer.resourcesWithQuarantinePeriod.2

consumer.resourcesWithQuarantinePeriod.3

consumer.resourcesWithQuarantinePeriod.4

These properties assign the Quarantine Periods for the corresponding entities.

For example:

consumer.resourcesWithQuarantinePeriod.1= TelephoneNumber
consumer.resourcesWithQuarantinePeriod.2= IPSubnet
consumer.resourcesWithQuarantinePeriod.3= IPv4Address
consumer.resourcesWithQuarantinePeriod.4= IPv6Address

deleteReservation.batchsize

This property controls the number of expired reservation records to be deleted for each execution of the Cleanup Expired Reservation timer process.

The default value is 1000 records. For example:

deleteReservation.batchSize=1000

tn.defaultDisconnectedStateExpiry

This property controls the expiration period for transitioning telephone number assignment states from Disconnected to Transitional state.

The default value is 30 days. For example:

tn.defaultDisconnectedStateExpiry=30

tn.enableTNDeletion

This property controls whether telephone numbers that are not consumed but were previously assigned to services can be deleted. When the property is absent (the default) or set to false, these telephone numbers cannot be deleted. When set to true, they can be deleted.

For example:

tn.enableTNDeletion= false

tn.defaultTransitionalStateExpiry

This property controls the expiration period for transitioning telephone number assignment states from Transitional to Unassigned.

The default value is 30 days. For example:

tn.defaultTransitionalStateExpiry=30

tn.portabilityCharacteristicName

This property specifies the telephone number characteristic that is used in portability logic.

The default value is tnType. For example:

tn.portabilityCharacteristicName=tnType

tn.recallTNSearchResultsLimit

This property controls the number of telephone number assignment records selected for the TN Aging and Recall Timer process.

The default value is 500. For example:

tn.recallTNSearchResultsLimit=500

tn.winbackCharacteristicName

This property specifies the telephone number characteristic used in winback (stealback) logic.

The default value is winback. For example:

tn.winbackCharacteristicName=winback

tn.defaultTransitionalStateExpiryForSnapback

This property specifies the aging period (for Transitional status) for a Ported telephone number in a snapback scenario. This value is the number of days it will remain in Transitional status before moving to Unassigned.

The default value is 0. For example:

tn.defaultTransitionalStateExpiryForSnapback=0

Controlling Bulk Operations

You use the inventoryBulkProcess.properties file to control the bulk operations in UIM.

Table 5-4 lists and describes the properties in the file.

Table 5-4 Properties in the inventoryBulkProcess.properties File

Property Description

chunkSizeInThread

This property defines the number of entities that you want processed in a thread bulk operation. A larger number of chunks per transaction means that fewer transactions are required to process the bulk operation.

For example:

chunkSizeInThread=50

chunkSizeInThreadForAddEdges

This property defines the number of connectivity edges that you want to process in a thread in bulk operation.

For example:

chunkSizeInThreadForAddEdges=1

MANAGED_EXECUTOR_SERVICE_NAME

This property setting is specifies the managed executor service name.

For example:

MANAGED_EXECUTOR_SERVICE_NAME=inventoryMES

MANAGED_EXECUTOR_SERVICE_JNDI

This property is a setting only for WebLogic.

For example:

MANAGED_EXECUTOR_SERVICE_JNDI=java:comp/env/inventoryMES

Defining Column Headers in Spreadsheets for Importing Entities

You use the importEntity.properties files to specify entity information in column headers in spreadsheets that enable you to import entities into UIM to process telephone number bulk operations.

Example 5-3 shows the UIM_Home/config/importEntity.properties file, which defines column headers for the different spreadsheets that you use to import entities into UIM to process telephone number bulk operations.

Example 5-3 importEntity.properties File

#SHEET NAMES
importentity.tn.sheetName=TelephoneNumber
importentity.tnsa.sheetName=TNServiceAssignment
importentity.sim.sheetName=SIM
importentity.imsi.sheetName=IMSI
importentity.simMapping.sheetName=SimMapping
 
#TelephoneNumber SHEET COLUMN HEADERS
importentity.tn.action=action
importentity.tn.id=telephoneNumber
importentity.tn.specification=specification
importentity.tn.description=description
importentity.tn.characteristic=characteristic
 
#TNServiceAssignment SHEET COLUMN HEADERS
importentity.tnsa.action=action
importentity.tnsa.tnId=telephoneNumber
importentity.tnsa.serviceSpecification=serviceSpecification
importentity.tnsa.serviceName=serviceName
importentity.tnsa.serviceConfigurationSpecification=serviceConfigurationSpecification
importentity.tnsa.serviceDescription=serviceDescription
importentity.tnsa.serviceCharacteristic=serviceCharacteristic
 
#SIM SHEET COLUMN HEADERS
importentity.sim.action=action
importentity.sim.name=name
importentity.sim.specification=specification
importentity.sim.description=description
importentity.sim.characteristic=characteristic
importentity.sim.deviceIdentifier=deviceIdentifier
importentity.sim.networkLocation=networkLocation
 
#IMSI SHEET COLUMN HEADERS
importentity.imsi.action=action
importentity.imsi.name=name
importentity.imsi.specification=specification
importentity.imsi.description=description
importentity.imsi.characteristic=characteristic
importentity.imsi.simName=SIMName
importentity.imsi.simId=SIMId
 
#SimMapping SHEET COLUMN HEADERS
importentity.simMapping.action=action
importentity.simMapping.msisdn=MSISDN
importentity.simMapping.simName=SIMName
importentity.simMapping.imsiName=IMSIName
 
#Specification for creating custom involvements between SIM and MSISDN
importentity.simMapping.custInvSpecName=PreconfigureSpec
 
#FileUpload content types
importentity.fileUploadWhiteListMimeTypes=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Table 5-5 describes the columns defined for the TelephoneNumber spreadsheet in the importEntity.properties file.

Table 5-5 TelephoneNumber Spreadsheet Column Headers

Column Header Description

action

This column must have one of the following values:

  • Port In: Creates multiple ported-in telephone numbers.

  • Port Out: Transitions multiple port-out telephone numbers.

  • Snapback: Transitions multiple snapback telephone numbers.

  • Winback: Transitions multiple snapback telephone numbers.

telephoneNumber

The telephone numbers that you want to create or transition.

specification

The Telephone Number specification.

description

When creating entities in bulk, all telephone numbers are created with the same name. Specifying a description is optional.

characteristic

Characteristic specifies the characteristic name/value pair per cell for the telephone number entities you are creating. You can specify any number of characteristics.

Table 5-6 describes the columns defined for the TNServiceAssignment spreadsheet in the importEntity.properties file.

Table 5-6 TNServiceAssignment Spreadsheet Column Headers

Column Header Description

action

This column must have one of the following values:

  • Port In: Creates services and service configurations and assigns the ported-in telephone numbers as configuration items to the service configurations of the services.

  • Winback: Creates services and service configurations and assigns the winback telephone numbers as configuration items to the service configurations of the services.

telephoneNumber

The telephone numbers that you want to create/transition and assign.

serviceSpecification

The Service specification used to create the services.

serviceName

The name of the service that you want to create.

serviceConfigurationSpecification

The Service Configuration specification used to create the service configurations.

serviceDescription

The description for the service.

serviceCharacteristic

Characteristic specifies the characteristic name/value pair per cell for the services you are creating.

Table 5-7 describes the columns defined for the SIM spreadsheet in the importEntity.properties file.

Table 5-7 SIM Spreadsheet Column Headers

Column Header Description

action

This column must have the value CREATE.

name

The name of the SIM (represented by logical device) that you are creating.

specification

The specification used to create the SIM (logical device).

description

The description for the SIM.

characteristic

Characteristic specifies the characteristic name/value pair per cell for the SIM that you are creating. You can add any number of column headers named characteristic for specifying multiple characteristics.

deviceIdentifier

The device identifier of the SIM (logical device) associated with the network location.

networkLocation

The network location with which the SIM is associated.

Table 5-8 describes the columns defined for the IMSI spreadsheet in the importEntity.properties file.

Table 5-8 IMSI Spreadsheet Column Headers

Column Header Description

action

This column must have the value CREATE.

name

The name of the IMSI (represented by logical device account) that you are creating.

specification

The specification used to create the IMSI (logical device account).

description

The description for the IMSI.

characteristic

Characteristic specifies the characteristic name/value pair per cell for the IMSI that you are creating. You can specify any number of characteristics. You can add any number of column headers named characteristic for specifying multiple characteristics.

SIMName

The name of the SIM (logical device) that manages the IMSI that you are creating.

SIMId

The ID of the SIM that manages the IMSI that you are creating.

Table 5-9 describes the columns defined for the SimMapping spreadsheet in the importEntity.properties file.

Table 5-9 SimMapping Spreadsheet Column Headers

Column Header Description

action

This column must have the value ASSOCIATE.

MSISDN

Specify the MSIDN (represented by telephone number) that you want to associate with the SIM.

SIMName

Specify the name of the SIM (represented by logical device) that you want to associate with MSISDN and IMSI.

IMSIName

Specify the name of the IMSI (represented by logical device account) that you want to associate with the SIM.

Defining Column Headers in Spreadsheets for Importing Entities in Bulk

You use the inventoryimport.properties files to specify entity information in column headers in spreadsheets that enable you to import entities into UIM to process the corresponding bulk operations.

Example 5-4 shows the UIM_Home/config/inventoryimport.properties file, which defines column headers for the different spreadsheets that you use to import entities into UIM to process the corresponding bulk operations. See "Importing Inventory Entities in Bulk" for descriptions on each worksheet and the corresponding column headers.

Example 5-4 inventoryimport.properties File

inventoryimport.con.diRowLockexpiryTime=30000
# SHEET NAMES
inventoryimport.loc.sheetname=Locations
inventoryimport.nec.sheetname=NetworkEntityCodes
inventoryimport.place.sheetname=Places
inventoryimport.assocPlace.sheetname=AssociatePlace
inventoryimport.ld.sheetname=LogicalDevices
inventoryimport.pd.sheetname=PhysicalDevices
inventoryimport.eq.sheetname=Equipments
inventoryimport.devicemapping.sheetname=DeviceMappings
inventoryimport.device.sheetname=Devices
inventoryimport.shelf.sheetname=InsertShelfs
inventoryimport.card.sheetname=InsertCards
inventoryimport.portmap.sheetname=PortMappings
inventoryimport.con.sheetname=Connectivities
inventoryimport.pipe.sheetname=Pipes
inventoryimport.connPipeEn.sheetname=ConnectivityPipeEnablement
inventoryimport.nw.sheetname=Networks
inventoryimport.addcon.sheetname=AddConnectivityEdges
inventoryimport.node.sheetname=NetworkNodes
inventoryimport.edge.sheetname=NetworkEdges
inventoryimport.tn.sheetname=TelephoneNumber
inventoryimport.tnsa.sheetname=TNServiceAssignment
inventoryimport.sim.sheetname=SIM
inventoryimport.imsi.sheetname=IMSI
inventoryimport.simmapping.sheetname=SimMapping

#TelephoneNumber SHEET COLUMN HEADERS
inventoryimport.tn.action=action
inventoryimport.tn.id=telephoneNumber
inventoryimport.tn.specification=specification
inventoryimport.tn.description=description
inventoryimport.tn.characteristic=characteristic

#TNServiceAssignment SHEET COLUMN HEADERS
inventoryimport.tnsa.action=action
inventoryimport.tnsa.tnId=telephoneNumber
inventoryimport.tnsa.serviceSpecification=serviceSpecification
inventoryimport.tnsa.serviceName=serviceName
inventoryimport.tnsa.serviceConfigurationSpecification=serviceConfigurationSpecification
inventoryimport.tnsa.serviceDescription=serviceDescription
inventoryimport.tnsa.serviceCharacteristic=serviceCharacteristic

#SIM SHEET COLUMN HEADERS
inventoryimport.sim.action=action
inventoryimport.sim.name=name
inventoryimport.sim.specification=specification
inventoryimport.sim.description=description
inventoryimport.sim.characteristic=characteristic
inventoryimport.sim.deviceIdentifier=deviceIdentifier
inventoryimport.sim.networkLocation=networkLocation

#IMSI SHEET COLUMN HEADERS
inventoryimport.imsi.action=action
inventoryimport.imsi.name=name
inventoryimport.imsi.specification=specification
inventoryimport.imsi.description=description
inventoryimport.imsi.characteristic=characteristic
inventoryimport.imsi.simName=SIMName
inventoryimport.imsi.simId=SIMId

#SimMapping SHEET COLUMN HEADERS
inventoryimport.simMapping.action=action
inventoryimport.simMapping.msisdn=MSISDN
inventoryimport.simMapping.simName=SIMName
inventoryimport.simMapping.imsiName=IMSIName

#LOCATION CREATION SHEET COLUMN HEADERS
inventoryimport.loc.action=Action
inventoryimport.loc.propertyname=PropertyName
inventoryimport.loc.street=Street
inventoryimport.loc.city=City
inventoryimport.loc.state=State
inventoryimport.loc.postalcode=PostalCode
inventoryimport.loc.country=Country
inventoryimport.loc.networklocationcode=NetworkLocationCode
inventoryimport.loc.longitude=Longitude
inventoryimport.loc.latitude=Latitude
inventoryimport.loc.geocodeaddress=GeoCodeAddress
inventoryimport.loc.isnetworklocation=IsNetworkLocation
inventoryimport.loc.isservicelocation=IsServiceLocation

#NETWORKENTITYCODE CREATION SHEET COLUMN HEADERS
inventoryimport.nec.action=Action
inventoryimport.nec.networklocationcode=NetworkLocationCode
inventoryimport.nec.networkentitycode=NetworkEntityCode

#PLACE HEADERS
inventoryimport.place.action=Action
inventoryimport.place.specification=Specification	
inventoryimport.place.placeType=PlaceType
inventoryimport.place.name=Name
inventoryimport.place.latitude=Latitude
inventoryimport.place.longitude=Longitude
inventoryimport.place.vertical=Vertical
inventoryimport.place.horizontal=Horizontal
inventoryimport.place.Address=Address
inventoryimport.place.AddressRange=AddressRange
inventoryimport.place.Location=Location
inventoryimport.place.Site=Site
inventoryimport.place.placeCharacteristic=PlaceCharacteristic

#ASSOCIATE PLACE HEADERS
inventoryimport.assocPlace.action=Action
inventoryimport.assocPlace.placeName=PlaceName	
inventoryimport.assocPlace.placeType=PlaceType
inventoryimport.assocPlace.entityType=EntityType
inventoryimport.assocPlace.entityName=EntityName
inventoryimport.assocPlace.Address=Address
inventoryimport.assocPlace.AddressRange=AddressRange
inventoryimport.assocPlace.Location=Location
inventoryimport.assocPlace.Site=Site
inventoryimport.assocPlace.EQUIPMENT=Equipment
inventoryimport.assocPlace.LOGICAL_DEVICE= LogicalDevice
inventoryimport.assocPlace.PHYSICAL_DEVICE= PhysicalDevice
inventoryimport.assocPlace.PROPERTY_LOCATION= PropertyLocation

#LOGICAL DEVICE COLUMN HEADERS
inventoryimport.ld.action=Action
inventoryimport.ld.name=Name
inventoryimport.ld.specification=Specification
inventoryimport.ld.networklocation=NetworkLocation
inventoryimport.ld.networkentitycode=NetworkEntityCode
inventoryimport.ld.deviceidentifier=DeviceIdentifier
inventoryimport.ld.characteristic=LDcharacteristic

#PHYSICAL DEVICE COLUMN HEADERS
inventoryimport.pd.action=Action
inventoryimport.pd.name=Name
inventoryimport.pd.specification=Specification
inventoryimport.pd.networklocation=NetworkLocation
inventoryimport.pd.serialnumber=SerialNumber
inventoryimport.pd.characteristic=PDcharacteristic

#EQUIPMENT COLUMN HEADERS
inventoryimport.eq.action=Action
inventoryimport.eq.name=Name
inventoryimport.eq.specification=Specification
inventoryimport.eq.networklocation=NetworkLocation
inventoryimport.eq.serialnumber=SerialNumber
inventoryimport.eq.characteristic=EQcharacteristic

#DEVICE MAPPING COLUMN HEADERS
inventoryimport.devicemapping.physicaldevice=PhysicalDevice
inventoryimport.devicemapping.logicaldevice=LogicalDevice
inventoryimport.devicemapping.equipment=Equipment


#DEVICE CREATION COLUMN HEADERS
inventoryimport.device.action=Action
inventoryimport.device.name=Name
inventoryimport.device.deviceidentifier=DeviceIdentifier
inventoryimport.device.logicaldevicespecification=LogicalDeviceSpecification
inventoryimport.device.physicaldevicespecification=PhysicalDeviceSpecification
inventoryimport.device.equipmentspecification=EquipmentSpecification
inventoryimport.device.networklocation=NetworkLocation
inventoryimport.device.networkentitycode=NetworkEntityCode
inventoryimport.device.serialnumber=SerialNumber
inventoryimport.device.macaddress=MACAddress
inventoryimport.device.pdcharacteristic=PDcharacteristic
inventoryimport.device.ldcharacteristic=LDcharacteristic
inventoryimport.device.eqcharacteristic=EQcharacteristic

#INSERT SHELF CREATION COLUMN HEADERS
inventoryimport.shelf.action=Action
inventoryimport.shelf.rackname=RackName
inventoryimport.shelf.specification=ShelfSpecification
inventoryimport.shelf.name=ShelfName
inventoryimport.shelf.serialnumber=SerialNumber
inventoryimport.shelf.characteristic=ShelfCharacteristic

#INSERT CARD CREATION COLUMN HEADERS
inventoryimport.card.action=Action
inventoryimport.card.shelfname=ShelfName
inventoryimport.card.specification=CardSpecification
inventoryimport.card.slot=Slot
inventoryimport.card.name=Name
inventoryimport.card.abbreviation=Abbreviation
inventoryimport.card.characteristic=CardCharacteristic

#PORT MAPPINGS COLUMN HEADERS
inventoryimport.portmap.action=Action
inventoryimport.portmap.type=Type
inventoryimport.portmap.name=Name
inventoryimport.portmap.portspecification=PortSpecification
inventoryimport.portmap.portname=PortName	
inventoryimport.portmap.interfacespecification=InterfaceSpecification	
inventoryimport.portmap.interfacename=InterfaceName	
inventoryimport.portmap.ldname=LogicalDeviceName

#CONNECTIVTY CREATE COLUMN HEADERS
inventoryimport.con.action=Action
inventoryimport.con.technology=Technology	
inventoryimport.con.specification=Specification	
inventoryimport.con.format=Format	
inventoryimport.con.alocation=ALocation	
inventoryimport.con.zlocation=ZLocation	
inventoryimport.con.ratecode=RateCode	
inventoryimport.con.oversubscription=Oversubscription	
inventoryimport.con.function=Function	
inventoryimport.con.identifier=Identifier
inventoryimport.con.characteristic=Concharacteristic
inventoryimport.con.autotermination=AutoTermination
inventoryimport.con.adevice=ADevice
inventoryimport.con.zdevice=ZDevice
inventoryimport.con.gapmessage=GapMessage
#Additional UNI Connectivity Attributes
inventoryimport.con.servicemultiplexing=ServiceMultiplexing
inventoryimport.con.bundling=Bundling
inventoryimport.con.alltoonebundling=AllToOneBundling
inventoryimport.con.valanbased=VLANBased
inventoryimport.con.maxpvncount=MaxPacketVirtualNetworkCount
#Additional INNI Connectivity Attributes
inventoryimport.con.internetwork=Internetwork
#Additional ENNI Connectivity Attributes
inventoryimport.con.otherserviceprovidername=OtherServiceProvider
inventoryimport.con.otherproviderdemarcationpoint=OtherProviderDemarcationPoint	
inventoryimport.con.exprRateCode=ExpressToRateCode

#PIPE CREATE COLUMN HEADERS
inventoryimport.pipe.action=Action
inventoryimport.pipe.specification=Specification	
inventoryimport.pipe.name=Name
inventoryimport.pipe.autotermination=AutoTermination
inventoryimport.pipe.medium=Medium
inventoryimport.pipe.transmissionSignalType=TransmissionSignalType
inventoryimport.pipe.parentPipe=ParentPipe
inventoryimport.pipe.startingWavelength=StartingWavelength
inventoryimport.pipe.startingFrequency=StartingFrequency
inventoryimport.pipe.numOfChannels=NumOfChannels
inventoryimport.pipe.aEntityType=AEntityType
inventoryimport.pipe.zEntityType=ZEntityType
inventoryimport.pipe.aEntityId=AEntityId
inventoryimport.pipe.zEntityId=ZEntityId
inventoryimport.pipe.aEntityName=AEntityName
inventoryimport.pipe.zEntityName=ZEntityName
inventoryimport.pipe.characteristic=Pipecharacteristic
inventoryimport.pipe.EQUIPMENT=Equipment
inventoryimport.pipe.LOGICAL_DEVICE= LogicalDevice
inventoryimport.pipe.PHYSICAL_DEVICE= PhysicalDevice
inventoryimport.pipe.DEVICE_INTERFACE= DeviceInterface
inventoryimport.pipe.PHYSICAL_PORT= PhysicalPort
inventoryimport.pipe.gridType=GridType
inventoryimport.pipe.flexGridChannelSize=FlexGridChannelSize


#PIPE CONNECTIVITY ENABLE COLUMN HEADERS
inventoryimport.connPipeEn.action=Action
inventoryimport.connPipeEn.trailType=TrailType	
inventoryimport.connPipeEn.trailName=TrailName
inventoryimport.connPipeEn.TDMFacility=TDMFacility
inventoryimport.connPipeEn.pipe=Pipe
inventoryimport.connPipeEn.connectivity=Connectivity

# Network COLUMN HEADERS
inventoryimport.nw.action=Action	
inventoryimport.nw.name=NetworkName
inventoryimport.nw.specification=NetworkSpecification
inventoryimport.nw.topology=Topology
inventoryimport.nw.characteristic=NWCharacteristic

# ADD Network NODES COLUMN HEADERS
inventoryimport.node.action=Action
inventoryimport.node.nwname=NetworkName
inventoryimport.node.entitytype=EntityType
inventoryimport.node.entityname=EntityName

# Add Connectivity Edges to Network 
inventoryimport.addcon.action=Action
inventoryimport.addcon.nwname=NetworkName
inventoryimport.addcon.entitytype=EntityType
inventoryimport.addcon.entityname=EntityName

# ADD Network EDGES CUCOLUMN HEADERS
inventoryimport.edge.action=Action
inventoryimport.edge.nwname=NetworkName
inventoryimport.edge.entitytype=EntityType
inventoryimport.edge.entityname=EntityName
inventoryimport.edge.fromnode=FromNode
inventoryimport.edge.tonode=ToNode

#Specification for creating custom involvements between SIM and MSISDN
inventoryimport.simMapping.custInvSpecName=PreconfigureSpec

#FileUpload content types
inventoryimport.fileUploadWhiteListMimeTypes=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Controlling Reference Properties

You use the reference.properties file to control referenced properties.

Table 5-10 lists and describes the properties in the file. The properties are listed in order by entity type.

Table 5-10 Properties in the reference. properties file

Property Description

AllowCancelReferencedBusinessInteraction

This property controls the cancellation of referenced business interactions.

The default value is true. For example:

AllowCancelReferencedBusinessInteraction=true

AllowDeactivateReferencedCustomNetworkAdrress

This property controls the deactivation of referenced custom network addresses.

The default value is false. For example:

AllowDeactivateReferencedCustomNetworkAddress=false

AllowDeactivateReferencedCustomObject

This property controls the deactivation of referenced custom object property.

The default value is false. For example:

AllowDeactivateReferencedCustomObject=false

AllowDeactivateReferencedEquipment

This property controls the deactivation of referenced equipment.

The default value is false. For example:

AllowDeactivateReferencedEquipment=false

AllowedDeactivateReferencedLogialDevice

This property controls the deactivation of referenced logical devices.

The default value is false. For example:

AllowDeactivateReferencedLogicalDevice=false

AllowDeactivateReferencedLogialDeviceAccount

This property controls the deactivation of referenced logical device accounts.

The default value is false. For example:

AllowDeactivateReferencedLogicalDeviceAccount=false

AllowDeactivateReferencedNetwork

This property controls the deactivation of referenced networks.

The default value is false. For example:

AllowDeactivateReferencedNetwork=false

AllowDeactivateReferencedPhysicalDevice

This property controls the deactivation of referenced physical devices.

The default value is false. For example:

AllowDeactivateReferencedPhysicalDevice=false

AllowDeactivateReferencedPipe

This property controls the deactivation of referenced pipes.

The default value is false. For example:

AllowDeactivateReferencedPipe=false

AllowSuspendReferencedService

This property controls the suspension of referenced services.

The default value is true. For example:

AllowSuspendReferencedService=true

AllowDisconnectReferencedService

This property controls the disconnect of referenced services.

The default value is true. For example:

AllowDisconnectReferencedService=true

AllowCancelReferencedService

This property controls the cancellation of referenced services.

The default value is true. For example:

AllowCancelReferencedService=true

AllowDeactivateReferencedTelephoneNumber

This property controls the deactivation of referenced telephone numbers.

The default value is false. For example:

AllowDeactivateReferencedTelephoneNumber=false

Controlling the Work Manager

You use the ruleProcess.properties file to control Work Manager. Work Manager is used to compile rulesets during cartridge compilation.

Table 5-11 lists and describes the properties in the file.

Table 5-11 Properties in the ruleProcess.properties File

Property Description

WORK_MANAGER_JNDI

This property applies only to WebLogic. For example:

WORK_MANAGER_JNDI=java:comp/env/wm/ruleWorkManager

timeOutSec

This property sets the timeout in WorkManager during cartridge install.

The default value is 10000 milliseconds. For example:

timeOutSec=10000

Setting System Properties

You use the system-config.properties file to control system configuration properties.

Table 5-12 lists the system configuration properties. Some related properties are grouped together.

Table 5-12 Properties in the system-config.properties File

Property Description

billofmaterial.currency

This property determines the currency that is used in bills of material (BOMs) generated from engineering work orders, business interactions, and projects. The default value is USD (US dollar). Change the value to another ISO-standard currency abbreviation to specify that currency. For example, to use the Euro in BOMs:

billofmaterial.currency=EUR

See UIM Concepts for more information about BOMs.

adminServerListenerPort

adminServerListenerSSLPort

These properties set the AdminServer ports. Setting the ports allows you to change the LDAP user password from UIM UI using the Change Password field under the Administration section. The default value is 0 if nothing is specified.

businessInteraction.allowCancelWithCompletedChild

This property controls whether a business interaction can be canceled if it has completed children. For example:

businessInteraction.allowCancelWithCompletedChild=false

businessInteraction.allowCancelWithCompletedConfiguration

This property controls whether a business interaction can be canceled if it is associated to a completed configuration version. For example:

businessInteraction.allowCancelWithCompletedConfiguration=false

cmws.asynch.mode

This property sets the cartridge deployment mode to either synchronous or asynchronous.

The default value is true (asynchronous). For example:

cmws.asynch.mode=true

connectivity.capactityVariant

Defines the percentage by which pipe capacity can vary from a rate code and still be validated successfully.

The default value is 4. For example:

connectivity.capacityVariant=4

connectivity.skipSameRateCodeValidationFor

Skips certain rate codes for SameRateCode validation.

For example:

connectivity.skipSameRateCodeValidationFor=ODU4

createIPAddress.flushSize

This property controls the number of IP Address entities to create before flushing transactions. Do not set the value of the property to a value greater than 500.

For example:

createIPAddress.flushSize=500

createIPSubnets.flushSize

This property controls the number of IP Subnet entities to create before flushing transactions. Do not set the value of the property to a value greater than 500.

For example:

createIPSubnets.flushSize=500

createIPAddress.maxLimit

This property controls the number of IP Address entities to create in one transaction.

For example:

createIPAddress.maxLimit=20000

createIPSubnets.maxLimit

This property controls the number of IP Subnet entities to create in one transaction.

For example:

createIPSubnets.maxLimit=20000

createTN.flushSize

This property controls the number of telephone number entities to create before calling the flush transaction. Do not set the createTN.flushSize property to a value greater than 500.

The default value is 500. For example:

createTN.flushSize=500

db.sequence.cacheSize

This property sets the cache size for Oracle Sequence used for Auto ID generation.

The default value is 75000. For example:

db.sequence.cacheSize=75000

default.connectivity.color

default.gap.color

default.crossconnect.color

default.jumper.color

default.pipe.color

selected.connectivity.patchcolor

These properties control the colors used in the connectivity schematic view. Colors are expressed in standard RGB values. For example:

default.connectivity.color=0,0,153
default.gap.color=165,165,165
default.crossconnect.color=0,204,255
default.jumper.color=84,141,212
default.pipe.color=165,165,165
selected.connectivity.patchcolor=0,175,0

domainName.1

domainName.2

This property sets the list of all domain names that are allowed.

For example:

domainName.1=oracle
domainName.2=cloud.oracle

eLocation.defaultCountry

This property is used to select the default country in the Country drop-down list while creating a property location. You set the value to one of the two-character ISO country abbreviations listed in the country.properties file. For example, the following entry defines the default country as the US:

eLocation.defaultCountry=US

For detailed information about eLocation configuration, see UIM Developer's Guide.

eLocation.URL

This property defines the eLocation URL The default value is:

eLocation.URL=http://eLocation.oracle.com/eLocation/lbs

eLocation.matchMode

This property determines the eLocation match mode. The default value is:

eLocation.matchMode=Default

See the eLocation documentation for more information about match mode.

eLocation.http.proxyExists

eLocation.http.proxyHost

eLocation.http.proxyPort

eLocation.http.proxyUser

eLocation.http.proxyPassword

UIM allows for a proxy server to be used to connect to the Oracle eLocation Service used for displaying base maps in UIM.

If you connect to the eLocation through a proxy server, set eLocation.http.proxyExists to true, then set the other values based on the proxy server you are using. For example:

eLocation.http.proxyExists=true
eLocation.http.proxyHost=www-proxy.xyz.sample.com
eLocation.http.proxyPort=80
eLocation.http.proxyUser=user
eLocation.http.proxyPassword=password

fiber.maxDWDMChannelsLimit

fiber.maxCWDMChannelsLimit

fiber.DWDMStartingFrequency

fiber.DWDMMaxFrequencyLimit

fiber.CWDMStartingWavelength

fiber.CWDMMaxWavelengthLimit

These properties control number of channels, frequency, and wavelength of the corresponding optical fiber.

fiber.maxDWDMChannelsLimit=2
fiber.maxCWDMChannelsLimit=2
fiber.DWDMStartingFrequency=1270
fiber.DWDMMaxFrequencyLimit=1810
fiber.CWDMStartingWavelength=190.1
fiber.CWDMMaxWavelengthLimit=197.3

inv.extendedCharSearchEnabled

inv.extendedCharSearchEnabledForAll

inv.extendedCharSearchEnabledEntities

These properties control the extended characteristic search feature. This feature improves performance for searches for entities that include characteristics.

See "Improving Performance of Searches That Include Characteristics" for more information.

ip.defaultTransitionalStateExpiry

This property controls the number of days IP resources should be in the TRANSITIONAL state before moving to UNASSIGNED state.

The default value is 30. For example:

ip.defaultTransitionalStateExpiry=30

ipAddress

This property specifies the possible ipv4/ipv6 initial pattern that are allowed. If 127.10. is specified, the system allows all ipv4 addresses starting 127.10..

For example:

ipAddress=127.10.

lockPolicy.defaultRowLockExpirationDuration

This property sets the default row lock expiration duration for the entity. The value is defined in milli seconds. This value should be defined as that it should be less than or equal to transaction time out.

The default value is 30000. For example:

lockPolicy.defaultRowLockExpirationDuration=30000

lockPolicy.MaxSupportedRowLocks

This property sets the default maximum number of entities to be row locked. This should be in sync with the maximum number or range.

The default value is 100. For example:

lockPolicy.MaxSupportedRowLocks=100

logfactory.logexactclass

feedmessage.logexactlocation

These properties control whether the exact location and class name are included in the log when an exception occurs. For example:

logfactory.logexactclass=false
feedmessage.logexactlocation=false

logicalDevice.alertConsumptionPercent

This property alerts when the consumption percentage is above or equal to the value you enter.

The default value is 80. For example:

logicalDevice.alertConsumptionPercent=80

logicalDevice.warnConsumptionPercent

This property warns when the consumption percentage is above or equal to the value you enter.

The default value is 60. For example:

logicalDevice.warnConsumptionPercent=60

logicalDevice.alertConsumptionPercentColor

This property displays the consumption percentage for alerts in the color you specify.

The default value is #940000. For example:

logicalDevice.alertConsumptionPercentColor=#940000

logicalDevice.warnConsumptionPercentColor

This property displays the consumption percentage for warnings in the color you specify.

The default value is #ff7300. For example:

logicalDevice.warnConsumptionPercentColor=#ff7300

logicalDevice.alertConsumptionPercentTextColor

This property displays the text in the consumption percentage alert in the color you specify.

The default value is #ffffff. For example:

logicalDevice.alertConsumptionPercentTextColor=#ffffff

logicalDevice.warnConsumptionPercentTextColor

This property displays the text in the consumption percentage warning in the color you specify.

The default value is #000000. For example:

logicalDevice.warnConsumptionPercentTextColor=#000000

topLevelDomainName.1

topLevelDomainName.2

This property sets the list of all top-level domain names that are allowed.

For example:

topLevelDomainName.1=.com
topLevelDomainName.2=.co.uk

securityViolationLoggingEnabled

This property enables and disables security access violation logging. For example:

securityViolationLoggingEnabled=true

system.*

These properties are used for setting system-specific settings:

system.minDate=0
system.maxDate=2147483647000
system.lastModifiedDateThreshold=15

system.auth.debug

This property is used to enable and disable system authentication when debugging. For example:

system.auth.debug=false

ui.custominvolvement.setDefaultSpec.name

This property sets a default specification used when creating Custom Involvement entities. The property is commented out by default. To set a default Custom Involvement specification, uncomment the property and add a specification name. For example:

ui.custominvolvement.setDefaultSpec.name = DefCustInv

ui.lastSavedSearch

This property enables or disables the last saved search.

The default value is true. For example:

ui.lastSavedSearch=true

ui.ldsummary.portlets.disableCount

This property disables the count that appears in the Total Results field in Logical Device Summary page portlets (sections). This property is commented out by default.

To disable the count, uncomment the property set to true. For example:

ui.ldsummary.portlets.disableCount=true

ui.logicaldevicesummary.logicaldeviceaccountportlet.deactivate

ui.logicaldevicesummary.rolesportlet.deactivate

ui.logicaldevicesummary.mediaportlet.deactivate

ui.logicaldevicesummary.biportlet.deactivate

ui.logicaldevicesummary.networknodesportlet.deactivate

ui.logicaldevicesummary.serviceportlet.deactivate

These properties control whether particular portlets (sections) are displayed in Logical Device Summary pages. These properties are commented out by default. To deactivate a portlet, uncomment the relevant property. For example:

ui.logicaldevicesummary.serviceportlet.deactivate=true

ui.search.pageSize

This property sets the number of rows shown in UIM search results pages. Search results are displayed one page at a time. When you scroll beyond the results in a page the next page is automatically retrieved from the database.

The default value is 500. For example:

ui.search.pageSize=500

ui.search.queryBehavior

This property determines the query behavior. There are various choices presented to the system about how much data is queried from the database and whether the count is retrieved for the UI.

Based on performance evaluations, one of the following values can be picked:

  • FULL_COUNT_FULL_QUERY(1)

  • NO_COUNT_FULL_QUERY(2)

  • LIMIT_COUNT_FULL_QUERY(3)

  • LIMIT_COUNT_LIMIT_QUERY(4)

  • NO_COUNT_LIMIT_QUERY (5)

  • FULL_COUNT_LIMIT_QUERY (6) (This is the default value)

See "Changing the Query Behavior and Row Limit Parameters" for more information about these query behaviors, including the pros and cons to consider when using them.

The default value is 6. For example:

ui.search.queryBehavior=6

ui.search.queryLimit

This property sets a limit to UIM query results. The default value is 10000, which indicates that a maximum of 10000 rows will be retrieved and displayed in the UIM query results. You can also set this property to -1, which indicates that no limit is applied to the query results.

See "Changing the Query Behavior and Row Limit Parameters" for more information on how this query limit is used.

For example:

ui.search.queryLimit=10000

uim.attachment.ws.log.information.enabled

This property controls logging for web service request attachments. The default value is false, which disables information logging for the attachment if the resource to be preconfigured is blocked or reserved. For example:

uim.attachment.ws.log.information.enabled=false

uim.cache.config.customization.enabled

Automatically set to true if Eclipse Link cache configuration customization has been enabled.

Caution: Do not change this setting manually.

uim.characteristic.readonly.enabled

This property is used for read-only characteristics. The default value is true, which validates for read-only characteristics. Set the value to false to bypass the CharacteristicManagerImpl.validateReadOnly method.

The default value is true. For example:

uim.characteristic.readonly.enabled=true

uim.characteristic.entitylink.rowlimit

This property sets a limit for the number of rows returned by an entity link query. The default value is 500.

uim.characteristic.entitylink.rowlimit=500

uim.characteristic.entitylink.executeQueryWithoutValues

This property controls whether a child drop-down is populated if the parent is not present in entity-link search criteria. For example, the City characteristic is characteristics on the State characteristic.

If this property is set to false and you add the City characteristic to the search criteria, the drop-down is empty because State is not included in the criteria. If the property is set to true, the drop-down includes all values for City, unconstrained by State values.

uim.characteristic.entitylink.executeQueryWithoutValues=false

uim.characteristic.entitylink.maxSuggestedItems

This property sets the maximum number of suggested results when entity-link drop-down lists are also auto-suggest fields. For example:

uim.characteristic.entitylink.maxSuggestedItems=25

uim.characteristic.dropdown.entitylink.width

This property sets the width of the field in the UIM user interface for entity-link characteristic fields. For example:

uim.characteristic.dropdown.entitylink.width=28

uim.characteristic.addCharacteristicsToResultsTable

This property determines whether entity-link characteristics are included as columns in the search results. For example:

uim.characteristic.addCharacteristicsToResultsTable=true

uim.characteristic.entitylink.dropdown.includeID

This property determines whether ID values are displayed in entity-link drop-down lists. For example:

uim.characteristic.entitylink.dropdown.includeID=true

uim.characteristic.p_wdType.mask

This property avoids hard coding of the value for password type characteristic. For example:

uim.characteristic.p_wdType.mask=******

uim.connectivityresultstable.pendingBiInfo.enable

This property determines whether connectivities in pending business interactions are displayed in connectivity search results. The default value is true.

uim.connectivityresultstable.pendingBiInfo.enable = true

uim.default.paging.query.hint

This property defines a a default query hint that is used to improve performance of the finder APIs when invoked from Web Services. When a search query is fired from a web service without a SearchPolicy, then the API sets this default query hint.

For example:

uim.default.paging.query.hint=FIRST_ROWS(25)

uim.defaultSenderEmail

This property sets the default email id of the sender, for email notifications.

uim.entity.autoCreateDefaultVersion

This property controls the creation of default configuration versions for Service entities. If this property is enabled, and if there is only a single specification option for the service, a version is created during service creation.

The default value is false. For example:

uim.entity.autoCreateDefaultVersion=false

uim.entity.autoCreateDefaultVersion

This property controls whether a service configuration version is created automatically when you create a Service entity. This behavior applies only when the Service specification is associated to one and only one service configuration specification. The default value is false.

For example, to enable the creation of a default service configuration version when you create a service:

uim.entity.autoCreateDefaultVersion=true

For more information, see UIM Concepts.

uim.disable.entity.event.listeners

This property enables and disables entity-level listeners. The default value is true, which disables the event listeners. To enable event listeners, set this property value to false. For example:

uim.disable.entity.event.listeners=true

uim.entity.maxCreateRange

This property controls the maximum number of entities that can be created at once for entities that allow bulk creation.

The default value is 10000. For example:

uim.entity.maxCreateRange=10000

uim.entity.flushTriggerBufferSize

This property defines the number of entities created in memory for bulk entity creation. The default value is 1000, which is equal to the EclipseLink batch writing size as defined in the poms.properties file. The value determines the number of persistent entities held in memory before being persisted to the database. The value should be less than or equal to the batch writing size. For example:

uim.entity.flushTriggerBufferSize=1000

uim.entityNameSearch.operators

This property enables you to choose which search operators should be displayed in the search page for the following entities:

  • Service

  • Physical Device

  • Party

  • Logical Device

  • Custom Object

  • Inventory Group

You can set the following values for this property:

  • EQUALS

  • CONTAINS

  • STARTS_WITH

  • ENDS_WITH

For example, if you want only the EQUALS search operator to be displayed in the Service Search page, set this property as follows:

uim.serviceSearch.operators=EQUALS

Similarly, if you want both the EQUALS and CONTAINS operators displayed in the Physical Device Search page, set this property as follows:

uim.physicalDeviceSearch.operators=EQUALS, CONTAINS

ui.entityNamesummary.portletName.deactivate

This property enables you to personalize entity Summary pages by specifying the portlet name and the name of the entity Summary page within which you want to show or hide the portlet.

For example, to hide the Roles portlet in the Party Summary page, set this property as follows:

ui.partysummary.rolesportlet.deactivate=true

This property setting is not user-specific, but applies to all the UIM users.

uim.flowidentifier.id.delimiter

This property defines the delimiter to be used while concatenating the domain name to the identifier value while building the ID of a flow identifier.

The default value is #. For example:

uim.flowidentifier.id.delimiter=

uim.host.*

These properties are added to provide server host and port information to support UIM notification functionality. For example, to set the host name and port for the URL in notifications:

uim.host.name=uimserver
uim.host.port=7001

See UIM Developer's Guide for more information about properties for UIM notifications.

uim.mpcenabled

This property determines whether multiple pending configuration functionality is enabled or not. The default value is true. For example, to disable this functionality, set this property to false:

uim.mpcenabled=false

See UIM Concepts Guide for more information about multiple pending configuration functionality.

uim.query.cache.hint.entitylist

This property adds the RESULTS_CACHE hint to queries involving entities. For example:

uim.query.cache.hint.entitylist=CharacteristicSpecUsageDAO

uim.query.MaxSearchResults

This property sets a limit on the number of entities retrieved for a search. The default value is -1, which sets no limit; search result pages display all retrieved entities (unless a range is explicitly set on the finder). For example:

uim.query.MaxSearchResults=-1

uim.rest.dateFormat

This property sets the default date format to ISO8601 standard data format. Any changes need the application to restart and the date format should be compatible with SimpleDateFormat.

The default value is yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. For example:

uim.rest.dateFormat=yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

uim.rest.limitRange

This property sets the default limit to 200, if the limit is not specified in the URL. Value of this should be <=10000. For example:

uim.rest.limitRange=200

uim.rest.includeTotalCount

This property is used for pagination and it can be disabled for better performance.

The default value is true. For example:

uim.rest.includeTotalCount=true

uim.rest.logicalDevice.category

uim.rest.telephoneNumber.category

uim.rest.service.category

These properties set names for the Category fields of the corresponding specifications. You can set a generic category name for all the specifications. For example:

uim.rest.logicalDevice.category=category
uim.rest.telephoneNumber.category=category
uim.rest.service.category=category

If the category name is different for each specification, include separate properties for each specification. For example:

uim.rest.logicalDevice.BATLDSpec.category=ldcategory

uim.rest.service.relationshipPrefix

uim.rest.service.relationshipTypePrefix

These properties set names for the service relationships. For example:

uim.rest.service.relationshipPrefix=serviceRel
uim.rest.service.relationshipTypePrefix=serviceRelType

uim.security.filter.enabled

This property sets security access to allow for the configuring of partitions. For example:

uim.security.filter.enabled=false

uim.serverName

uim.serverPort

These properties set server name and port for triggering email notifications, when the request comes from a web service.

uim.serverAccessProtocol

This property sets the server access protocol. The valid values are http and https.

The default value is https. For example:

uim.serverAccessProtocol=https

uim.supportedImageExtensions

This property defines the image extensions that are allowed.

The default values are gif, png, bmp, dib, jpg, jpeg, jpe, jfif, tif, tiff, heic, and svg.

For example:

uim.supportedImageExtensions=gif,png,bmp,dib,jpg,jpeg,jpe,jfif,tif,tiff,heic,svg 

uim.telephonenumber.validation.leadingzeros.included

This property controls validation settings for creating telephone numbers with leading zeros.

Setting the property to false (the default setting) means that leading zeroes are stripped before checking for duplicate numbers. Setting the property to true allows leading zeroes. For example:

uim.telephonenumber.validation.leadingzeros.included=false

uim.telephonenumber.search.invGroup.enable

This property determines whether inventory groups are included in telephone number search results. The default value is true. For example:

uim.telephonenumber.search.invGroup.enable=true

uim.ui.equipment.search.level

This property filters equipment results based on the child hierarchy level. You can set this value to any desired equipment hierarchy level. For example:

uim.ui.equipment.search.level=2

uim.ui.hierarchyTrailColor

uim.ui.hierarchyTrailStyle

uim.ui.hierarchyInterconnectionColor

uim.ui.hierarchyInterconnectionStyle

uim.ui.hierarchyConnectivityExpandedColor

uim.ui.hierarchyPipeExpandedColor

uim.ui.hierarchyConnectivityExpandedStyle

uim.ui.hierarchyPipeExpandedStyle

uim.ui.hierarchyGapColor

uim.ui.hierarchyGapStyle

These properties assigns the style and color parameters that can be customized. The available values for style are solid, dot, dash, and dashDot. For color, you can choose any color in the CSS format. For example:

uim.ui.hierarchyTrailColor=Blue
uim.ui.hierarchyTrailStyle=Solid
uim.ui.hierarchyInterconnectionColor=Blue
uim.ui.hierarchyInterconnectionStyle=Solid
uim.ui.hierarchyConnectivityExpandedColor=Green
uim.ui.hierarchyPipeExpandedColor=Green
uim.ui.hierarchyConnectivityExpandedStyle=solid
uim.ui.hierarchyPipeExpandedStyle=solid
uim.ui.hierarchyGapColor=Red
uim.ui.hierarchyGapStyle=dash

uim.ui.propertyLocation.displayInfo

This property displays the Property Name as DisplayInfo instead of the default display information.

The default value is false. For example:

uim.ui.propertyLocation.displayInfo=false

uim.ui.propertyLocation.renderCity

This property is defined to not render the City field in the Property Location pages.

The default value is true. For example:

uim.ui.propertyLocation.renderCity=true

To disable the field, set the value to false.

uim.ui.propertyLocation.renderState

This property is defined to not render the State field in the Property Location pages.

The default value is true. For example:

uim.ui.propertyLocation.renderState=true

To disable the field, set the value to false.

uim.ui.propertyLocation.renderCountry

This property is defined to not render the Country field in the Property Location pages.

The default value is true. For example:

uim.ui.propertyLocation.renderCountry=true

To disable the field, set the value to false.

uim.default.autosuggest.rowlimit

uim.default.autosuggest.disable

These properties control the behavior of auto-suggest in UIM. You can disable auto-suggest and set a limit for the number of rows it displays. For example:

uim.default.autosuggest.rowlimit=20
uim.default.autosuggest.disable=false

uim.networkentitycode.maxlength

uim.networklocation.code.minlength

uim.networklocation.code.maxlength

uim.networkentitylocation.code.delimiter.enabled

uim.propertylocation.name.maxlength

uim.propertylocation.name.delimiter

poms.cache.coordination.enabled

The following properties are used for setting Property Location settings:

uim.networkentitycode.maxlength=10
uim.propertylocation.name.maxlength=255
uim.networklocation.code.minlength=3
uim.networklocation.code.maxlength=20
uim.networkentitylocation.code.delimiter.enabled=true
uim.propertylocation.name.delimiter=
poms.cache.coordination.enabled=false

uim.ws.search.query.range

This property sets the default maximum number of entities returned for the findEntity web service operation. This maximum can also be specified for a specific entity.

The default value is 1000, if this property isn't specified, and the minimum value is 10. For example:

uim.ws.search.query.range=100

uim.ws.entityName.search.query.range

This property sets the default maximum number of records returned for the findEntity web service operation for a specific entity. This maximum can also be specified for all entities.

The default value is 1000 and the minimum value is 10. For example:

uim.ws.telephonenumber.search.query.range=100

groom.items.per.transaction

This property defines the number of riders having COMPLETED pipe configuration versions that are to be processed per transaction.

The default value is 5. For example:

groom.items.per.transaction=5

system.exception.writableStackTrace

This property is used to reduce CPU usage. For example:

system.exception.writableStackTrace=false

ws.includeEntityFromAssignment

This property determines whether to include the entity in web service requests from an assignment or reference.

The default value is false.

ws.includeEntityFromAssignment=false

workflow.defaultUserSpecification.<user1>

This property sets the default Engineering Work Order page. There can be multiple users and every user can optionally set their own default value from the Multiple Workflow template, in the properties file. For example:

workflow.defaultUserSpecification.<user1> = <defaultWorkflowTemplateName>
workflow.defaultUserSpecification.<user2> = <defaultWorkflowTemplateName>

uim.monitoring.prometheus.enabled

This property is used to enable or disable the UIM Prometheus metrics. The default value is false.

To enable UIM Prometheus metrics, set this property to true.

Any change to this property requires a restart of the managed server or an update of the application.

uim.monitoring.prometheus.jvm.enabled

This property is used to enable or disable the JVM metrics. The default value is false.

To enable JVM metrics, set this property to true.

Any change to this property requires a restart of the managed server or an update of the application.

uim.monitoring.prometheus.sfws.enabled

This property is used to enable or disable the Service Fulfillment Web Service (SFWS) metrics. The default value is false.

To enable sfws metrics, set the value to false.

Any change to this property affects run-time and does not require a restart or application update.

uim.monitoring.prometheus.service.enabled

This property is used to enable or disable service metrics. The default value is false.

To enable service metrics, set the value to false.

Any change to this property affects run-time and does not require a restart or application update.

uim.ui.search.SearchINOperatorEnable

This property is used to enable IN Operator for the String type text fields in EntitySearch screens. The default value is false. To enable, set the value to true.

For example:
uim.ui.search.SearchINOperatorEnable=false

Note: If you enable this property, you may experience performance issues.

uim.ui.search.SearchTextMaxlen

When you set the uim.ui.search.SearchINOperatorEnable value to true, use this property to set Maximum Text Field length in the UI search screens. The default value is 100 characters length. For example:

uim.ui.search.SearchTextMaxlen=100

uim.ui.showDeletedEnabled

This property enables or disables the values of Deleted Entities in Search Results. The default value is false. To enable, set the value to true. Enabling this property displays the details of pipes or connectivities that are Disconnected or Deleted under the business interaction context.

For example:
uim.ui.showDeletedEnabled=false

uim.ui.showDeletedEnabledEntitiesList

When uim.showDeletedEnabled is set to true, this property specifies comma separated list of entities that have the values of Deleted Entities enabled in Search Results.

For example:
uim.ui.showDeletedEnabledEntitiesList.1=Pipe,Connectivity

uim.mpcTimeStampenabled

This property specifies whether the MPC feature is enabled on the same day. The default value is false and therefore MPC on the same day is disabled by default.

To enable this, set the value to true.

For example:
uim.mpcTimeStampenabled=false

uim.LGCLDeletePerfEnabled

This property enables the HighPerforming API while deleting a logical device that has a large number of device interfaces. This API works only in the live business interaction context. The default value is false.

To enable this, set the value to true.

For example:
uim.LGCLDeletePerfEnabled = false

uim.ui.charDefaultValue

This property sets a default value for the String datatype characteristics that are created under the service configuration items.

For example:
uim.ui.charDefaultValue = <value>

uim.topology.equipment.enabled

This property enables or disables the display of equipments when you perform a property location search on the Topology page.

For example:
uim.topology.equipment.enabled = true

uim.ui.mapViewEnabled

This property enables map view for UTIA microservice enabled environment. The default value is false.

To enable this, set the value to true.

For example:
uim.ui.mapViewEnabled = false

microServiceEnabled

microServiceUrl

microServiceDateFormat

The microServiceEnabled property enables the UTIA microservice. The default value is true

For example:
microServiceEnabled=true
microServiceDateFormat=yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
microServiceUrl=http://<hostIP>:<port>/<topology-project>/<topology-instance>/topology/v2/

After you enable the microservice using microServiceEnabled, you must set the URL, date format, and login credentials to use the microservice.

bootstrap.server.url

This property sets a list of host/port pairs to use for establishing the initial connection to the Kafka cluster.

kafka.acks.config

This property sets the number of acknowledgments that source requires the leader to have received before considering a request complete.

If this property is set to 0 then the source will not wait for any acknowledgements from the server. The record will be immediately added to the buffer and considered as sent.

If this property is set to all then the target will wait for the total set of in-sync replicas to acknowledge the record. The record will be immediately added to the buffer and considered as sent.

For example:

kafka.acks.config=0

kafka.retries.config

Setting a value greater than zero causes the client to resend any record whose send fails with a potentially transient error.

kafka.batch.size.config

This parameter helps performance on both the client and the server and controls the default batch size in bytes. No attempt will be made to batch records larger than this size.

Note: A batch size of 0 will disable batching entirely.

transaction.timeout.ms

The maximum amount of time in ms that the transaction coordinator will wait for a transaction status update from the source before proactively cancelling an ongoing transaction.

This property is commented out by default. To customize, uncomment it.

Note: If this value is larger than the transaction.max.timeout.ms value, the request will fail with InvalidTxnTimeoutException error.

kafka.producer.transaction.bi.hashing

If this parameter is set to true, all the messages will use the same key and reach the same partition and therefore these messages will be processed in serial order.

This property is commented out by default. To customize, uncomment it.

For example:
kafka.producer.transaction.bi.hashing=true

kafka.producer.source.system.id

This property is commented out by default. To customize, uncomment it.

kafka.client.id.config

An ID string to pass to the server while making requests. The purpose of this is to be able to track the source of requests along with IP or port by allowing a logical application name to be included in server-side request logging.

kafka.client.isOAuth

This property enables OAuth. Set this property to true to enable OAuth.

For example:
kafka.client.isOAuth=true

kafka.client.oauth.token.endpoint.uri

This property sets the OAuth endpoint URI.

For example:

kafka.client.oauth.token.endpoint.uri=https://<OAM-HOST>:<OAM-Port>/oauth2/rest/token

kafka.client.oauth.client.id

This property sets the OAuth client ID.

For example:

kafka.client.oauth.client.id=topologyClient

kafka.client.oauth.client.secret

This property sets the OAuth client user ID.

For example:

kafka.client.oauth.client.secret=<client user ID>

kafka.client.isTLs

This property must be initialized when Kafka is SSL enabled. Set this property to true if Kafka is SSL enabled.

For example:

kafka.client.isTLs=true

kafka.client.truststore.location

When a secured communication is enabled on Messaging Bus service, user needs to generate and pass truststore from the service to UIM.

This property sets the path to truststore location.

kafka.client.truststore.password

This property sets the password while generating truststore.

kafka.client.truststore.type

This property sets the type of the truststore to jks or p12.

kafka.client.oauth.client.secret.isEncrypted

kafka.client.truststore.password.isEncrypted

These properties enable the decryption of secret or truststore password.

By default these properties are set to false, which means the secret or password is not encrypted.

If the secret or password is encrypted, set this value to true so that the values will be decrypted.

kafka.client.oauth.client.secret.isEncrypted=false

topology.ui.host

topology.ui.port

topology.ui.path

These properties define the host, port, and path for the UTIA microservice UI.

uim.rest.filter.CORSAllowedOrigin

CORS support for TMF web services. This property represents the client address which is added to the response header attribute Access-Control-Allow-Origin.

For example:

uim.rest.filter.CORSAllowedOrigin = http://<host IP>:<Port>

microservice.pathAnalysis.allAlgorithm.maxHops

This property sets the value for maximum hops considered in path analysis when the algorithm All is selected.

For example:

microservice.pathAnalysis.allAlgorithm.maxHops=10

microService.pathAnalysis.maxPathsForTopKAlgorithm

This property sets the value for maximum number of paths considered when Top K Shortest or Top K Cheapest algorithm is selected.

For example:

microService.pathAnalysis.maxPathsForTopKAlgorithm=5

uim.connectivity.virtualConnectivity.signalAddress.startWithone

This property modifies the virtual connectivity signal address j value which is set as 0 by default. To modify it, uncomment the property and set the value to 1.

For example:

uim.connectivity.virtualConnectivity.signalAddress.startWithone=1

uim.ui.networkPlanAndBuild.canvas.enabled

This property enables and disables the Network Visualization page view in the Visualization tab under Network Summary in UIM. The default value is true. To disable, set the value to false. Disabling this property brings back the Network Topological page view.

For example:

uim.ui.networkPlanAndBuild.canvas.enabled=true

uim.ui.disableBIContext

This property allows switching between Business Interaction and current contexts. The default value of this property is false. To enable it, set the value to true. Enabling this property will allow switching between business interaction and current context unless you manually switch to business interaction context.

For example:

uim.ui.disableBIContext=false

uim.ui.confirmSearchWarning

This property allows the system to display a warning when you are searching for an entity without mentioning any specification value. By default, the value is set to false, which means the warning will not be displayed. To enable it, set the value to true.

For example:

uim.ui.confirmSearchWarning=false

uim.ui.pipeEnablement.alwaysGap

This property automatically resolves connectivity gap and create trail-bound cross-connect/trail-bound jumper in certain situations. By default the value is set to false, which means that connectivity gap is resolved. To disable it, set the value to true. Disabling this property always creates a connectivity gap in pipe enablement.

For example:

uim.ui.pipeEnablement.alwaysGap=false
uim.ui.showConnectivityInFlowIdentifierSearchResult

This property toggles the appearance of the three columns in Flow Identifier search result page: Connectivity Identifier, Network Element Z and Network Element A associated to the Flow Identifier. By default the value is set to true. To not display the connectivity details, you can disable the property by setting the value to false.

For example:

uim.ui.showConnectivityInFlowIdentifierSearchResult=true
npd.ui.path=/apps/unified-topology-ui/vp/landingpagewithaskoracle

This property defines the path of Network Canvas in Topology UI Microservice.

uim.ui.searchResults.exportType

This property sets export Type of ADF export in Search Results pages and other pages in UIM UI. The possible values for this property are hssfExcel and excelHTML. By default, the property is set to excelHTML which provides HTML tabular data in an xls file, while hssfExcel provides out xls files that are readable through Apache POI, MS Excel, etc.

For example:

 uim.ui.searchResults.exportType=excelHTML
uim.mpcTimeStampFormat

This property allows you to choose a time gap as once in an hour (HH), once in a minute (HH:mm), or once in a second (HH:mm:ss) for every new pending service configuration created in the same day. The valid values are HH, HH:mm, or HH:mm:ss. By default, the value is set to HH:mm:ss.

For example:
uim.mpcTimeStampFormat=HH:mm:ss

Controlling System Timer Events

You use the timers.properties file to control system timer events.

Each timer can be defined by five properties:

  • firstTime: The first time to call the listener. If it is specified as relative time (without ":"), such as 600 (in seconds), then the listener is called 10 minutes after the system is started. If it is specified as absolute time, such as 12:00:00(noon), or 23:00:00(11PM), then the listener is called at the specified time after the system is started.

    If it is specified as "onTheHour", then the listener is processed on the next hour (for example 08:00:00) after the system is started (for example 07:28:34).

    The default is 60 seconds in relative time.

  • period: After the listener is called the first time, the number of seconds between repeating expiration intervals. The listener is called when the timer expires.

    The default is 600 seconds.

  • fixedRate: This is not used.

  • listener: The listener's class name. The listener's timerExpired (Timer timer) method is processed when the timer expired.

    There is no default. This property must be specified.

  • cluster: The flag indicates whether this timer is cluster aware. If it is set to true, then there is only one instance of this timer running in the cluster. If it is set to false, then each server has this timer instance running locally. The default value is true.

    You normally use the default value for all timers except clusterTimeMonitor, which should be run individually on every server in a cluster.

The properties for the timers.properties file are:

Table 5-13 Properties in the timers.properties file

Property Description

cleanReservation

This property controls the timer for cleaning up expired reservations. There should be only one instance of this timer in the cluster. For example:

timer.cleanReservation.firstTime=600
timer.cleanReservation.period=600
timer.cleanReservation.listener=oracle.communications.inventory.api.consumer.impl.ReservationManagerImpl

clusterTimerMonitor

This property controls the timer that monitors whether the current server that manages the cluster-aware timers is still alive.

This timer should be running on every server in the cluster. For example:

timer.clusterTimerMonitor.firstTime=10
timer.clusterTimerMonitor.period=10
timer.clusterTimerMonitor.listener=oracle.communications.inventory.api.framework.timer.TimerController
timer.clusterTimerMonitor.cluster=false

customTimer

This property controls a timer for custom extensions. There should be only one instance of this timer in the cluster. For example:

timer.customTimer.firstTime=300
timer.customTimer.period=600
timer.customTimer.listener=oracle.communications.inventory.api.common.TimeoutEventListener

ipAddressAging

This property controls a timer for recalling disconnected IP resources. For example:

timer.ipAddressAging.firstTime=600
timer.ipAddressAging.period=600
timer.ipAddressAging.listener=oracle.communications.inventory.api.ip.IPResourceTimerListener

outageAging

This property controls a timer that reloads the Outage tables automatically. These timer values are commented by default. And therefore, you can uncomment and set the corresponding values to reload the Outage tables automatically. For example:

timer.outageAging.firstTime=0
timer.outageAging.period=0
timer.outageAging.listener=oracle

Note: You can manually reload the Outage reports using the Reload Outage Tables option from the UIM application.

rowLockExpiration

This controls the timer for cleaning up expired entity row locks. For example:

timer.rowLockExpiration.firstTime=120
timer.rowLockExpiration.period=600
timer.rowLockExpiration.listener=oracle.communications.inventory.api.common.impl.RowLockExpiryTimerListener

telephoneNumberAging

This property controls a timer for recalling disconnected telephone numbers. For example:

timer.telephoneNumberAging.firstTime=600
timer.telephoneNumberAging.period=600
timer.telephoneNumberAging.listener=oracle.communications.inventory.api.number.TelephoneNumberHelper

For more information on telephone number aging and telephone number life cycles, see UIM Concepts.

Controlling Ported-In Telephone Number Consumption

You use the telephoneNumberBulk.properties file to control the consumption of the ported-in telephone numbers.

Table 5-14 lists and describes the properties in the telephoneNumberBulk.properties file.

Table 5-14 Properties in the telephoneNumberBulk.properties file

Property Description

tn.import.fileUploadWhiteListMimeTypes

This property validates the MIME type of the spreadsheet file that you are uploading.

For example:

tn.import.fileUploadWhiteListMimeTypes=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

tn.import.portin.reason

This property specifies the reason for porting in the telephone numbers.

For example:

tn.import.portin.reason=Reservation for portin number

tn.import.portin.reservationType

This property specifies the duration of the validity for ported-in telephone number.

For example:

tn.import.portin.reservationType=SHORTTERM

tn.import.portin.reservedFor

This property specifies the person who is making the reservation for the ported-in telephone number.

For example:

tn.import.portin.reservedFor=portedIn user

tn.import.portin.reservedForType

This property specifies the type of entity or process for which the ported-in telephone number reservation is made.

For example:

tn.import.portin.reservedForType=CUSTOMER

tn.import.portin.quarantinePeriod

Ported-in telephone numbers are subject to a quarantine period (in days). After the telephone numbers are ported in, the telephone numbers are reserved and quarantined, which means that those ported-in telephone numbers cannot be assigned to a service until the quarantine period is completed.

This property controls the quarantine period for ported-in telephone numbers.

For example:

tn.import.portin.quarantinePeriod=10

tn.import.portin.serviceConifgItemNameForTN

This property specifies the name of the service configuration item configured for the telephone number entity.

For example:

tn.import.portin.serviceConifgItemNameForTN=TelephoneNumber

Controlling Topology

You use the topologyProcess.properties file to control how topology is managed in UIM.

Table 5-15 lists and describes the properties in the file.

Table 5-15 Properties in the topologyProcess.properties file

Property Description

disableTopology

This property turns topology refresh On or Off.

The default value is true. For example:

disableTopology=true

processSynchronous

This property refreshes the topology immediately after the UIM transaction is complete. For synchronous updates, the value is true and for asynchronously updates the value isfalse. See "Configuring Asynchronous Topology Updates" for more information.

The default value is false. For example:

processSynchronous=false

WORK_MANAGER_CLASS

WORK_MANAGER_NAME

WORK_MANAGER_THREADS

These properties are no longer used.

WORK_MANAGER_JNDI

This property is no longer used.

defaultBaseMap

defaultApplicationDatasource

defaultMapTileServerUrl

defaultMapCopyright

These properties define set map profile settings. These are the default settings:

defaultBaseMap=ELOCATION_MAP
defaultApplicationDatasource=UIMDATA
defaultMapTileServerUrl=http://elocation.oracle.com/mapviewer/mcserver
defaultMapCopyright=Copyright \u00a9 2007, 2020 Oracle Corp

If you use a third-party geocoding service, change these values. See "Configuring a Geocode Service" for more information.

MapViewerUrl

This property specifies the map viewer URL if it is running in a separate domain. To specify the URL, enter the URL in the following format:

mapviewerUrl=http://hostname:port/mapviewer

simpleLinearMode

simpleLinearModeMaxCycles

continueProcessingIndicator

These properties are no longer used.

Monitoring Outage Impacts

You use outageReport.properties file to control the outage reports. Outage report provides the list of outages happened.

Note:

If you set any property value as False, the report does not include the corresponding information.

Table 5-16 lists and describes the properties in the file.

Table 5-16 Properties in the outageReport.properties File

Property Description

outagereport.display.pipe_entity_id

outagereport.display.pipe_id

outagereport.display.pipe_name

These properties set the Pipe information in the outage report. For example:

outagereport.display.pipe_entity_id=true
outagereport.display.pipe_id=true
outagereport.display.pipe_name=true

outagereport.display.a.place

outagereport.display.a.coordinates

outagereport.display.a.device

outagereport.display.a.parentdevice

These properties set the A side information of the pipe or connectivity in the outage report. For example:

outagereport.display.a.place=true
outagereport.display.a.coordinates=true
outagereport.display.a.device=true
outagereport.display.a.parentdevice=true

outagereport.display.z.place

outagereport.display.z.coordinates

outagereport.display.z.device

outagereport.display.z.parentdevice

These properties set the Z side information of the pipe or connectivity in the outage report. For example:

outagereport.display.z.place=true
outagereport.display.z.coordinates=true
outagereport.display.z.device=true
outagereport.display.z.parentdevice=true

outagereport.display.capacity

These properties set the Capacity information in the outage report. For example:

outagereport.display.capacity=true

outagereport.display.service_entity_id

outagereport.display.service_id

outagereport.display.service_name

These properties set the Service information in the outage report. For example:

outagereport.display.service_entity_id=true
outagereport.display.service_id=true
outagereport.display.service_name=true

outagereport.display.lda_entity_id

outagereport.display.lda_id

outagereport.display.lda_name

These properties set the Logical Device information in the outage report. For example:

outagereport.display.lda_entity_id=true
outagereport.display.lda_id=true
outagereport.display.lda_name=true

outagereport.display.customer

These properties set the customer information in the outage report. For example:

outagereport.display.customer=true

outagereport.display.email

These properties set the Email information in the outage report. For example:

outagereport.display.email=true

outagereport.display.contact

These properties set the contact information in the outage report. For example:

outagereport.display.contact=true

Customizing UTIA Service Topology Configurations from UIM

From UIM, you can customize the UTIA service topology configurations. You update the required properties from a JSON file, ServiceTopologyConfiguration_<serviceSpecName>.json, that customize the service topology configurations in UTIA.

This service topology configuration JSON file is located in UIM_Home/config/topologyMappings.

The table lists the service topology configuration properties.

Table 5-17 Properties in the ServiceTopologyConfiguration_<serviceSpecName>.json File

Property Description

configurationItemLabel

This property sets the service item name for which a resource is assigned or referenced. Setting this property creates a node or edge for the resource.

For any service item, this property is mandatory.

For a TopologyOnly node, the item lable is TopologyOnly + <uniqueId>

configurationItemParent

This property sets the child service item. If the service item is not under a child service, you do not set this property.

customLabelClass

This property sets the custom class. Using this, you can customize the label of a node or an edge. This custom class overrides the values set by getNodeLabel and getEdgeLabel methods.

exclude

By default, all the service nodes and edges are added to the topology in UTIA.

To exclude any of these nodes and edges from being displayed, set this property to true.

icon

This property enables you to customize an icon.

customType

This property sets the custom type for a node.

For TopologyOnly nodes, set the customType value as CustomDeviceDAO/CustomNetworkDAO/CustomLocationDAO/CustomNECDAO.

sourceNode

This property sets the source node for a TopologyOnly edge.

The value for this property can be the name or label of the node.

targetNode

This property sets the target node for a TopologyOnly edge.

The value for this property can be the name or label of the node.

lineStyle

This property sets the line style.

The available values are: solid, dot, and dash.

lineColor

This property sets the line color.

Setting Timeout Values for UIM

The WebLogic server supports distributed transactions, which are transactions that update multiple resource managers, such as an application server and a database, in a single transaction. This guarantees data integrity by ensuring that transactional updates are either committed or rolled back in all of the participating databases.

This section explains how to set transaction timeouts for the Oracle database and JTA. In general, the JTA timeout should be less than or equal to the Oracle database timeout:

JTA timeout <= database timeout

Oracle recommends setting the transaction timeouts to 1800 seconds.

Setting the Oracle Database Timeout

The DISTRIBUTED_LOCK_TIMEOUT is a parameter of the database. There are two ways to change this parameter. You can use Oracle Enterprise Manager or use sql.

To change the DISTRIBUTED_LOCK_TIMEOUT parameter using sql:

  1. Open SQL Plus.

  2. Connect to the database.

  3. Enter:

    'alter system set distributed_lock_timeout=1800 scope=spfile'
    

    The default value for this parameter is 60 seconds, but Oracle recommends setting this parameter to 1800 seconds.

    Note:

    Oracle recommends setting the database timeout value higher than the XA transaction timeout value. Otherwise, in-doubt table locks can occur on the database side before the WebLogic server JTA or JDBC XA can close the transaction.

  4. Exit SQL Plus.

Setting the JTA Timeout

You specify how long a transaction can remain in the Active state until the transaction is rolled back by using the WebLogic server administration console.

To set the JTA timeout value:

  1. Log in to the WebLogic server administration console at:

    http://ServerName:PortNumber/console

  2. Click Lock & Edit.

  3. In the Domain Structure tree, expand Services, and then click JTA.

    The Settings for Domain_Name pane appears.

  4. Update the value in the Timeout Seconds field and then click Save.

  5. Click Activate Changes.

Changing the Query Behavior and Row Limit Parameters

The query behavior and row limit parameters are defined in the system-config.properties file.

The file is located in the UIM_Home/config/system-config.properties.

This example shows the default options:

ui.search.queryLimit=10000
ui.search.queryBehavior=6
ui.search.pageSize=200

The queryLimit parameter adds the rownum clause to the search query unless it is a -1 value, which indicates that no limit is applied. The pageSize parameter is for pagination on the search results page in the UI.

Table 5-18 describes the options available for the Query Behavior and Row Limit parameters.

Table 5-18 Query Behavior and Row Limit Parameters

Behavior (option #) Row Limit Count Scrolling

FULL_COUNT_FULL_QUERY (1)

N/A

The exact count is displayed.

User can scroll through the entire result set.

NO_COUNT_FULL_QUERY (2)

N/A

Not displayed.

User can scroll through the entire result set.

LIMIT_COUNT_FULL_QUERY (3)

Used for count only

If total count < row limit, then total count is displayed, else the following is displayed:

Total count: row limit (Limit Reached)

User can scroll the results up to the row limit.

LIMIT_COUNT_LIMIT_QUERY (4)

Used for count and query

If total count < row limit, then total count is displayed, else the following is displayed:

Total count: row limit (Limit Reached)

User can scroll the results up to the row limit.

NO_COUNT_LIMIT_QUERY (5)

Used for query only

Not displayed.

User can scroll the results up to the row limit.

FULL_COUNT_LIMIT_QUERY (6)

Used for query only

The exact count is displayed.

User can scroll the results up to the row limit.

To change the Query Behavior and Row Limit parameters, perform the following:

  1. Open a command window.

  2. Navigate to the UIM_Home/config/system-config.properties file.

  3. Open the system-config.properties file and scroll down to the ui.search.queryLimit, ui.search.queryBehavior and ui.search.pageSize entries.

  4. Change the parameters as required, to meet the specific needs of your deployment.

    Refer to Table 5-19 for a description of the pros and cons of the parameter options.

  5. Save and close the system-config.properties file.

Table 5-19 Parameter Options Pros and Cons

Behavior Advantages Disadvantages

FULL_COUNT_FULL_QUERY(1)

You know the exact count of rows satisfying the criteria.

You can scroll through the entire result set.

If the user does not give meaningful criteria, and the number of rows matching the criteria is large, it may take a while to calculate the count.

If the database is not tuned correctly, sorting the entire data set may take a while.

NO_COUNT_FULL_QUERY(2)

The query for finding the total count is not performed. So it helps the performance of the pages.

Usability of the page is not as good. The scrollbar in the page is not representative of the number of rows satisfying the data and so user never knows how much he needs to scroll.

If the database is not tuned correctly, sorting the entire data set may take a while.

LIMIT_COUNT_FULL_QUERY(3)

If the criteria is meaningful, and the number of rows satisfying the criteria is less than the row limit, there is no difference in the results brought back and usability of the pages compared to Behavior (1) or Behavior (4).

Better performance compared to Behavior (1), as the count query is limited.

Results are more accurate compared to Behavior (4).

User cannot scroll to the rows past the row limit.

LIMIT_COUNT_LIMIT_QUERY(4)

If the criteria is meaningful, and the number of rows satisfying the criteria is less than the row limit, there is no difference in the results brought back and usability of the pages compared to Behavior (1) or Behavior (3).

Better performance compared to Behavior (1), as the count query is limited.

Better performance compared to Behavior (3), as the query is limited.

User cannot scroll to the rows past the row limit.

If the number of rows matching the criteria is more than the row limit, the row limit is applied before the ordering, so the first rows displayed may not be the first in the sort order of the entire dataset.

NO_COUNT_LIMIT_QUERY (5)

The query for finding the total count is not performed. This helps the performance of the pages. And the number of rows queried is limited.

Better performance compared to Behavior (2), as the query is limited.

User cannot scroll to the rows past the row limit.

If the number of rows matching the criteria is more than the row limit, the row limit is applied before the ordering, so the first rows displayed may not be the first in the sort order of the entire dataset.

FULL_COUNT_LIMIT_QUERY(6)

You know the exact count of rows satisfying the criteria.

Better performance compared to Behavior (1), as the query is limited.

If the user does not give meaningful criteria, and the number of rows matching the criteria is large, it may take a while to calculate the count.

User cannot scroll to the rows past the row limit.

If the number of rows matching the criteria is more than the row limit, the row limit is applied before the ordering, so the first rows displayed may not be the first in the sort order of the entire dataset.

Disabling Sorting for Selected Entities

By default sorting entities in UIM is enabled and entities are ordered by their identifier or ID. In calling APIs, you can set a value in the InventorySearchCriteria interface to disable sorting for selected entities. The method to disable sorting is setDisableOrdering() and you set the value to true. The default value is set to false. You can disable ordering on the following selected entities:

  • Logical Devices

  • Physical Devices

  • Services

By disabling the sorting, you can improve the performance of the entity retrievals. See the UIM Javadoc for more detailed information on the InventorySearchCriteria interface.

Using Hints for Improving Performance in Querying

By default including conditions and reservation are included in an entity query. In calling APIs, you can set query hints in the InventorySearchCriteria interface to disable these being included which can improve performance. The method to add hints on the search criteria is the addHint() method and you set the hint type and the value to true. You can add hints for the following:

  • EXCLUDE_CONDITIONS_IN_UNASSIGNED_QUERY

  • EXCLUDE_RESERVATIONS_IN_UNASSIGNED_QUERY

Example 5-5 shows sample code using the addHint() method on the LogicalDeviceSearchCriteria class. The LogicalDeviceSearchCriteria class extends InventorySearchCriteria interface.

Example 5-5 Sample Code Using the addHint Method on InventorySearchCriteria

		LogicalDevice ld = null;		
		
		Collection<CriteriaItem> criteriaItems = new ArrayList<CriteriaItem>();
		LogicalDeviceManager ldManager = PersistenceHelper.makeLogicalDeviceManager();
		LogicalDeviceSearchCriteria ldCriteria =
   ldManager.makeLogicalDeviceSearchCriteria();
		LogicalDeviceSpecification ldSpec =
   	(LogicalDeviceSpecification) findAndValidateSpecification(specName); 
 
		if (ldSpec != null)
			   ldCriteria.setLogicalDeviceSpecification(ldSpec);
		ldCriteria.setAssignmentState(AssignmentState.UNASSIGNED);		
		ldCriteria.setDistinct(true);
		ldCriteria.setDisableOrdering(true);
		ldCriteria.addHint(
   InventorySearchCriteriaHints.EXCLUDE_CONDITIONS_IN_UNASSIGNED_QUERY, "true");
		ldCriteria.addHint(
   InventorySearchCriteriaHints.EXCLUDE_RESERVATIONS_IN_UNASSIGNED_QUERY, "true");
		
		List<LogicalDevice> ldList = 
					ldManager.findLogicalDevice(ldCriteria);

By adding these hints to the query criteria, any existing conditions or reservations are excluded from the query. Using these hints you can improve the performance of the retrievals. See the UIM Javadoc for more detailed information on the InventorySearchCriteria interface and the LogicalDeviceSearchCriteria class.