Oracle Real-Time Decisions

Release 3.0.0.1 Patch Set Update (PSU): 3.0.0.1.12PSE15
(June 10 2013)

Readme

[Skip Navigation Links]

About This Patch Set Update (PSU). 2

Patch Type. 2

Supported Paths to This Patch. 2

Patch Conflicts. 2

Supported Platforms. 2

Supported Languages. 3

Defects Fixed in This Patch. 3

Additional defects details. 5

Learning Server Architectural Changes Introduced in 3.0.0.1.11 PSU. 6

Known Issues in This Patch. 9

Applying This Patch. 11

Rolling Back This Patch. 17 


 

About This Patch Set Update (PSU)

This Readme file describes the defects fixed in this patch and the requirements and instructions for applying this patch.

For the latest information regarding this patch set update, including newer revisions of this document, see:

http://www.oracle.com/technetwork/middleware/real-time-decisions/rtdplatform3001patches-1607555.html.

Caution: You are urged to carefully read and understand the following requirements. Failure to comply may result in applying a patch that can cause your application to malfunction, including interruption of service and/or loss of data. Before installing or applying this patch:

§  Verify that your system configuration (product version, patch level, and platform) exactly matches what is specified in the Readme.

Patch Type

This patch is a patch set update and requires a full installation.  This is a cumulative patch and replaces release 3.0.0.1 and the following service fixes:

9538133 (3.0.0.1.02 PSE), 10022219 (3.0.0.1.03 PSE Rev1), 11744183 (3.0.0.1.03 PSE Rev2), 11668693 (3.0.0.1.06 PSE), 11935930 (3.0.0.1.10 PSU), 1532856 (3.0.0.1.11 PSU), 1607555 (3.0.0.1.12 PSU).

Note: PSE = patch set exception. These are typically one-off patches that include only a small number of files.

Supported Paths to This Patch

You can apply this patch to the following releases:

Oracle Real-Time Decisions 3.0.0.1, 3.0.0.1.10 PSU, 3.0.0.1.11 PSU, 3.0.0.1.12 PSU.

Patch Conflicts

This is a cumulative patch set, and as such, the aforementioned patch set exceptions must not be applied after applying 3.0.0.1.12PSE15.

Supported Platforms

This patch supports all platforms as stated in the RTD 3.0.0.1 SRSP (System Requirements and Supported Platforms), see http://download.oracle.com/docs/cd/E13853_01/index.htm, with the following exceptions:

§  Operating systems:

o    Windows 2008, Windows 7 are supported.

o    OEL 6u3 is supported for Weblogic application server.

§  Application Server:

o    Websphere 7.0.0 with FP21+ is supported.

o    Weblogic 10.3.5 and 10.3.6 are supported.

o    Oracle Application Server (OAS/OC4J) is not supported.

o    JBoss EAP 4.3, CP09 with JDK6 is supported.

 § Oracle JDBC driver 11.2.0.3 is supported on WebLogic and JBoss.

§  Database (for RTD schema SDDS): SQLServer and DB2 are not supported.

§  Browser (Decision Center): IE6 support dropped. IE8 and IE9 support added.

Supported Languages

English only.

 

Top of Document

Defects Fixed in This Patch

New fixed in 3.0.0.1.12PSE15:

1.   16576188 - backport 13957720 to 3.0.0.1.12 - snapshot takes long time.


Previously fixes in 3.0.0.1.12:

1.    16046477 – New Inline Service CrossSellR, sample integration with ORE

2.    14694502 – Performance improvements in the scoring code for date attributes

3.    14461859 – XML Response from advisor invalid with special characters

4.    14059181 – Decision Center internal server error seen for application > Definition > Overview report

5.    14300740 – New API to remove external rules from the server cache

6.    14283538 – Performance improvements in the external rules evaluation code

7.    14169133 - Performance improvements in the external rules compilation code with the addition of a new batch compilation API

8.  14020465 - Update weblogic-application.xml for commons logging issue

9.    13709480 - Learning Service – performance degradation may occur as result of automatic database server tuning processes

Previously fixed in 3.0.0.1.11:

1.    Learning Server performance improvements – see section “Learning Server Architectural Changes Introduced in This Patch” below.

2.    13610972 - Data Source not found error in certain race conditions

3.    13080205 - Inline Service Application parameters not visible in Decision Center

4.    12985556 - RTD need to recover gracefully from data source interruption

5.    12962684 - Batch jobs should be forwarded to least-loaded batch agent in cluster

6.    12831443 - Unable to load model due to counter reaching int limit (2^31)

7.    12798391 - Unable to deploy Inline Service using command line deploy too if inline service uses "Days Since Last Event" function

Previously fixed in 3.0.0.1.10:

1.    12353084  Model snapshot data (correlation, predictiveness) for completed time windows is offset by one period.

2.    11837000  <session-timeout> parameter removed from UI.war’s web.xml.  [For Decision Manager].

3.    11832629  Batchagent fails to register with batchmanager in cluster due to race condition.  Retry (3 attempts) code implemented.

4.    11804529  External rule editor - double quotes (") entered for the parameter TitleMessage leads rendering error.

5.    11742973  Decision center – “Internal server error” seen for choicegroup-level Analysis > Trends reports where children choices are a mix of static and dynamic choices.

6.    11739285  Decision center – “Internal server error” seen for choicegroup-level Analysis > Drivers report due to jsp page exceeding size limitation.

7.    11668572  JBoss – Request forwarding channel reset error fix using Jgroups 2.8.

8.    10411524  RTD decision service java client to support JUL logging, automatically generate session key in header, support user-defined header.

9.    10390665  Add system property to bypass ILS test loading during ILS deployment

10. 10387803  Decision Service performance log (ds_perf.csv) - additional request forwarding metrics

11. 10383794  Decision Center - increased precision shown in report data.

12. 10323594  Temporary data storage (TDS) – Add session key name to TDS key value.

13. 10279493  Upgrade RTD-bundled Oracle JDBC driver to 10.2.0.5.

14. 10259859  Model runtime apis return parent choicegroup data instead of choice data if choice event model defined with only one positive event.

15. 10254585  Add javadocs for getchoiceeventlikelihoodswhy() method

16. 10211905  Decision Center – when in https, need to suppress popup warning “This page contains both secure and nonsecure items”. [For Decision Manager].

17. 10178734  External Rule Editor - add option to hide inherited rules.  [For Decision Manager].

18. 10170068  Decision Center – IE 8 support needed.

19. 10122030  Decision Service - allow negative choice score values.

20. 10035297  Sticky control group assignment when there are multiple session keys.

21. 10035277  Sequential selection values result in sequential control group assignment.

22. 10034931  Entity cache code generation improvement to reduce SQL queries.

23. 10031983  Weblogic/Websphere - Request forwarding channel reset error fix using Jgroups 2.8.

24. 10013868  Java smart client retains open file handles on sdclient.properties.

25. 9959417   External Rule Editor - add option to override default title value.  [For Decision Manager].

26. 9927978   Java smart client forgets cookies when used asynchronously.

27. 9924191   DC_Demo sample ILS - external rules deployment helper.  Update to allow editing/saving of long external rule xml strings.

28. 9893907   Prevent rare infinite loop symptom when a model's "Randomize Likelihood" option is selected.

29. 9866824   Decision Service WS response may include duplicate copies of attributes which had values set in several parent choicegroup levels

30. 9726419   External Rule Editor - add option to display rule editor in read-only mode.  [For Decision Manager].

31. 9553431   Rule editor - javascript error disables save feature.

32. 9340440   Decision Center - incorrect reports when "Value Domain" of partitioning attributes of a model definition is non-empty.

33. 9310288   Studio - remove temporary data storage option for generic models.

34. 9306670   Decision Center - when positive counts exceed total counts, show model quality as 0 and hide cumulative gains graph.

35. 9302009   Studio - remove temporary data storage option for choice models.

36. 9286155   Model quality - integer overflow causes model quality to appear as 0.

37. 9267227   Model quality - internal data check (ismonotonicallyincreasing) at times incorrectly shows model quality as 0.

38. 9096379   Decision Service performance counters - add request forwarding metrics.

39. 8977280   Temporary data storage (TDS) – fix feature.

Additional defects details

This section lists additional information for select defects.

16046477 – New Inline Service CrossSellR, sample integration with ORE

§ A new sample inline service is included in 3.0.0.1.12 PSU to demonstrate using external R models in Oracle RTD. You will find the inline service in OracleBI\RTD\examples\CrossSellR and documentation for it in OracleBI\RTD\docs\ORE Integration.pdf.

 

14461859 – XML Response from advisor invalid with special characters

§ Special chars (like & or <) are not properly escaped in the response from an advisor (for example "&" is not transformed to "&amp;"). This regression was first introduced in 3.0.0.1.10 PSU and is fixed in 3.0.0.1.12 PSU. If you implemented a workaround of escaping the response in the inline service, you should remove this workaround as part of your 3.0.0.1.12 PSU.

 

14300740 – New API to remove external rules from the server cache

§ External rules are cached in the server. The cache is cleared if the inline service is undeployed. If you want to remove a specific rule from the server cache without undeploying the whole inline service you can use the new ‘remove(RuleDefinition def)’ method in theRuleCache interface. This method is used in the Base Marketing RTD Application Inline Service, refer to this for an example on how to use this new method.

 

14169133 - Performance improvements in the external rules compilation code with the addition of a new batch compilation API

§  If your Inline Service(s) has a lot of external rules, you can use new APIs to compile rules in batch in order to improve the initial load time of these external rules by using the new ‘validateAndCache(@NonNull List<RuleDefinitionContextPair> ruleDefContextList,RuleCache cache)’ method in the RuleEvaluator interface. This method is used in the Base Marketing RTD Application Inline Service,refer to this for an example on how to use this new method.

 

11668572  JBoss – Request forwarding channel reset error fix using Jgroups 2.8.
10031983  Weblogic/Websphere - Request forwarding channel reset error fix using Jgroups 2.8.

§  The resolution of these two defects affects the RTD installation process, especially for cluster setups.  See the Applying This Patch in this document for details.

 

10411524  RTD decision service java client to support JUL logging, automatically generate session key in header, support user-defined header.

§  The 3.0.0.1.10 PSU and later RTD decision service client (rtd-ds-client.jar) supports the following:

1.    A new RTDSESSIONKEY http header is automatically generated for IP requests which include session key/keys. The value is hex(hash(first session key)), which follows RegEx pattern [0-9, a-f]{8}.

2.    A new method void setHttpHeader(String name, String value); has been added to IntegrationPointRequestInterface for users to set arbitrary http headers.  

3.    Logging has been changed to Java Utility Logging (JUL).  Log4j is not used or required.  Configuration can be done in java source code as follows:
 
java.util.logging.Logger rtdLogger = java.util.logging.Logger.getLogger("oracle.rtd.logger");
rtdLogger.setLevel(java.util.logging.Level.WARNING);
rtdLogger.addHandler(new java.util.logging.FileHandler("rtd.log"));

 

10390665  Add system property to bypass ILS test loading during ILS deployment

§  A new system property, rtd.skipIlsTestLoad, has been added to bypass test loading of an Inline Service during ILS deployment.  If unspecified in the JVM start parameters, the property has a default value of false, which means ILS test loading will be performed during ILS deployment.  If the logging level is set to DEBUG, the following message can be seen in the server.log:

2011-04-10 11:04:10,142 DEBUG [DeployAppCommand] Performing test load on CrossSell with deployment state 5.

§  Set the property to true, e.g. -Drtd.skipIlsTestLoad=true to bypass ILS test loading. This may be helpful in ILS redeployments from Decision Center in a clustered environment.

 

10387803  Decision Service performance log (ds_perf.csv) - additional request forwarding metrics
9096379   Decision Service performance counters - add request forwarding metrics.

§  The following metrics have been added to the Decision Service mbeans (OracleRTD > Server > DecisionService) and Decision Service performance log:

1.    Requests Forwarded, Peak

2.    Requests Forwarded, Total

3.    Received Requests Forwarded, Current

4.    Received Requests Forwarded, Peak

5.    Received Requests Forwarded, Total

 

10383794  Decision Center - increased precision shown in report data.

§  Decision Center reports where percentages are shown now display at least one decimal place instead of rounding to nearest integer.

 

10178734  External Rule Editor - add option to hide inherited rules.  [For Decision Manager].
9959417   External Rule Editor - add option to override default title value.  [For Decision Manager].
9726419   External Rule Editor - add option to display rule editor in read-only mode.  [For Decision Manager].

§  The new external rule editor rendering optional properties can be set as follows:

<input type=hidden name="hideInheritedRules" value="true"/>

<input type=hidden name="title" value="My title"/>

<input type=hidden name="readOnly" value="true"/>

 

 

Top of Document

Learning Server Architectural Changes Introduced in 3.0.0.1.11 PSU

Starting with 3.0.0.1.11 PSU, Oracle RTD introduces several design changes within the Learning Server, offering increased learning throughput of the learning records:

1.    Parallel model learning.  When learning occurs at the end of an integration point request, or at the close of the Oracle RTD session, such that more than one model is to be updated by the learning, the updates to the models occur in parallel.

2.    Read-ahead caching of learning records.  The learning server maintains an active read-ahead queue of learning records to incorporate into its learning models.  It is continuously updating this queue of records from the database, in order to offer the learning algorithms the next record as fast as possible.

3.    Asynchronous deletion of processed learning records.  Once learned upon, learning records are expunged from the database in an asynchronous manner that prevents any decrease in learning throughput in the learning server.

4.    Schema changes:

1.    A new SDLearning table for enhanced concurrent performance of selects, deletes and insertions.  The SDLearning table is now a partitioned IOT (index organized table).

2.    New stored procedures: SDLRQueueFill, SDDeleteLRS, SDGetMaxLRId.

3.    Removal of deprecated stored procedures: SDGetLearningData, SDGetLearningIdRange

4.    New table, SDLastLRId, used in the deletion of process learning records.

 

Creating Tablespaces

Prior to installing/upgrading this release of Oracle RTD, the CreateTablespaces.sql script must be run on the Oracle instance, as SYS. 

Both the file names for the partitions and the file sizes may be varied.  The tablespace names must remain invariant as these names are used in the SQL for SDLearning table creation.

The tablespaces created by this script are needed as part of the SDLearning partitioned table definition.  If the user does not have the Oracle DB partitioning option enabled and licensed, the SDLearning table can be created without partitioning, thus the creation of tablespaces via this script (CreateTablespaces.sql) can be bypassed.  See the Applying This Patch section below for more details.

 

Configuration of the Learning Server

The following Java system properties direct the behavior of the learning server.  They must be set as JVM properties on the Learning Server JVM prior to starting the JVM.

1.    rtd.numCPUs – to specify the number of threads to use in the parallel learning thread pool.  This is recommended to be less than or equal to the number of CPU cores on the machine running the LS instance.  Default: The LS instance detects the number of CPU cores on its machine and defaults the thread count to this number. 

[Recommendation: do not set this property. For hardware with a very large number of CPU cores, careful testing may determine that a number smaller than the maximum number of CPU cores may achieve higher throughput]

2.    rtd.LearningDispatcher.LearningSleepMS - sleep interval between main task loop executions. Default is 15000 (15 s).  This is the sleep time between executions of the recurring main loop task.

[Recommendation: set this property to a value of 100 (meaning 100 ms)]

3.    rtd.LearningDispatcher.ProcessingSize – number of Learning Records ( LR’s) to process as a group before checking for timeout in the “Learn LR’s” sub-task of the main loop task. Default is 20.  The LS will process this many LR’s before checking whether the timeout set in #3 has been met.

[Recommendation: do not set this property]

4.    rtd.LRQueueCapacitythe capacity of the LS queue the pre-reads LR’s from the database (from the SDLearning table).  Default is 10,000.

[Recommendation: set to ~5% of expected learning records generated per hour. I.e, if the system is expected to generate 1,000,000 learning records/hour, set the Queue capacity to 50,000]

5.    rtd.LRQueueRefillRatio - Refill Ratio of the LS queue – this is the ratio of queue size/capacity that induces launch of a new reader task when size is reduced by 1 in LR processing.  Default is 0.5 (i.e. when polling removes a LR such that size < ½ capacity, a reader task is launched if one is not already active). 

[Recommendation: do not set this property]

6.    rtd.LRQueueSleepIntervalSec - Sleep time, in seconds, for the LS queue reading task. If the reading task encounters an empty SDLearning table, it sets a sleep time for the next launch of itself – on the next launch, it sleeps for this time before resuming.  Default is 10 sec.

[Recommendation: do not set this property]

 

Learning Server Logging Changes

The following are the logging system changes in this release:

LRQueue Logging:

1.    INFO level logging:

a.    LRQueue reading task result logs at INFO level whenever the task completes:

"LRQueue read task complete: Added {0} Records to LRQueue in {1} sec. SP took {2} msec. Queue size is now {3}",   This log entry is made only if records were added to the queue (only if the {0} count > 0). The size is taken at the point of creating this log entry.  Note that the ratio of the queue size (value {3}) at time of log entry versus the number of records added to the queue (value {0}) indicates how quickly records processing is taking Records off of the front of the queue.  For example, if 5000 records were added to the queue, yet the current queue size was only 200, that means records processing is very fast and is exhausting the records from the queue very quickly. In such cases, you may want to increase the queue refill ratio (rtd.LRQueueRefillRatio) and possibly the queue capacity (rtd.LRQueueCapacity) as well.  If 0 records were added to the queue in the reading task, this log entry is omitted.

If the following system property is set, indicating to trace BLOB to byte array conversion times for LR’s:   
rtd.LearningServer.traceBLOBConversion=true, then the reading task result log is augmented with the average stat:

"Added {0} learning records to the LRQueue in {1} sec. SP took {2} msec. Queue size is now {3}. Average BLOB conversion time was {4} msec.".

2.    ERROR logging:

a.    LRQueue reading task fails with exception:
"SD_ERROR_com.sigmadynamics.server.ls.LRQueue.taskException", "LRQueue reading task failed with exception” - with trace.

b.    If on start(), DB is unavailable:
"Database unavailable in LRQueue.start.  Stopping...."

c.    Currently, only Oracle DB is supported.  Attempting to run LRQueue on an non-Oracle DB results in the following error from LRQueueTask:
"LRQueue reading task failed - unsupported DB type."

GleanerTask Logging:

1.    INFO level:

a.    The GleanerTask logs the number of records removed, and the SP execution time at INFO level:
“Removed {0} processed learning records for study: '" + studyName + "'. Removal took {1} msec.”

2.    ERROR level:

a.    The GleanerTask fails with exception:
"SD_INFO_com.sigmadynamics.server.ls.GleanerTask.exception", "LR Gleaner failed with exception" – with trace.

ReadLearningData.readData() Logging:

The “Learn LR’s” sub-task of the main task loop reports the number of LR's it processed at INFO level.  This log entry is made only if the number of LR’s processed was greater than 0

1.    INFO level:

a.    Normal processing:
"Processing of {0} learning records in range {1}:{2} took {3} seconds.  Backlog of learning records to process is now {4}."

b.    Forced learning:
"Forced learning of {0} learning records in range {1}:{2} took {3} seconds.  Backlog of learning records to process is now {4}."

 

Top of Document

Known Issues in This Patch

The following issues are the noteworthy known issues of this patch.

1.    12408599 – Learning Service may forgo learning records if SDDB is on Oracle RAC database. 

This issue is applicable to 3.0.0.1.0 and all of the patches up to this (3.0.0.1.12) version.

Description:

The RTD database sequence SDLEARNING_SEQ definition does not impose strict order.  In RAC environment, this could mean gaps in the values for the sequence, which leads to possible Learning Service failures in properly processing the learning records.

Recommendation:

Impose the Order option on the sequence SDLEARNING_SEQ.

Workaround steps:

Using a DB user with ALTER ANY SEQUENCE system privilege, issue the following command against the SDDB schema:

ALTER SEQUENCE SDLEARNING_SEQ ORDER;

 2. 14169264 – Reflection inflation may cause a period of zero throughput for Inline Services with lots of external rules

If your Inline Service(s) has a lot of external rules, adding the following JVM parameter to your Decision Servers may improve the initial load time of these external rules:

-Dsun.reflect.inflationThreshold=2147483647

Top of Document

Applying This Patch

The section includes important information about applying this patch for Oracle Real-Time Decisions.

RTD 3.0.0.1.12 PSU is a full replacement of RTD 3.0.0.1.  The installation instructions for 3.0.0.1.12 PSU consists of following the 3.0.0.1 base document Installation and Administration Guide (IAG) with exceptions/additions as detailed in the following sections.  Fully review these sections before starting your installation of 3.0.0.1.12 PSU environment.

The RTD platform 3.0.0.1 base documentation library is located here:

§  Documentation root
http://download.oracle.com/docs/cd/E13853_01/index.htm

§  Install and Admin Guide (IAG):
http://download.oracle.com/docs/cd/E13853_01/rtd.300/e13856.pdf

§  Platform Developers Guide (PDG):
http://download.oracle.com/docs/cd/E13853_01/rtd.300/e13854.pdf

§  Decision Center Guide (DCG):
http://download.oracle.com/docs/cd/E13853_01/rtd.300/e13855.pdf

§  Release notes (RN):
http://download.oracle.com/docs/cd/E13853_01/rtd.300/e13857.pdf

Users begin the fresh installation of 3.0.0.1.12 PSU by following the 3.0.0.1 Installation and Admin Guide (IAG), http://download.oracle.com/docs/cd/E13853_01/rtd.300/e13856.pdf.   The sections below focus on the exceptions to the instructions listed in IAG. 

For users wishing to migrate existing settings (i.e. jdbc data source references, Inline Services, etc) from 3.0.0.1 to 3.0.0.1.12 PSU, follow the 3.0.0.1 Release Notes (RN) chapter 2.2 - Upgrading from Oracle RTD Version 3.0 to Oracle RTD Version 3.0.0.1, it is for the most part applicable for upgrading from 3.0.0.1 to 3.0.0.1.12 PSU.  The following sections must still be reviewed for applicable changes in 3.0.0.1.12 PSU, especially those around RTD cluster setup. 

IAG chapter 2.1 - Installing Oracle Real-Time Decisions Files

§  The install archives files are named (for example) rtd_3.0.0.1.12_WL_win.zip and rtd_3.0.0.1.12_WL_unix.cpio as opposed to rtd_3.0.0_WL_win.zip and rtd_3.0.0_WL_unix.cpio.

§  Note that SDDBTool, along with RTD Studio, RTD Loadgen, and other RTD client tools are found inside the *.zip install archives files only (e.g. rtd_3.0.0.1.12_WL_win.zip), so if you are installing RTD server on a non-windows system (using one of the *.cpio files), you will need to also unzip the *.zip file onto a Windows host in order to access the RTD client tools.

IAG chapter 2.2.4 Initializing the Oracle RTD Database Using SDDBTool.

By default, 3.0.0.1.12 requires the Oracle database partitioning option enabled and licensed.  If the user does not have the Oracle database partitioning feature, 3.0.0.1.12 can be installed without it.  However, without the partitioning feature, the full extent of the learning server performance improvement introduced in 3.0.0.1.11 will not be achieved.  Without the partitioning feature, the learning server performance will be similar to 3.0.0.1 versions prior to 3.0.0.1.11.

Follow only one of the two options in step 1 below prior to running SDDBTool

Step 1, option 1. (Recommended) Initializing Oracle RTD schema with Oracle database partitioning option

·         Execute the SQL included in the file \OracleBI\RTD\scripts\sql\Oracle\CreateTablespaces.sql as an sysdba user against the database instance that RTD database schema will be created on.  The SQL will create 25 new tablespaces, each with default initial size of 300 MB.  Update the SQL prior to execution if you wish to change the path and names of the data files.  Do not change the names of the tablespaces themselves (i.e. SDLearning_TS0, SDLearning_TS2, etc.)  These tablespaces need to be created only once for each database instance that the RTD database will be installed on. It is not necessary to run this SQL each time a 3.0.0.1.12 SDDB is created.

Step 1, option 2. Initializing Oracle RTD schema without Oracle database partitioning option

·         Locate the files SDTables.sql and UpgradeSDDB.sql in directory \OracleBI\RTD\scripts\sql\Oracle\.  Open each file with a text editor.  Locate the SQL statement for the creation of the table SDLearning, i.e. search for term “create table SDLearning” (using match whole words option if available). 

Replace the entire create table statement, i.e.

create table SDLearning

(

  id int,

  mapping_id int not null constraint FK1_SDLearning references SDLearningMapping(id),

  entry_time int default (sysdate - cast((timestamp '1970-01-01 0:0:0 -0:0' at time zone dbtimezone) as date))*24*3600 not null,

  status char(1) default 'C' not null,

  hour_ int,

  data blob not null,

  primary key (id, hour_)

) organization index ${LEARNING} overflow tablespace sdlearning_overflow partition by list(hour_) (

    partition sd_p0 values (0) tablespace SDLearning_TS0,

    partition sd_p1 values (1) tablespace SDLearning_TS1,

    partition sd_p2 values (2) tablespace SDLearning_TS2,

    partition sd_p3 values (3) tablespace SDLearning_TS3,

    partition sd_p4 values (4) tablespace SDLearning_TS4,

    partition sd_p5 values (5) tablespace SDLearning_TS5,

    partition sd_p6 values (6) tablespace SDLearning_TS6,

    partition sd_p7 values (7) tablespace SDLearning_TS7,

    partition sd_p8 values (8) tablespace SDLearning_TS8,

    partition sd_p9 values (9) tablespace SDLearning_TS9,

    partition sd_p10 values (10) tablespace SDLearning_TS10,

    partition sd_p11 values (11) tablespace SDLearning_TS11,

    partition sd_p12 values (12) tablespace SDLearning_TS12,

    partition sd_p13 values (13) tablespace SDLearning_TS13,

    partition sd_p14 values (14) tablespace SDLearning_TS14,

    partition sd_p15 values (15) tablespace SDLearning_TS15,

    partition sd_p16 values (16) tablespace SDLearning_TS16,

    partition sd_p17 values (17) tablespace SDLearning_TS17,

    partition sd_p18 values (18) tablespace SDLearning_TS18,

    partition sd_p19 values (19) tablespace SDLearning_TS19,

    partition sd_p20 values (20) tablespace SDLearning_TS20,

    partition sd_p21 values (21) tablespace SDLearning_TS21,

    partition sd_p22 values (22) tablespace SDLearning_TS22,

    partition sd_p23 values (23) tablespace SDLearning_TS23,

    partition sd_p_default values (default) tablespace SDLearning_TS0);

 

with the following:

create table SDLearning
(
  id int,
  mapping_id int not null constraint FK1_SDLearning references SDLearningMapping(id),
  entry_time int default (sysdate - cast((timestamp '1970-01-01 0:0:0 -0:0' at time
  zone dbtimezone) as date))*24*3600 not null,
  status char(1) default 'C' not null,
  hour_ int,
  data blob not null,
  primary key (id, hour_)
) ${LEARNING};

 

Step 2.  Executing SDDBTool

§  The RTD database schema in 3.0.0.1.12 PSU has been updated relative to 3.0.0.1.11 and earlier versions.  It is necessary to execute SDDBTools whether for creation of a new RTD 3.0.0.1.12 environment (new SDDB) or upgrading from an earlier version. 

o    For creation of new SDDB, run SDDBTool and select the “Initialize” option.  For upgrading an existing SDDB created by RTD 3.0.0.1, 3.0.0.1.10 or 3.0.0.1.11, run SDDBTool and select the “Upgrade” option.

o    If the existing system had been patched with RTD 3.0.0.1.03 Rev 1 (patch #10022219), and specifically the “RTD schema updates” portion of the patch, it will be necessary to first update one of the SQL files prior to running SDDBTools to upgrade to the 3.0.0.1.12 PSU schema.  To see if you had applied patch #10022219, check your existing SDDB schema and confirm whether you have the table SDLEARNING1.  If you have table SDLEARNING1, you need to perform the following changes.   Open/edit the file \OracleBI\RTD\scripts\sql\Oracle\UpgradeSDDB.sql, replace lines 406-407 with new content as shown here:

Original lines 406-407:

create table sdlearning_temp ${LEARNING} as (select * from sdlearning);
call dropobject(upper('SDLearning'), 'table');

Replace lines 406-407 with: 

create table sdlearning_temp ${LEARNING} as (select * from sdlearning1);
call dropobject(upper('SDLearning1'), 'table');
call dropobject(upper('SDLearning2'), 'table');
call dropobject(upper('SDLearning'), 'view');

IAG chapters 4 – 6: Single server installation

§  For single-server RTD installations, follow the 3.0.0.1 Installation And Administration Guide (IAG) as usual for Websphere (chapter 4), WebLogic (chapter 5), and JBoss (chapter 6), with the following exception:

IAG chapter 4.5 - Installing the Oracle Real-Time Decisions Application on WebSphere

o    The following steps are only mandatory for RTD installations on Websphere 7, these steps can be skipped if installing on Websphere 6.1.

§  Prior to step 1, navigate to the location RTD_HOME/package/ and locate the file RTD.ear.

§  Open/extract RTD.ear with an archiving tool. In the root directory, remove the file activation.jar and close/re-archive RTD.ear.

§  Continue chapter 4.5.

IAG chapter 5.6.1 - Starting Oracle RTD When Deployed to Admin Server or Through Startup Scripts

     o    The Windows command line arguments should read:

set JAVA_OPTIONS=%JAVA_OPTIONS% -Dorg.eclipse.emf.ecore.EPackage.Registry.INSTANCE=com.sigmadynamics.emf.util.SDEMFRegistry

set JAVA_OPTIONS=%JAVA_OPTIONS% -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl

set JAVA_OPTIONS=%JAVA_OPTIONS% -Dcom.sun.management.jmxremote=true

set JAVA_OPTIONS=%JAVA_OPTIONS% -Dcom.sun.management.jmxremote.port=12345

set JAVA_OPTIONS=%JAVA_OPTIONS% -Dcom.sun.management.jmxremote.authenticate=false

set JAVA_OPTIONS=%JAVA_OPTIONS% -Dcom.sun.management.jmxremote.ssl=false

set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.wsee.skip.async.response=true

set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.net.preferIPv4Stack=true

o    The Unix command line arguments should read:

JAVA_OPTIONS="${JAVA_OPTIONS} -Dorg.eclipse.emf.ecore.EPackage.Registry.INSTANCE=com.sigmadynamics.emf.util.SDEMFRegistry"

JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl"

JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote=true"

JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.port=12345"

JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.authenticate=false"

JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.ssl=false"

JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.wsee.skip.async.response=true"

JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.net.preferIPv4Stack=true"

IAG chapter 6.1.2 - Copying Oracle RTD Log 4J Jar File to JBoss

o    Skip this step for 3.0.0.1.12 PSU.

IAG chapters 13, 15: Cluster installation

§  The major difference between RTD 3.0.0.1.10 and later PSUs and RTD 3.0.0.1.0’s cluster setup is the jgroups protocol used.  In 3.0.0.1, UDP/Multicast was the default protocol.  In 3.0.0.1.10 and later PSUs, this has been updated to TCP/Unicast.  As a result of this change, several cluster-setup steps in the main 3.0.0.1 installation/Administration Guide (IAG) are no longer relevant or need to be updated with modified content.  The following lists the deprecated and modified contents.

§  Deprecated RTD Cluster settings

o    IAG chapters 13.3, 13.4, and 15.3.3 – all *Multicast* properties can be ignored, they are not used by RTD in 3.0.0.1.12 PSU.  These properties include: JGroupsMulticastPort, JGroupsMulticastAddress, JGroupsDSMulticastPort, and JGroupsDSMulticastAddress.

o    IAG chapter 15.3.3 – the property JGroupsDSProtocols is not used/present in RTD 3.0.0.1.12 PSU.

§  Modified RTD cluster settings

IAG chapter 13.7.7.4 - Setting Server JVM Properties (WebLogic)

§  Add the following properties to those documented in IAG 13.7.7.4, all on the same line, replacing each HOST_*_IP token with the IP address of each managed server in your RTD cluster setup, and expanding the initial_hosts list as necessary.   If there are multiple JVMs on a single host/IP, make sure to set a unique bind_port value for each JVM.  Note the blank space before each property delimiter (-D).

-DIntegrationPointMaxConcurrentJobs=300 -Djgroups.bind_addr=HOST_*_IP -Djava.net.preferIPv4Stack=true -DJGroupsProtocols=TCP(bind_port=7800;port_range=1;loopback=true;recv_buf_size=20M;send_buf_size=640K;discard_incompatible_packets=true;max_bundle_size=64K;max_bundle_timeout=30;enable_bundling=true;use_send_queues=true;sock_conn_timeout=300;timer.num_threads=4;thread_pool.enabled=true;thread_pool.min_threads=2;thread_pool.max_threads=10;thread_pool.keep_alive_time=30000;thread_pool.queue_enabled=true;thread_pool.queue_max_size=500;thread_pool.rejection_policy=discard;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=20;oob_thread_pool.max_threads=100;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;oob_thread_pool.rejection_policy=discard):TCPPING(timeout=10000;initial_hosts=HOST_1_IP[7800],HOST_2_IP[7800];port_range=1;num_initial_members=2):MERGE2(min_interval=20000;max_interval=100000):FD_SOCK:FD(timeout=20000;max_tries=5):VERIFY_SUSPECT(timeout=1500):BARRIER:pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=100,200,300,600,1200,2400,4800;discard_delivered_msgs=true):UNICAST(timeout=300,600,1200,2400,3600):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400K):pbcast.GMS(print_local_addr=true;join_timeout=3000;view_bundling=true):FC(max_credits=2000000;min_threshold=0.10):FRAG2(frag_size=60K):pbcast.STREAMING_STATE_TRANSFER(use_default_transport=true)

IAG chapter 13.8.9.2 - Setting Server JVM Properties (Websphere)

§  Navigate to Application servers > <server> > Process Definition > Java Virtual Machine > Custom Properties.   If the custom property named JGroupsDSProtocols exists, remove it. 

§  Add the following Custom Properties to those documented in IAG 13.8.9.2, with properties values as indicated.  For the property JGroupsProtocols, replace each HOST_*_IP token with the IP address of each server in your RTD cluster setup, and expanding the initial_hosts list as necessary.  If there are multiple JVMs on a single host/IP, make sure to set a unique bind_port value for each JVM.

Property name: IntegrationPointMaxConcurrentJobs
Property value: 300

Property name: jgroups.bind_addr
Property value: HOST_*_IP

Property name: java.net.preferIPv4Stack
Property value: True

Property name: JGroupsProtocols
Property value: TCP(bind_port=7800;port_range=1;loopback=true;recv_buf_size=20M;send_buf_size=640K;discard_incompatible_packets=true;max_bundle_size=64K;max_bundle_timeout=30;enable_bundling=true;use_send_queues=true;sock_conn_timeout=300;timer.num_threads=4;thread_pool.enabled=true;thread_pool.min_threads=2;thread_pool.max_threads=10;thread_pool.keep_alive_time=30000;thread_pool.queue_enabled=true;thread_pool.queue_max_size=500;thread_pool.rejection_policy=discard;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=20;oob_thread_pool.max_threads=100;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;oob_thread_pool.rejection_policy=discard):TCPPING(timeout=10000;initial_hosts=HOST_1_IP[7800],HOST_2_IP[7800];port_range=1;num_initial_members=2):MERGE2(min_interval=20000;max_interval=100000):FD_SOCK:FD(timeout=20000;max_tries=5):VERIFY_SUSPECT(timeout=1500):BARRIER:pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=100,200,300,600,1200,2400,4800;discard_delivered_msgs=true):UNICAST(timeout=300,600,1200,2400,3600):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400K):pbcast.GMS(print_local_addr=true;join_timeout=3000;view_bundling=true):FC(max_credits=2000000;min_threshold=0.10):FRAG2(frag_size=60K):pbcast.STREAMING_STATE_TRANSFER(use_default_transport=true)

IAG chapter 13.8.13.1 - Modifying IBM HTTP Server Configuration File (Websphere)

§  Step 2 is not necessary.

IAG chapter 13.8.13.2 - Creating Web Server (Websphere)

§  Step 10 is not necessary.

IAG chapter 13.8.15.1 - Deploying RTD.ear to Cluster (Websphere)

§  The following steps are only mandatory for RTD installations on Websphere 7, these steps can be skipped if installing on Websphere 6.1.

o    Prior to step 1, navigate to the location RTD_HOME/package/ and locate the file RTD.ear.

o    Open/extract RTD.ear with an archiving tool. In the root directory, remove the file activation.jar and close/re-archive RTD.ear.

§  Step 6 should state: Select the Cluster and Server values applicable to your setup.

IAG chapter 13.10.5.5 - Copying Oracle RTD log4j Jar to JBoss (JBoss)

§  Skip this step for 3.0.0.1.12 PSU. 

IAG chapter 13.10.5.7 Copying Oracle RTD jgroups Jar to JBoss (JBoss)

§  Skip this step for 3.0.0.1.12 PSU. 

IAG chapter 13.10.5.11 - Modifying JBoss Start Script (JBoss)

§  All *Multicast* properties (e.g. JGroupsMulticastAddress, JGroupsMulticastPort, JGroupsDSMulticastAddress, JGroupsDSMulticastPort)  can still be set as described in IAG chapter 13.10.5.11, but values for these properties will not be used. 

§  Add the following JVM properties to those already instructed in IAG chapter 13.10.5.11, using the appropriate syntax depending on the operating system. 

For example, for Windows, a JVM property would be added as:

set JAVA_OPTS=%JAVA_OPTS% -DnewPropertyName=newPropertyValue

For UNIX OS’s, the JVM property would be added as:

JAVA_OPTS="$JAVA_OPTS -DnewPropertyName=newPropertyValue"

For the property JGroupsProtocols, replace each HOST_*_IP token with the IP address of each managed server in your RTD cluster setup, expanding the initial_hosts list as necessary. If there are multiple JVMs on a single host/IP, make sure to set a unique bind_port value for each JVM.

set JAVA_OPTS=%JAVA_OPTS% -DIntegrationPointMaxConcurrentJobs=300

set JAVA_OPTS=%JAVA_OPTS% -Djgroups.bind_addr=HOST_*_IP
set JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true
set JAVA_OPTS=%JAVA_OPTS% -DJGroupsProtocols=TCP(bind_port=7800;port_range=1;loopback=true;recv_buf_size=20M;send_buf_size=640K;discard_incompatible_packets=true;max_bundle_size=64K;max_bundle_timeout=30;enable_bundling=true;use_send_queues=true;sock_conn_timeout=300;timer.num_threads=4;thread_pool.enabled=true;thread_pool.min_threads=2;thread_pool.max_threads=10;thread_pool.keep_alive_time=30000;thread_pool.queue_enabled=true;thread_pool.queue_max_size=500;thread_pool.rejection_policy=discard;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=20;oob_thread_pool.max_threads=100;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;oob_thread_pool.rejection_policy=discard):TCPPING(timeout=10000;initial_hosts=HOST_1_IP[7800],HOST_2_IP[7800];port_range=1;num_initial_members=2):MERGE2(min_interval=20000;max_interval=100000):FD_SOCK:FD(timeout=20000;max_tries=5):VERIFY_SUSPECT(timeout=1500):BARRIER:pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=100,200,300,600,1200,2400,4800;discard_delivered_msgs=true):UNICAST(timeout=300,600,1200,2400,3600):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400K):pbcast.GMS(print_local_addr=true;join_timeout=3000;view_bundling=true):FC(max_credits=2000000;min_threshold=0.10):FRAG2(frag_size=60K):pbcast.STREAMING_STATE_TRANSFER(use_default_transport=true)

 

Additional installation notes

§  Several issues stated in the 3.0.0.1 Release Notes (RN) have been fixed in 3.0.0.1.12 PSE 15 – see the Defects Fixed in This Patch section in this document.  Issues in the RN not marked as fixed in this document are still outstanding.

 

 

Top of Document

Rolling Back This Patch

Since RTD 3.0.0.1.12 PSE 15 is a full install package, rollback to RTD 3.0.0.1, 3.0.0.1.10 PSU, 3.0.0.1.11 PSU or 3.0.0.1.12 PSU is done by reinstalling RTD 3.0.0.1/3.0.0.1.10 PSU/3.0.0.1.11 PSU/3.0.0.1.12 PSU, with the following exceptions:

§  User’s 3.0.0.1.12 PSE 15 Inline Services must be recompiled in 3.0.0.1/3.0.0.10 PSU/3.0.0.1.11 PSU/3.0.0.1.12 PSU Studio and redeployed.

§  Rollback of the Oracle RTD database from 3.0.0.1.12 to a previous version is not supported.

 

Top of Document

 

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
http://www.oracle.com