Release 3.0.0.1
Patch Set Update (PSU): 3.0.0.1.12PSE15
(June 10
2013)
Readme
About This Patch Set Update (PSU)
Learning Server Architectural Changes Introduced in 3.0.0.1.11 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.
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.
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.
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.
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.
English only.
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.
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 "&"). 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"/>
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.LRQueueCapacity
– the 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}."
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
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.
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.
Copyright ©
2013, Oracle and/or its affiliates.
All rights reserved.
http://www.oracle.com