The focus on this release upgrades is to support Oracle database schema changes announced in 1.5.0.S92.
Please stop the edoras one server, backup the database, the content and the old WAR file, then do all the upgrades described in the next paragraphs and then start the server again at the end. This way you ensure that all upgrades are executed properly and that you do not get an inconsistent state when starting it in the middle of the upgrades.
Upgrade Oracle database schema to the 1.5.0.S92
We announced new database schema migration mechanism in 1.5.0.S92. Besides the other changes Oracle database schema has
changed too. EDW_GEAR_WRK_VAR.WRK_VAR_BINARY_VALUE
, EDW_GEAR_BEAT_VAR.BEAT_VAR_BINARY_VALUE
,
EDW_GEAR_DOM_VAR.DOM_VAR_BINARY_VALUE
has changed from RAW(1900)
to BLOB
. To convert the data and schema use the
following script:
-- Changing all work object variable table column types to use BLOB instead of RAW(1900)
CREATE TABLE EDW_GEAR_WRK_VAR2 (
WRK_VAR_ID VARCHAR2(64) PRIMARY KEY,
WRK_VAR_NAME NVARCHAR2(256),
WRK_VAR_TYPE VARCHAR2(128),
WRK_VAR_LONG_VALUE NUMBER(19, 0),
WRK_VAR_DOUBLE_VALUE NUMBER(*, 10),
WRK_VAR_STRING_VALUE NVARCHAR2(2000),
WRK_VAR_LARGE_STRING_VALUE NCLOB,
WRK_VAR_BINARY_VALUE BLOB,
WRK_VAR_INDEX INTEGER,
WRK_VAR_PARENT_ID_REF VARCHAR2(64),
WRK_VAR_ROOT_ID_REF VARCHAR2(64),
WRK_VAR_OBJ_ID_REF VARCHAR2(64),
WRK_VAR_OBJ_ID VARCHAR2(64),
WRK_VAR_CREATE_TIME NUMBER(19, 0)
);
INSERT INTO EDW_GEAR_WRK_VAR2 SELECT
WRK_VAR_ID,
WRK_VAR_NAME,
WRK_VAR_TYPE,
WRK_VAR_LONG_VALUE,
WRK_VAR_DOUBLE_VALUE,
WRK_VAR_STRING_VALUE,
WRK_VAR_LARGE_STRING_VALUE,
to_blob(WRK_VAR_BINARY_VALUE),
WRK_VAR_INDEX,
WRK_VAR_PARENT_ID_REF,
WRK_VAR_ROOT_ID_REF,
WRK_VAR_OBJ_ID_REF,
WRK_VAR_OBJ_ID,
WRK_VAR_CREATE_TIME FROM EDW_GEAR_WRK_VAR;
DROP TABLE EDW_GEAR_WRK_VAR;
RENAME EDW_GEAR_WRK_VAR2 TO EDW_GEAR_WRK_VAR;
ALTER TABLE EDW_GEAR_WRK_VAR
ADD CONSTRAINT EDW_GEAR_FK_WRK_VAR_01
FOREIGN KEY (WRK_VAR_OBJ_ID_REF)
REFERENCES EDW_GEAR_WRK_OBJ (WRK_OBJ_ID) ON DELETE CASCADE;
CREATE UNIQUE INDEX EDW_GEAR_IDX_WRK_VAR_01 ON EDW_GEAR_WRK_VAR (WRK_VAR_OBJ_ID_REF, WRK_VAR_NAME, WRK_VAR_PARENT_ID_REF);
CREATE INDEX EDW_GEAR_IDX_WRK_VAR_02 ON EDW_GEAR_WRK_VAR (WRK_VAR_OBJ_ID_REF, WRK_VAR_ROOT_ID_REF);
-- Changing all work object beat variable table column types to use BLOB instead of RAW(1900)
CREATE TABLE EDW_GEAR_BEAT_VAR2 (
BEAT_VAR_ID VARCHAR2(64) PRIMARY KEY,
BEAT_VAR_NAME NVARCHAR2(256),
BEAT_VAR_TYPE VARCHAR2(128),
BEAT_VAR_LONG_VALUE NUMBER(19, 0),
BEAT_VAR_DOUBLE_VALUE NUMBER(*, 10),
BEAT_VAR_STRING_VALUE NVARCHAR2(2000),
BEAT_VAR_LARGE_STRING_VALUE NCLOB,
BEAT_VAR_BINARY_VALUE BLOB,
BEAT_VAR_INDEX INTEGER,
BEAT_VAR_PARENT_ID_REF VARCHAR2(64),
BEAT_VAR_ROOT_ID_REF VARCHAR2(64),
BEAT_VAR_OBJ_ID_REF VARCHAR2(64),
BEAT_VAR_OBJ_ID VARCHAR2(64),
BEAT_VAR_CREATE_TIME NUMBER(19, 0)
);
INSERT INTO EDW_GEAR_BEAT_VAR2 SELECT
BEAT_VAR_ID,
BEAT_VAR_NAME,
BEAT_VAR_TYPE,
BEAT_VAR_LONG_VALUE,
BEAT_VAR_DOUBLE_VALUE,
BEAT_VAR_STRING_VALUE,
BEAT_VAR_LARGE_STRING_VALUE,
to_blob(BEAT_VAR_BINARY_VALUE),
BEAT_VAR_INDEX,
BEAT_VAR_PARENT_ID_REF,
BEAT_VAR_ROOT_ID_REF,
BEAT_VAR_OBJ_ID_REF,
BEAT_VAR_OBJ_ID,
BEAT_VAR_CREATE_TIME FROM EDW_GEAR_BEAT_VAR;
DROP TABLE EDW_GEAR_BEAT_VAR;
RENAME EDW_GEAR_BEAT_VAR2 TO EDW_GEAR_BEAT_VAR;
ALTER TABLE EDW_GEAR_BEAT_VAR
ADD CONSTRAINT EDW_GEAR_FK_BEAT_VAR_01
FOREIGN KEY (BEAT_VAR_OBJ_ID_REF)
REFERENCES EDW_GEAR_BEAT (BEAT_ID) ON DELETE CASCADE;
CREATE UNIQUE INDEX EDW_GEAR_IDX_BEAT_VAR_01 ON EDW_GEAR_BEAT_VAR (BEAT_VAR_OBJ_ID_REF, BEAT_VAR_NAME, BEAT_VAR_PARENT_ID_REF);
CREATE INDEX EDW_GEAR_IDX_BEAT_VAR_02 ON EDW_GEAR_BEAT_VAR (BEAT_VAR_OBJ_ID_REF, BEAT_VAR_ROOT_ID_REF);
-- Changing all dom variable table column types to use BLOB instead of RAW(1900)
CREATE TABLE EDW_GEAR_DOM_VAR2 (
DOM_VAR_ID VARCHAR2(64) PRIMARY KEY,
DOM_VAR_NAME NVARCHAR2(256),
DOM_VAR_TYPE VARCHAR2(128),
DOM_VAR_LONG_VALUE NUMBER(19, 0),
DOM_VAR_DOUBLE_VALUE NUMBER(*, 10),
DOM_VAR_STRING_VALUE NVARCHAR2(2000),
DOM_VAR_LARGE_STRING_VALUE NCLOB,
DOM_VAR_BINARY_VALUE BLOB,
DOM_VAR_INDEX INTEGER,
DOM_VAR_PARENT_ID_REF VARCHAR2(64),
DOM_VAR_ROOT_ID_REF VARCHAR2(64),
DOM_VAR_OBJ_ID_REF VARCHAR2(64),
DOM_VAR_OBJ_ID VARCHAR2(64),
DOM_VAR_CREATE_TIME NUMBER(19, 0)
);
INSERT INTO EDW_GEAR_DOM_VAR2 SELECT
DOM_VAR_ID,
DOM_VAR_NAME,
DOM_VAR_TYPE,
DOM_VAR_LONG_VALUE,
DOM_VAR_DOUBLE_VALUE,
DOM_VAR_STRING_VALUE,
DOM_VAR_LARGE_STRING_VALUE,
to_blob(DOM_VAR_BINARY_VALUE),
DOM_VAR_INDEX,
DOM_VAR_PARENT_ID_REF,
DOM_VAR_ROOT_ID_REF,
DOM_VAR_OBJ_ID_REF,
DOM_VAR_OBJ_ID,
DOM_VAR_CREATE_TIME FROM EDW_GEAR_DOM_VAR;
DROP TABLE EDW_GEAR_DOM_VAR;
RENAME EDW_GEAR_DOM_VAR2 TO EDW_GEAR_DOM_VAR;
ALTER TABLE EDW_GEAR_DOM_VAR
ADD CONSTRAINT EDW_GEAR_FK_DOM_VAR_01
FOREIGN KEY (DOM_VAR_OBJ_ID_REF)
REFERENCES EDW_GEAR_DOM_OBJ (DOM_OBJ_ID) ON DELETE CASCADE;
CREATE UNIQUE INDEX EDW_GEAR_IDX_DOM_VAR_01 ON EDW_GEAR_DOM_VAR (DOM_VAR_OBJ_ID_REF, DOM_VAR_NAME, DOM_VAR_PARENT_ID_REF);
CREATE INDEX EDW_GEAR_IDX_DOM_VAR_02 ON EDW_GEAR_DOM_VAR (DOM_VAR_OBJ_ID_REF, DOM_VAR_ROOT_ID_REF);
Miscellaneous
The cmmnService bean was added to the expression resolver white-list
Customers maintaining their own copy of one.properties
(and thus have overridden the definition of expression.bean.whitelist
, may want to consider adding the bean cmmnService
to that property. This will allow access to the cmmn service bean in back-end
expressions.