Can we improve further this update query
Can we optimize the following query further.
UPDATE OPTPRC_CHANGES_PK
SET UPDATEFLAG_ = 'X'
WHERE (UPDATEFLAG_ = 'U' OR UPDATEFLAG_ = 'A')
AND EXISTS
( SELECT 1 FROM OPTPRC
WHERE OPTPRC.DATE_ = OPTPRC_CHANGES_PK.DATE_
AND OPTPRC.EXCHCODE = OPTPRC_CHANGES_PK.EXCHCODE
AND OPTPRC.CONTRCODE = OPTPRC_CHANGES_PK.CONTRCODE )
The OPTPRC table contains about 10 million rows and OPTPRC_CHANGES_PK table contains about 1.5 million rows. The query takes about 20 minutes to complete. Ouch.
The index (Date_,Exchcode,contrcode) is in place on both tables.
Query Plan_
According to query plan, it is not using any indexes. Hash semi join is being used and table are fully scanned.
Oracle 10g is being used on Solaris 10.
Can we improve this query.
Following is th query plan for the query poposed by SeánMacGC
Query Plan
PLAN_TABLE_OUTPUT
Plan hash value: 72452462
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (
| 0 | UPDATE STATEMENT | | 1558K| 53M| | 29378
| 1 | UPDATE | OPTPRC_CHANGES_PK | | | |
|* 2 | HASH JOIN | | 1558K| 53M| 44M| 29378
|* 3 | TABLE ACCESS FULL| OPTPRC_CHANGES_PK | 1521K| 27M| | 2137
| 4 | TABLE ACCESS FULL| OPTPRC | 9968K| 161M| | 11182
Predicate Information (identified by operation id):
2 - access("OPTPRC"."DATE_"="OPTPRC_CHANGES_PK"."DATE_" AND
"OPTPRC"."EXCHCODE"="OPTPRC_CHANGES_PK"."EXCHCODE" AND
"OPTPRC"."CONTRCODE"="OPTPRC_CHANGES_PK"."CONTRCODE")
3 - filter("OPTPRC_CHANGES_PK"."UPDATEFLAG_"='A' OR
"OPTPRC_CHANGES_PK"."UPDATEFLAG_"='U')
Similar Messages
-
Is there any way we can simplify this update query ?
is there any way we can simplify this update query ? There is nothing wrong with the query ,but it looks so clumsy ...is there any other ways of doing this update like using with clause or exists or any other?
[code]
UPDATE STG_TMP_MBS_POOL s SET s.instrument_id = case when ( (select distinct iai.alternate_id from instrument_alternate_id iai, STG_TMP_MBS_POOL s where s.fi_instrument_id=iai.fi_instrument_id and iai.alternate_id_type_code IN ( 'FMR_CUSIP','CUSIP')) > 1) then (select distinct iai.alternate_id from instrument_alternate_id iai, STG_TMP_MBS_POOL s where s.fi_instrument_id=iai.fi_instrument_id and iai.alternate_id_type_code = 'FMR_CUSIP') else (select distinct iai.alternate_id from instrument_alternate_id iai, STG_TMP_MBS_POOL s where s.fi_instrument_id=iai.fi_instrument_id and iai.alternate_id_type_code IN ('FMR_CUSIP', 'CUSIP')) END;
[\code]update stg_tmp_mbs_pool s
set s.instrument_id = case when (select distinct iai.alternate_id
from instrument_alternate_id iai,
stg_tmp_mbs_pool s
where s.fi_instrument_id = iai.fi_instrument_id
and iai.alternate_id_type_code in ('FMR_CUSIP','CUSIP')
) > 1
then (select distinct iai.alternate_id
from instrument_alternate_id iai,
stg_tmp_mbs_pool s
where s.fi_instrument_id = iai.fi_instrument_id
and iai.alternate_id_type_code = 'FMR_CUSIP'
else (select distinct iai.alternate_id
from instrument_alternate_id iai,
stg_tmp_mbs_pool s
where s.fi_instrument_id = iai.fi_instrument_id
and iai.alternate_id_type_code in ('FMR_CUSIP','CUSIP')
end
Maybe
begin
update stg_tmp_mbs_pool s
set s.instrument_id = (select distinct iai.alternate_id
from instrument_alternate_id iai,
stg_tmp_mbs_pool s
where s.fi_instrument_id = iai.fi_instrument_id
and iai.alternate_id_type_code in ('FMR_CUSIP','CUSIP')
update stg_tmp_mbs_pool s
set s.instrument_id = (select distinct iai.alternate_id
from instrument_alternate_id iai,
stg_tmp_mbs_pool s
where s.fi_instrument_id = iai.fi_instrument_id
and iai.alternate_id_type_code = 'FMR_CUSIP'
where s.instrument_id > 1;
end;
Regards
Etbin -
I am unable to apply my downloaded update. When I try to apply it and restart firefox, it still says 'apply downloaded update now...'. Why can't I apply this update and what do I do about it?
Checked out that link and everything seems to be in order on this machine at this time.
I only have CC installed on this one machine, not even my secondary machine like is permitted. it seems odd that I'm asked to re-accept the Licence Agreement as often as I am. If I had to guess, it's almost every week, if not multiple times some weeks, that all the software will decide I should have to view the licence agreement.
Edit: I've never had any noticeable "errors" activating or anything like that. I just get asked to do it quite frequently.
This activation screen isn't too annoying (it involves clicking one single button), but like I stated earlier, if I'm trying to launch the software by double-clicking on a PSD, AI, PPROJ, AEP, etc... that file will fail to open.
I feel like that's probably not really a bug, but it is frustrating, since I did launch the application with the intent to edit that specific file I tried to open.
Again, something that you guys may consider working on.
Another annoyance is that: agreeing to the licence agreement is a per-application task, so if I see that Licence Agreement dialogue window by opening Photoshop (for example), I know that every other piece of software I have in the suite (Illustrator, Premiere, After Effects, Audition) will be showing me that screen on it's next launch. Probably deliberate for legal purposes that I can't just agree once for the whole suite, but heck, it would save me a lot of minor headaches if it was a unified agreement. -
We have an update query recently brought to my attention that is running extremely slow on Oracle 11.2.0.1 against a secure file binary XML table using
update /*+ NO_XML_DML_REWRITE */croutreach.action set object_value = :1 where actn_id = :2 .
I am told the majority/near majority of the ~ 16 fields are updated. Also this table has numerous predefined virtual columns with fn based indexes on them.
My first inclination was to recast this using the Oracle updatexml function. I was told, the /*+ NO_XML_DML_REWRITE */ hint would also be necessary here.
update /*+ NO_XML_DML_REWRITE */
<tble_name> a
set a.object_value = updatexml(a.object_value ...).
Last year our dba's were instructed by Oracle Support to use this hint, as the update wasn't updating any records w.o any error msgs.
+1. Hoping to find out if anyone has run across using this hint in some capacity and what was their experience?+
In trying to optimizie this update statement, I'll start from scratch not using the /*+ NO_XML_DML_REWRITE */ hint and will commence with using the updatexml function with setting up an xmlindex.
+2. Hoping to receive some suggestions on creating the proper xmlindex - figuring an unstructured index. If get some good performance with the xmlindex; hoping to retire some of the virtual column usage.+
+3. Any suggestions on living with virtual columns in conjunction with xmlindexes? See the action table definition and associated ivirtual columns and indexes. This table seems over indexed...+
REATE
TABLE "CROUTREACH"."ACTION" OF XMLTYPE
CONSTRAINT "ACTN_ID_PK" PRIMARY KEY ("ACTN_ID") USING INDEX PCTFREE 10
INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT
1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1
FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE
DEFAULT) TABLESPACE "ACME_DATA" ENABLE
XMLTYPE STORE AS SECUREFILE BINARY XML
TABLESPACE "ACME_DATA" ENABLE STORAGE IN ROW CHUNK 8192 CACHE READS LOGGING
NOCOMPRESS KEEP_DUPLICATES STORAGE(INITIAL 106496 NEXT 1048576 MINEXTENTS 1
MAXEXTENTS 2147483645 PCTINCREASE 0 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT)
ALLOW NONSCHEMA ALLOW ANYSCHEMA VIRTUAL COLUMNS
*"ACTION_DEF_URN"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/srvContextPointer/outreachActionDefInfo/@actionDefUrn
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(50))),
*"STAT_DT"* AS (SYS_EXTRACT_UTC(CAST(TO_TIMESTAMP_TZ(SYS_XQ_UPKXML2SQL(
SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/@status_dt'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2),'SYYYY-MM-DD"T"HH24:MI:SS.FFTZH:TZM') AS TIMESTAMP
WITH
TIME ZONE))),
*"ACT_DEF_ID"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/srvContextPointer/outreachActionDefInfo/@actionDefId'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(20))),
*"CORRL_ID"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/correlationId'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(50))),
*"STAT_RSN"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/statusReason'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(30))),
*"ACT_APPNT_DT"* AS (SYS_EXTRACT_UTC(CAST(TO_TIMESTAMP_TZ(SYS_XQ_UPKXML2SQL(
SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/actionAppointment/appointment_dt'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2),'SYYYY-MM-DD"T"HH24:MI:SS.FFTZH:TZM') AS TIMESTAMP
WITH
TIME ZONE))),
*"UPDT_DT"* AS (SYS_EXTRACT_UTC(CAST(TO_TIMESTAMP_TZ(SYS_XQ_UPKXML2SQL(
SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/@update_dt'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2),'SYYYY-MM-DD"T"HH24:MI:SS.FFTZH:TZM') AS TIMESTAMP
WITH
TIME ZONE))),
*"CRET_DT"* AS (SYS_EXTRACT_UTC(CAST(TO_TIMESTAMP_TZ(SYS_XQ_UPKXML2SQL(
SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/@create_dt'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2),'SYYYY-MM-DD"T"HH24:MI:SS.FFTZH:TZM') AS TIMESTAMP
WITH
TIME ZONE))),
*"ACT_SEQ"* AS (CAST(TO_NUMBER(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/srvContextPointer/outreachActionDefInfo/@sequence'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2)) AS NUMBER(10))),
*"SERVICE_DEF_URN"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03";
/action/srvContextPointer/serviceDefUrn'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(100))),
*"ASSIGN_TEAM_CD"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/assignment/@teamCategoryCode'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(50))),
*"ASSIGN_STAFF_ID"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
/action/assignment/staffProfileId'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(50))),
*"ACTION_TYPE"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03"; (::)
declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance"; (::)
local-name-from-QName(QName("http://www.cigna.com/acme/domains/actions/2010/03",/action/@xsi:type))
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(50))),
*"ACTN_ID"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03";/action/@id'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(50))),
*"STATUS"*AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03";/action/@status'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(20))),
*"ACME_MBR_ID"* AS (CAST(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(XMLQUERY(
'declare default element namespace "http://www.cigna.com/acme/domains/actions/2010/03";/action/acmeMemberId'
PASSING BY VALUE SYS_MAKEXML(128,"XMLDATA") RETURNING CONTENT ),0,0,
16777216,0),50,1,2) AS VARCHAR2(50)))
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0
FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
TABLESPACE "ACME_DATA" ;
CREATE UNIQUE INDEX *"CROUTREACH"."SYS_C0014547"* ON "CROUTREACH"."ACTION"
"SYS_NC_OID$"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0
FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
TABLESPACE "ACME_DATA" ;
CREATE UNIQUE INDEX *"CROUTREACH"."SYS_IL0000082156C00003$$"* ON "CROUTREACH".
"ACTION"
PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576
MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST
GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "ACME_DATA" PARALLEL (DEGREE 0 INSTANCES 0) ;
CREATE UNIQUE INDEX *"CROUTREACH"."ACTN_ID_PK"* ON "CROUTREACH"."ACTION" (
"ACTN_ID") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0
FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT) TABLESPACE "ACME_DATA" ;
CREATE
INDEX *"CROUTREACH"."ACTION_STAT_RSN_IDX"* ON "CROUTREACH"."ACTION"
"STAT_RSN"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE
0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
TABLESPACE "ACME_DATA" ;
CREATE
INDEX *"CROUTREACH"."ACTION_UPDT_DT_IDX"* ON "CROUTREACH"."ACTION"
"UPDT_DT"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE
0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
TABLESPACE "ACME_DATA" ;
CREATE
INDEX *"CROUTREACH"."ACTION_CRET_DT_IDX"* ON "CROUTREACH"."ACTION"
"CRET_DT"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE
0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
TABLESPACE "ACME_DATA" ;
CREATE
INDEX *"CROUTREACH"."ACTION_STAT_DT_IDX"* ON "CROUTREACH"."ACTION"
"STAT_DT"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE
0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
TABLESPACE "ACME_DATA" ;
CREATE
INDEX *"CROUTREACH"."ACTION_MBRID_TYP_STAT_IDX"* ON "CROUTREACH"."ACTION"
"ACME_MBR_ID",
"ACTION_TYPE",
"STATUS"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE
0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
TABLESPACE "ACME_DATA" ;
CREATE
INDEX *"CROUTREACH"."ACT_ACTDEF_URN_IDX"* ON "CROUTREACH"."ACTION"
"ACTION_DEF_URN"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE
0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
TABLESPACE "ACME_DATA" ;
CREATE
INDEX *"CROUTREACH"."ACTION_ACT_DEF_ID_STATUS_IDX"* ON "CROUTREACH"."ACTION"
"ACT_DEF_ID",
"STATUS"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE
0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
TABLESPACE "ACME_DATA" ;Any suggestions much appreciated.
Regards,
Richard Blanchardodie 63
update /*+ NO_XML_DML_REWRITE */croutreach.action set object_value = :1 where actn_id = :2 .
This update pattern is used in the production environment and is slowing the environment down as more xml content is increased. In a new release build, this update pattern against the action table described earlier, is particularly problematic.
Have some more information on the /*+ NO_XML_DML_REWRITE */ hint. It turns out, last year, updates statements would intermittently fail to correctly update silently failing. An Oracle Service Request was created. Over the span of about 5 mnths, Oracle determined a very low level Oracle kernel bug was the culprit. Oracle As a result of this SR, Oracle SUpport created BUG 11939507 <ORA-08102: index key not found during update on xmltable with a virtual column>. This bug is viewable on metalink. Oracle claims this bug has only been oberved on In the interim to 11.2.0.3, Oracle Support mentioned to use /*+ NO_XML_DML_REWRITE */; thus disabling piecewise update.
Here's preface information on this bug:
Bug 11939507: ORA-08102: INDEX KEY NOT FOUND DURING UPDATE ON XMLTABLE WITH VIRTUAL COLUMN
Bug Attributes
Type B - Defect Fixed in Product Version 12.1
Severity 2 - Severe Loss of Service Product Version 11.2.0.1
Status 80 - Development to Q/A Platform 23 - Oracle Solaris on SPARC (64-bit)
Created 30-Mar-2011 Platform Version 10
Updated 13-Feb-2012 Base Bug -
Database Version 11.2.0.1
Affects Platforms Generic
Product Source Oracle
Hdr: 11939507 11.2.0.1 XDB 11.2.0.1 BINARY PRODID-5 PORTID-23
Abstract: ORA-8102: INDEX KEY NOT FOUND DURING UPDATE ON XMLTABLE WITH VIRTUAL COLUMN*** 03/30/11 12:22 pm ***
BUG TYPE CHOSEN =============== code
Component: XML Database =======================
DETAILED PROBLEM DESCRIPTION ============================
The issue happens intermittently when running a batch program with 50 concurrent sessions that involves high concurrent updates.
DIAGNOSTIC ANALYSIS =================== reproducible testcase on customer dummy data reproduced by Thomas.
WORKAROUND? =========== No
TECHNICAL IMPACT ================ Customer is experiencing this error which is critical to the application because it causes a home health care provider to possibly lose a couple hours worth of work and have to start from scratch. The condition has only accessed concurrently from about 40 threads
RELATED ISSUES (bugs, forums, RFAs) =================================== Bug 8514561 - ORA-8102 WHEN UPDATING TABLE
HOW OFTEN DOES THE ISSUE REPRODUCE AT CUSTOMER SITE? ==================================================== Intermittent
DOES THE ISSUE REPRODUCE INTERNALLY? ==================================== Intermittent
IS A TESTCASE AVAILABLE? ======================== Yes The good news is, this bug is corrupting a virtual index column.
I'll try test cases using the update pattern; 'update /*+ NO_XML_DML_REWRITE */croutreach.action set object_value = :1 where actn_id = :2 ' - substituting actual values for the bind variables and removing interfering virtual columns. Wil lcompare with and w/o the hint.
This wil address your; "Where does the new values come from? Individual variables?" - and provide sample data.
Presently, this update pattern is used 'blindly' in that when no xml relevent changes are identified, only a couple of the roughly 16 fields are updated - yet the whole document gets updated with this update pattern. When changes occur, the whole document is updated. Will work with updating 1 or 2 fields using updatexml and try the xmlexists function for the predicate.
04/25/12 Update:
odie 63,
Here's a sample xml record from the action securefile binary xml table:
<?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?><action xsi:type="AssessmentActionType" status_dt="2012-01-18T19:38:21.077Z" status="not applicable" create_dt="2012-01-17T23:10:16.173Z" id="dfdfdfdfdfddfdfdfdfdfdf" xmlns:ns5="http://www.xxxxx.ddd/exception/definition/schema/2010/01" xmlns="http://www.xxxxxx.ddd/mmm/domains/actions/2010/03" xmlns:ns6="http://www.xxxxx.ddd/mmm/domains/utility/outcome/2010/03" xmlns:ns7="http://www.xxxxxx.ddd/mmm/domains/common/2010/03" xmlns:ns2="http://www.xxxxx.ddd/mmm/messages/actions/2010/03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://www.xxxxx.ddd/mmm/domains/workforce/2010/03" xmlns:ns4="http://www.xxxxxx.ddd/mmm/domains/entitlement/2011/11">
<acmeMemberId>abcdefghijklmnop</acmeMemberId>
<advocacyPlanId>qrstuvwxyz</advocacyPlanId>
<srvContextPointer>
<serviceDefUrn>urn:coderunner:Medical:Definition:ServiceService:11111:7</serviceDefUrn>
<outreachActionDefInfo sequence="1" actionDefUrn="urn:xxxxxxxxxx:Medical:Definition:Action:50813:2" actionDefId="xxxxxx">
<srvContextPath>Access Profile~Why did you access the profile?~Reason for access?</srvContextPath>
</outreachActionDefInfo>
</srvContextPointer>
</action>Started out using this update statement against the virtual column a.actn_id. This column is also indexed as a fbi.
UPDATE /*+ NO_XML_DML_REWRITE */ action A
SET A.object_value = updatexml(A.object_value,'/action/@status','triggered','xmlns="http://www.xxxx.vvv/yyy/domains/actions/2010/03"')
where a.actn_id='888a80be-d69f-464d-b3f7-85b6209f918e';
This statment updates fine with and w/o the hint. This hint takes away the piecewise update of the xml document and relies upon the a.actn_id virtual column.
Then removed the reliance on the virtual column using the xmlexists fn.
First did an alter index 'actn_id_pk invisible' to take the virtual column out of consideration by the optimizer.
UPDATE /*+ NO_XML_DML_REWRITE */ action A
SET A.object_value = updatexml(A.object_value,'/action/@status','triggered','xmlns="http://www.xxxx.vvv/yyy/domains/actions/2010/03"')
where xmlexists('$p/action[@id="'888a80be-d69f-464d-b3f7-85b6209f918e'"]' PASSING object_value as "p");
This update runs but doesn't update any columns - with or without the hint.
Also created a basic unstructured xmlindex to remove the full table scan - which worked fine execution plan-wise.
create index action_xmlindex_ix on action (object_value) indextype is xdb.xmlindex;Per the SR on this, the /*+ NO_XML_DML_REWRITE */ disables piecewise update and is a workaround for the bug surrounding virtual column index usage when having many concurrent sessions and updates against a table with millions of xml documents. Getting rid of the virtual column in the predicate removes the need for the workaround hint.
My problem is This update runs but doesn't update any columns. Maybe am missing something or doing a syntax/semantic error ?
Any assistance much appreciated...
Regards,
Rick Blanchard
Edited by: RickBlanchardSRSCigna on Apr 25, 2012 12:52 PM -
How can i improve a heavy weight query
i previously posted a question about a query someone else has written and i am now looking to rewrite to improve its timing.
this is the old query :
SELECT 0, 0, 0, 0, SUM(CAST(allowedHours AS number(20,0))) FROM tablex WHERE (forecastCode = 83 AND filesetId in (SELECT VAL FROM tabley WHERE QUERYID = '38ab814a7c465cf8_3afa60db_1134ddf8f6e_-7ff9' AND DATATYPE = 1) AND taskCode in (SELECT VAL FROM tabley WHERE QUERYID = '38ab814a7c465cf8_3afa60db_1134ddf8f6e_-7ff9' AND DATATYPE = 2) AND roleId in (SELECT VAL FROM tabley WHERE QUERYID = '38ab814a7c465cf8_3afa60db_1134ddf8f6e_-7ff9' AND DATATYPE = 3) AND ((weekstart BETWEEN 39171 AND 39534)))
which i have rewritten so far as :
SELECT 0, 0, 0, 0, SUM(CAST(TB1.ALLOWEDHOURS AS number(20,0))) "BEST RESULT" FROM TABLEOWNER.TABLEX TB1 WHERE TB1.FORECASTCODE = 83 AND EXISTS (SELECT TBQ.VAL FROM TABLEOWNER.TABLEY TBQ WHERE TBQ.QUERYID = 'v4eaeac2_-17d28fb6_1134e59b62b_-3xx9' AND TBQ.DATATYPE = 2 AND TBQ.VAL= TB1.TASKCODE) AND EXISTS ( SELECT TBQX.VAL FROM TABLEOWNER.TABLEY TBQX WHERE TBQX.QUERYID = 'v4eaeac2_-17d28fb6_1134e59b62b_-3xx9' AND TBQX.DATATYPE = 1 AND TBQX.VAL = TB1.FILESETID ) AND EXISTS (SELECT TBQY.VAL FROM TABLEOWNER.TABLEY TBQY WHERE TBQY.QUERYID = 'v4eaeac2_-17d28fb6_1134e59b62b_-3xx9' AND TBQY.DATATYPE = 3 AND TBQY.VAL = TB1.ROLEID) AND (TB1.WEEKSTART BETWEEN '39171' AND '39534') ;
this has given me a 70% reduction in the elapsed time of the query.
for the record :
TABLEX has 31,536,939 records, of which 15,001,043 are affected by the query.
and
TABLEY has 7,539 records.
in addition i created an index for the large table.
CREATE INDEX "TABLEOWNER"."TABLEX_IDX" ON "TABLEOWNER"."TABLEX" (FORECASTCODE, TASKCODE, FILESETID, ROLEID, WEEKSTART, ALLOWEDHOURS) TABLESPACE "BIGTABLES" PCTFREE 0 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 2048M NEXT 1024M BUFFER_POOL DEFAULT) LOGGING
the net result in the explain plan is :
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=13879 Card=1 Bytes=162)
1 0 SORT (AGGREGATE)
2 1 HASH JOIN (RIGHT SEMI) (Cost=13879 Card=348592 Bytes=56471904)
3 2 TABLE ACCESS (FULL) OF 'TABLEY' (TABLE) (Cost=21 Card=503 Bytes=23641)
4 2 HASH JOIN (RIGHT SEMI) (Cost=13851 Card=352423 Bytes=40528645)
5 4 TABLE ACCESS (FULL) OF 'TABLEY' (TABLE) (Cost=21 Card=503 Bytes=23641)
6 4 HASH JOIN (Cost=13807 Card=1276364 Bytes=86792752)
7 6 SORT (UNIQUE) (Cost=21 Card=503 Bytes=23641)
8 7 TABLE ACCESS (FULL) OF 'TABLEY' (TABLE) (Cost=21 Card=503 Bytes=23641)
9 6 INDEX (FAST FULL SCAN) OF 'TABLEX' (INDEX) (Cost=13523 Card=15182009 Bytes=318822189)
Statistics
64 recursive calls
0 db block gets
58781 consistent gets
1713 physical reads
0 redo size
643 bytes sent via SQL*Net to client
504 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
1 rows processed
MY QUESTION. is there anything else i can do to optimize this query. before you say, add an index for TABLEY, don't because this was not as fast as the full table scan, using an index only gave 22% improvement.
finally, i also analyzed the tables before hand.
many thanks in advancePlease post the explain plan and tkprof as described [url http://forums.oracle.com/forums/thread.jspa?threadID=501834&tstart=0]here. Also please make sure you use the tags [pre] and [/pre]!.
Regards,
Rob. -
Can not execute a simple update query with ms access
Hi
I am trying to execute a simple update query , this is the code I am running : I get no exeptions but the db is not being updated .
When I copy my query into access it works !
The table / columns are spelled correctly and I am able to execute select queries.
can anyone figure out what is going on
Thanks shahar
public static void main(String[] args) {
MainManager mainManager = MainManager.getInstance();
Log log = Log.getInstance();
try {
log.writeDebugMessage("befor executing query");
//stmt.executeUpdate("update trainee set Trainee_Name = 'shahar&Rafi' where Trainee_Id = 1 ");
//stmt = null ;
PreparedStatement stmt1 = con.prepareStatement("UPDATE Trainee SET Trainee_Name =? WHERE Trainee_Id =?");
String name = new String("Shahar&Rafi");
int Id = 1 ;
stmt1.setString(1,name);
stmt1.setInt(2,Id);
System.out.println(stmt1.toString());
stmt1.execute();
log.writeDebugMessage("After executing query");
catch (SQLException e ){
System.err.println("SQLException: " + e.getMessage());
}Hi All,
got the problem solved at last.
first, in the SQL string all the values must be within " ' "
for example:
INSERT INTO Trainee(Trainee_Id , Trainee_password , Trainee_Address, Trainee_Name , Trainee_Phone , Trainee_Gender , Trainee_SessionTime , Trainee_Purpose , Trainee_HealthStatus , Trainee_StartDate , Trainee_Birthday) VALUES (6,'333','hhhh','rafi',048231821,true,63,4,true, ('Feb 22, 2002'), ('Feb 22, 2002'))
second and more important,
a 'dummy' sql select query must be performed after an update query
example for code:
try{
DB.MainManager.getInstance().ExecuteUpdateQuery(A);
DB.MainManager.getInstance().getStatement().executeQuery("SELECT * FROM Trainee");
where A is the update query. -
How can i improve a performence of query
How can i improve performence of query which not having the where clause for a table
whenever the query have the where clause then only it can use the indexes
otherwise how it can use the index eventhough we create the index of that table columns. -
Why can't I download this update AirPort Base Station Firmware Update 7.6.4
I have version 6.3.1 for an Airport Extreme and I was not able to download this update AirPort Base Station Firmware Update 7.6.4 Why what is the problem ?
Running OS X .7.5 Lion on a Mac Pro 1,1 software update will not find it either.Hello,
Would you minds sharing what you did to be able to dowload the 7.6.4 firmware update? Greatly appreciated.
Thank you! -
Is this update query is possible
update b set b.[NetSales] = b.[NetSales] - sum(a.[Amount Including VAT]) from [Sales_Cube_Source].[dbo].[Sales Cr_Memo Line] as a
join [FactNetSales_Salesperson1] as b on a.[Sell-to Customer No_] collate SQL_Latin1_General_CP1_CI_AS=b.[Customer]
join [Sales_Cube_Source].[dbo].[Item] as c on b.[Division]=c.[Global Dimension 1 Code]
group by a.[Sell-to Customer No_]it should be this
update b
set b.[NetSales] = b.[NetSales] - a.TotalVATAmount
from (
select [Sell-to Customer No_] ,
sum([Amount Including VAT]) AS TotalVATAmount
FROM [Sales_Cube_Source].[dbo].[Sales Cr_Memo Line]
GROUP BY [Sell-to Customer No_]
)as a
join [FactNetSales_Salesperson1] as b
on a.[Sell-to Customer No_] collate SQL_Latin1_General_CP1_CI_AS=b.[Customer]
join [Sales_Cube_Source].[dbo].[Item] as c on b.[Division]=c.[Global Dimension 1 Code]
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
XDCAM EX / DVD How Can I Improve on this?
Well, hindsight's 20/20 and if I was starting a new project I wouldn't start from where I am now.
But the ugly fact remains, I have a project shot on an EX1 - currently on my timeline as stunning footage but as you may have read elswhere, I'm horrified by the resulting DVD.
The footage is for a sheepdog training DVD - and not helped by the shiny steel fencing +(sheep hurdles)+. Ironically, they are available in back +(if only)+.
Funds are severely limited but I'm willing to invest in a Mac Pro, Capture Card, and maybe even a (SDI-IN) VTR if it will definitely help improve on the quality of this +(10.6 Mb)+ m2v:
http://www.workingsheepdog.co.uk/video/080710Ray6-ExpTest-12s18fr.m2v
This is the best I have managed to achieve using Compressor +(and I must have tried just about every setting possible)+. If you think it looks OK, try viewing it on DVD!
The original +(52.9 Mb)+ XDCAM EX file is here:
http://www.workingsheepdog.co.uk/video/080710Ray6-ExpTest-12s18fr.mov
If anyone feels inclined to run that file through a downconvert process and let me know if +(and how)+ their results show any improvement, I would be most grateful.This is an example of what I get with the first link (both just clicking on it or downloading it)...
@3|#!µŠµ#B¸-!@ÿøµÿóQ€ù™ )² x¼ùoóå›Ð «ÔÄ.n””Ì0 €Ã“ ²@.%$å\JA0šlX``jI¸–Y3¤”‚Ñ‚ZòÁ¡£pÄ>s¹ÎÜqö `€tÔD2`É„ €À €U� dÄ$˜€Ð� ¢k%”övÉ$ßIh±»êŸ|HQç°°ê£ß! dPah-)åCJJ &€€†€ÀJ `0L!“]) BS™*Up@ý@A’’PJ!¤…’MI{äÀe¸Ñ¸0n-#K Vß1ºÂ˜©gÀN€‰…”B< Ñ4‡ƒ¦&ÃX5(- á¹|caˆŒ·‚蘄€NM(4`P˜LHdÂÿO!’Ë@Î3”LNÌ…ò ›¨ûkjؽª?®‚耀^œ¬ @§ †œÔâø€¡@SŸÒé(¤‡º ü x@@û@°`¨Ð`$ ‚X† Hd %€€ „* H1 ¼…ù5òRBÛò¯¢¤ö¨¢÷cOÎ})ID-¶ïŒøqÎzê,Û!É+„[RxIéám2@©5'–X~X¤ô°ue€bŒvþ£ÂI€OL’ɘ .ÛI÷Ï€Ÿ-y,0 .nPûL2v[0 ÿ3jŠŒC!`?°x•T„öÖ¤÷ôŽ ÍóÀ'N3ª<…•€þ� ,®n·Óvš@`à~”Çã*.j€þ†Á‰7],²f /0| @v¿ø™¤âyÅà ;,õ˜p°9Qó˜¬lZ1·I T5'§Ä–'Âãƒ2tp€òøåQ� ÙXë¸rÀ%H_¦&—€J¿Ü à ;à<'t have (and in the middle of ongoing workloads, am unwilling to try)
Can you let us know which component is required? (might be available on Leopard/FCS2, but I'm on Tiger/FCS1)
Again, hopefully others will chime in with beneficial insights.
K
EDIT - I'm guessing the XDCam EX format has something to do with the QT component I don't have.
BTW, our neighbors have a Border Collie...great dog...and fast. Cute puppies.
Message was edited by: Kevan D. Holdsworth -
How can i improve on this join clause
I have a table like this
desc work_table2
WORK_TABLE2_ID NOT NULL NUMBER
APPLICATION_ID NUMBER
APPLICATION_VERSION NUMBER
JOB_ID NUMBER
CUSTOMER_ID NUMBER
ATTRIBUTE_ID NUMBER
TEMPLATE_ID NUMBER
DISTRICT_ID NUMBER
SCHOOL_OID VARCHAR2(32)
PERSON_OID VARCHAR2(32)
CREATE_DATETIME DATE
SCHEMA_NAME VARCHAR2(32)
TABLE_NAME VARCHAR2(32)
COLUMN_NAME VARCHAR2(32)
ROW_ID NUMBER
VALUE VARCHAR2(100)
ACTION VARCHAR2(15)
CIA_VERSION NOT NULL NUMBER
SUB_ROW_ID NUMBER(9)
This is table from which I will be inserting data into other tables. Some sort of standby data table.
Data in this table comes in column format which i
convert into a row. i.e for 1 row in the target table comprises of 10 columns
then i get 10 different rows for that in work_table2
The important columns here are table_name, column_name, value which gives me
the table in which i have to insert the values, the columns of the table & the required values.
I create views out of this table so i can directly insert into the destination tables from
the views. The tables to insert into reside in another schema.
Apart from these columns I also require the job_id, customer_id, action column
which are part of the tables i am going to insert into but will not come from the
column_name column of the work_table2 but do come as separate columns in work_table2
For every row to be inserted into the table i take row_id as the separator and
use it in my join clause
In some cases i get the same row_id for two different rows so i use sub_row_id to get individual rows.
In some cases it is quite possible that i may not get data for few of the columns of the target table. In that case I have I have to show null values in the empty columns
Here is the query i use to create the view. Actually i have created a view generator
PLSQL code which automatically creates views for all the tables.
Though this query gives me the desired output I am very scared looking at the join clause
Could you suggest a better way to get the output
CREATE OR REPLACE VIEW CDL_BELLPERIODMASTER
( OID, CUSTOMER_ID, ORGUNIT_OID, BELLPERIODSET_OID, PERIOD_NUMBER,
SHORT_LABEL, NAME, DESCRIPTION, BEGIN_TIME,
END_TIME, CREATEDBY_OID, CREATEDATE, UPDATEDATE,
ORIGINTYPECD_OID, OWNER_ORGUNIT_OID, CREATE_BY, UPDATE_BY,
UPDATE_DATE, YEAR_TAGGED, APPLICATION_VERSION, INACTIVESTATUS,
ISDELETED, JOB_ID, ACTION )
AS
SELECT OID.value,CUSTOMER_ID.value,ORGUNIT_OID.value,BELLPERIODSET_OID.value,
PERIOD_NUMBER.value,SHORT_LABEL.value,NAME.value,DESCRIPTION.value,
BEGIN_TIME.value,END_TIME.value,CREATEDBY_OID.value,CREATEDATE.value,
UPDATEDATE.value,ORIGINTYPECD_OID.value,OWNER_ORGUNIT_OID.value,
CREATE_BY.value,UPDATE_BY.value,UPDATE_DATE.value,
YEAR_TAGGED.value,APPLICATION_VERSION.value,INACTIVESTATUS.value,
ISDELETED.value,jobs.job_id, act. action
FROM
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='OID') OID,
(SELECT TO_NUMBER(VALUE) value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='CUSTOMER_ID') CUSTOMER_ID,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='ORGUNIT_OID') ORGUNIT_OID,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='BELLPERIODSET_OID')
BELLPERIODSET_OID,
(SELECT TO_NUMBER(VALUE) value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='PERIOD_NUMBER')
PERIOD_NUMBER,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='SHORT_LABEL') SHORT_LABEL,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='NAME') NAME,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='DESCRIPTION') DESCRIPTION,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='BEGIN_TIME') BEGIN_TIME,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='END_TIME') END_TIME,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='CREATEDBY_OID') CREATEDBY_OID,
(SELECT TO_DATE(VALUE,'DD-MON-RRRR') value , row_id, job_id, sub_row_id
FROM work_table2 WHERE table_name='WSF_BELLPERIODMASTER' and
column_name ='CREATEDATE') CREATEDATE,
(SELECT TO_DATE(VALUE,'DD-MON-RRRR') value , row_id, job_id, sub_row_id
FROM work_table2 WHERE table_name='WSF_BELLPERIODMASTER'
and column_name ='UPDATEDATE') UPDATEDATE,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='ORIGINTYPECD_OID')
ORIGINTYPECD_OID,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='OWNER_ORGUNIT_OID')
OWNER_ORGUNIT_OID,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2 WHERE
table_name='WSF_BELLPERIODMASTER' and column_name ='CREATE_BY') CREATE_BY,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='UPDATE_BY') UPDATE_BY,
(SELECT TO_DATE(VALUE,'DD-MON-RRRR') value , row_id, job_id, sub_row_id
FROM work_table2 WHERE table_name='WSF_BELLPERIODMASTER' and
column_name ='UPDATE_DATE') UPDATE_DATE,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='YEAR_TAGGED') YEAR_TAGGED,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='APPLICATION_VERSION')
APPLICATION_VERSION,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='INACTIVESTATUS')
INACTIVESTATUS,
(SELECT value , row_id, job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' and column_name ='ISDELETED') ISDELETED,
(SELECT decode(upper(ACTION),'W','U',ACTION) action ,row_id, job_id, sub_row_id
FROM work_table2 WHERE table_name='WSF_BELLPERIODMASTER' AND column_name='OID' ) ACT,
(SELECT row_id , job_id, sub_row_id FROM work_table2
WHERE table_name='WSF_BELLPERIODMASTER' AND column_name='OID' ) JOBS
where
OID.job_id=CUSTOMER_ID.job_id(+) and
OID.job_id=ORGUNIT_OID.job_id(+) and
OID.job_id=BELLPERIODSET_OID.job_id(+) and
OID.job_id=PERIOD_NUMBER.job_id(+) and
OID.job_id=SHORT_LABEL.job_id(+) and
OID.job_id=NAME.job_id(+) and
OID.job_id=DESCRIPTION.job_id(+) and
OID.job_id=BEGIN_TIME.job_id(+) and
OID.job_id=END_TIME.job_id(+) and
OID.job_id=CREATEDBY_OID.job_id(+) and
OID.job_id=CREATEDATE.job_id(+) and
OID.job_id=UPDATEDATE.job_id(+) and
OID.job_id=ORIGINTYPECD_OID.job_id(+) and
OID.job_id=OWNER_ORGUNIT_OID.job_id(+) and
OID.job_id=CREATE_BY.job_id(+) and
OID.job_id=UPDATE_BY.job_id(+) and
OID.job_id=UPDATE_DATE.job_id(+) and
OID.job_id=YEAR_TAGGED.job_id(+) and
OID.job_id=APPLICATION_VERSION.job_id(+) and
OID.job_id=INACTIVESTATUS.job_id(+) and
OID.job_id=ISDELETED.job_id(+) and
OID.job_id= ACT.job_id(+) and
OID.job_id = JOBS.job_id(+) and
OID.row_id=CUSTOMER_ID.row_id(+) and
OID.row_id=ORGUNIT_OID.row_id(+) and
OID.row_id=BELLPERIODSET_OID.row_id(+) and
OID.row_id=PERIOD_NUMBER.row_id(+) and
OID.row_id=SHORT_LABEL.row_id(+) and
OID.row_id=NAME.row_id(+) and
OID.row_id=DESCRIPTION.row_id(+) and
OID.row_id=BEGIN_TIME.row_id(+) and
OID.row_id=END_TIME.row_id(+) and
OID.row_id=CREATEDBY_OID.row_id(+) and
OID.row_id=CREATEDATE.row_id(+) and
OID.row_id=UPDATEDATE.row_id(+) and
OID.row_id=ORIGINTYPECD_OID.row_id(+) and
OID.row_id=OWNER_ORGUNIT_OID.row_id(+) and
OID.row_id=CREATE_BY.row_id(+) and
OID.row_id=UPDATE_BY.row_id(+) and
OID.row_id=UPDATE_DATE.row_id(+) and
OID.row_id=YEAR_TAGGED.row_id(+) and
OID.row_id=APPLICATION_VERSION.row_id(+) and
OID.row_id=INACTIVESTATUS.row_id(+) and
OID.row_id=ISDELETED.row_id(+) and
OID.row_id= ACT.row_id(+) and
OID.row_id = JOBS.row_id(+) and
OID.sub_row_id=CUSTOMER_ID.sub_row_id(+) and
OID.sub_row_id=ORGUNIT_OID.sub_row_id(+) and
OID.sub_row_id=BELLPERIODSET_OID.sub_row_id(+) and
OID.sub_row_id=PERIOD_NUMBER.sub_row_id(+) and
OID.sub_row_id=SHORT_LABEL.sub_row_id(+) and
OID.sub_row_id=NAME.sub_row_id(+) and
OID.sub_row_id=DESCRIPTION.sub_row_id(+) and
OID.sub_row_id=BEGIN_TIME.sub_row_id(+) and
OID.sub_row_id=END_TIME.sub_row_id(+) and
OID.sub_row_id=CREATEDBY_OID.sub_row_id(+) and
OID.sub_row_id=CREATEDATE.sub_row_id(+) and
OID.sub_row_id=UPDATEDATE.sub_row_id(+) and
OID.sub_row_id=ORIGINTYPECD_OID.sub_row_id(+) and
OID.sub_row_id=OWNER_ORGUNIT_OID.sub_row_id(+) and
OID.sub_row_id=CREATE_BY.sub_row_id(+) and
OID.sub_row_id=UPDATE_BY.sub_row_id(+) and
OID.sub_row_id=UPDATE_DATE.sub_row_id(+) and
OID.sub_row_id=YEAR_TAGGED.sub_row_id(+) and
OID.sub_row_id=APPLICATION_VERSION.sub_row_id(+) and
OID.sub_row_id=INACTIVESTATUS.sub_row_id(+) and
OID.sub_row_id=ISDELETED.sub_row_id(+) and
OID.sub_row_id= ACT.sub_row_id(+) and
OID.sub_row_id = JOBS.sub_row_id(+)
RgrdsTry to use this sample.
create or replace view v
as
select dept.deptno deptcode, dept.dname deptname, sal amount
from emp, dept
where emp.deptno = dept.deptno
select decode( grouping(rownum), 1, to_number(NULL), deptcode ) deptcode,
deptname || decode( grouping(rownum), 1, ' total amount' ) deptname,
sum(amount),
grouping(deptcode) g1, grouping(deptname) g2, grouping(rownum)
from v
group by rollup(deptcode,deptname,rownum)
having (grouping(deptcode) = 0 and
grouping(deptname) = 0 and
grouping(rownum)=0)
OR (grouping(deptcode) = 0 and
grouping(deptname) = 0 and
grouping(rownum)=1) -
HT201365 Can I turn off this update. I can't see the new lighter colors.
Can I uninstall this new update? I cannot see the new lighter colors.
Hi Hazel,
From what I have read here it is not possible to downgrade - I wish it was!!!
Some replies say that people should have researched what iOS7 would look like before upgrading but to be honest I just did not believe that it could be as bad as it turned out to be.
I have sent feedback to Apple here and would encourage you to do the same - they need to know how difficult it is now the visual contrasts are so poor:
http://www.apple.com/feedback/iphone.html
If you go to Settings -> General -> "Accessibility" it helps a little to do this:
Larger type: ON
Bold text: ON
Increase Contrast: ON
I found that the "Invert Colors" option did not help as it made many controls even more difficult to see!
I have never had to use the Accessibility settings before - the design of iOS7 is a wonderful if unwelcome illustration of the Social Model of Disability in action! Apple used to excel at accessible design. The difference between iOS7 and all previous versions illustrates perfectly that bad design is disabling! -
HT201070 how can I stop getting this update for "Ditigal camera RAW"?
how can I stop getting the upgrade for ditigal camera RAW on my iMac?
Morgan R wrote:
See this thread about disable specific software update in Mountain Lion.
There is some confusion about how to apply the method in the replies to that topic. A somewhat easier to understand explanation is at http://www.macobserver.com/tmo/article/hide-a-software-update-in-os-x-mountain-l ion, among other places on the web.
Note that you may need to click on the "more" item to see individual system software updates.
That said, the others are right: the RAW format updates are tiny & it is hardly worth the effort to hide them or to worry about the disk space they use. -
After updating my Apple TV, it will no longer load movies from my iTunes library. Music works, but no movies. I've turned this puppy every which way but loose, but no joy. Is there a way to roll back an update?
Greetings,
I've never seen this issue, and I handle many iPads, of all versions. WiFi issues are generally local to the WiFi router - they are not all of the same quality, range, immunity to interference, etc. You have distance, building construction, and the biggie - interference.
At home, I use Apple routers, and have no issues with any of my WiFi enabled devices, computers, mobile devices, etc - even the lowly PeeCees. I have locations where I have Juniper Networks, as well as Aruba, and a few Netgears - all of them work as they should.
The cheaper routers, Linksys, D-Link, Seimens home units, and many other no name devices have caused issues of various kinds, and even connectivity.
I have no idea what Starbucks uses, but I always have a good connection, and I go there nearly every morning and get some work done, as well as play.
You could try changing channels, 2.4 to 5 Gigs, changing locations of the router. I have had to do all of these at one time or another over the many years that I have been a Network Engineer.
Good Luck - Cheers,
M. -
Hi
Can any body send valid update query like this:
<sql:update var="XX">
Update emp set name='yy', phone='1234' where id='abc'
</sql:update>
Thanks in Advance
SPHi
Can any body send valid update query like this:
<sql:update var="XX">
Update emp set name='yy', phone='1234' where id='abc'
</sql:update>
Thanks in Advance
SP
Maybe you are looking for
-
InDesign refuses to import Word doc
Hello. Ran into a strange one today. I have 27 word docs to assemble into a book. Most of them import (Command "D") perfectly. But 6 of the docs have an end note styled into a table. When i import these i get the import options box but when i'm fi
-
Pdf with table of contents from a Pages file
I discovered in a pdf file sent to me that it has a table of contents in the sidebar where thumbnails, and annotations also reside. When I create a pdf from my pages document this is not available. In the table of contents sidebar are the words 'No S
-
Can I install CS5 (education version) in my 2nd computer?
I've installed CS5 (education version) in my desktop PC and recently bought a notebook. I want to install the CS5 in my notebook as well. Is it OK with my license?
-
Dear All, Till yesterday we were having around 100 concurrent portal users and portal was running fine, as sson as the user base went to 300 the portal started giving 500 internal server error. Our basis persons optimised the R/3 and set max users to
-
Capture Yes or No event from Adobe Air Installer
Hi, I am new to Flex. I need to capture the yes or no event from the AIR installer. I am insatlling adobe air through my application. If user clicks yes or no of the adobe air insatller i need to cpature the event.Is it possible. Regards, Jayago