Thanks Tom
ravs, May 30, 2006 - 11:48 pm UTC
Dear Tom,
As you have pointed out
1)I have verified the fact that parallel processing is taking place. i see 20 process p000 to p019 running and each process executing a statement like this.
SELECT /*+ Q147000 NO_EXPAND ROWID(A1) */ A1."OBJID",A1."TITLE",A1."S_TITLE",A1."ID_NUMBER",A1."CREATION_TIME",A1."INTERNAL_CASE",A1."HANGUP_TIME",A1."ALT_PHONE_NUM",A1."PHONE_NUM",A1."PICKUP_EXT",A1."CASE_HISTORY",A1."TOPICS_TITLE",A1."YANK_FLAG",A1."SERVER_STATUS",A1."SUPPORT_TYPE",A1."WARRANTY_FLAG",A1."SUPPORT_MSG",A1."ALT_FIRST_NAME",A1."ALT_LAST_NAME",A1."ALT_FAX_NUMBER",A1."ALT_E_MAIL",A1."ALT_SITE_NAME",A1."ALT_ADDRESS",A1."ALT_CITY",A1."ALT_STATE",A1."ALT_ZIPCODE",A1."FCS_CC_NOTIFY",A1."SYMPTOM_CODE",A1."CURE_CODE",A1."SITE_TIME",A1."ALT_PROD_SERIAL",A1."MSG_WAIT_COUNT",A1."REPLY_WAIT_COUNT",A1."REPLY_STATE",A1."OPER_SYSTEM",A1."CASE_SUP_TYPE",A1."PAYMENT_METHOD",A1."REF_NUMBER",A1."DOA_CHECK_BOX",A1."CUSTOMER_SATIS",A1."CUSTOMER_CODE",A1."SERVICE_ID",A1."ALT_PHONE",A1."FORWARD_CHECK",A1."CCLIST1",A1."CCLIST2",A1."KEYWORDS",A1."OWNERSHIP_STMP",A1."MODIFY_STMP",A1."DIST",A1."ARCH_IND",A1."IS_SUPERCASE",A1."DEV",A1."X_FAULTTOCSS",A1."X_FAULT_REP_ORIG",A1."X_SPECIAL_NOTE",A1."X_FAULT_LOC_CODE",A1."X_CUST_ADV_CLEAR",A1."X_OST_DURATION",A1."X_CUST_ADV_TIME",A1."X_RESTORE_TIME",A1."X_RESP_TIME",A1."X_REPORT_TIME",A1."X_STAGE",A1."X_ESC_LEVEL",A1."X_WM_STATUS",A1."X_REFUND_DUE",A1."X_TOTAL_JEOPARDY",A1."X_STAGE_JEOPARDY",A1."X_FAULT_CODE",A1."X_WORKMANAGER_DATA",A1."X_CLEAR_DETAILS",A1."X_FAULT_TYPE",A1."X_CLEAR_DESC",A1."X_FAILURE_ANALYSIS",A1."X_OST_RESPONSE",A1."X_OST_RESTORE",A1."X_OST_CLEAR",A1."X_CUST_CONTACT_PERMISSION",A1."X_NON_LIVE_FLAG",A1."X_CLK_RESTORE",A1."X_CLK_CLEAR",A1."X_CLK_RESPONSE",A1."X_CASE_TOTAL_JEOPARDY",A1."X_CASE_TOTAL_FAILURE",A1."X_CASE_STAGE_JEOPARDY",A1."X_CASE_STAGE_FAILURE",A1."X_CASE_TARGET_TIME",A1."X_STAGE_TARGET_TIME",A1."X_CASE_JEOPARDY_TIME",A1."X_STAGE_JEOPARDY_TIME",A1."X_UNPARK_TIME",A1."CASE_SOLN2WORKAROUND",A1."CASE_PREVQ2QUEUE",A1."CASE_CURRQ2QUEUE",A1."CASE_WIP2WIPBIN",A1."CASE_LOGIC2PROG_LOGIC",A1."CASE_OWNER2USER",A1."CASE_STATE2CONDITION",A1."CASE_ORIGINATOR2USER",A1."CASE_EMPL2EMPLOYEE",A1."CALLTYPE2GBST_ELM",A1."RESPPRTY2GBST_ELM",A1."RESPSVRTY2GBST_ELM",A1."CASE_PROD2SITE_PART",A1."CASE_REPORTER2SITE",A1."CASE_REPORTER2CONTACT",A1."ENTITLEMENT2CONTRACT",A1."CASESTS2GBST_ELM",A1."CASE_RIP2RIPBIN",A1."COVRD_PPI2SITE_PART",A1."CASE_DISTR2SITE",A1."CASE2ADDRESS",A1."CASE_NODE2SITE_PART",A1."DE_PRODUCT2SITE_PART",A1."CASE_PRT2PART_INFO",A1."DE_PRT2PART_INFO",A1."ALT_CONTACT2CONTACT",A1."TASK2OPPORTUNITY",A1."CASE2LIFE_CYCLE",A1."CASE_VICTIM2CASE",A1."ENTITLE2CONTR_ITM",A1."X_OWNED_AT2WORKGROUP",A1."X_CUST_HANDLING2WORKGROUP",A1."X_THIRD_CONTACT2CONTACT",A1."X_CASE2OST",A1."X_FLT_FRP2USER_DATA_ELM",A1."X_RECEP_FRP2USER_DATA_ELM",A1."X_MSF_CASE2NFM_TROUBLE_TICKET",A1."X_ECO_CASE_ID",A1."X_CASE2REASONCODE",A1."X_EXT_CASE_ID",A1."X_EXT_SYS_ID",A1."X_PROC_NET_UPDATE",A1."X_LLU_FLAG" FROM "xxxx"."TABLE_xxxx" PX_GRANULE(0, BLOCK_RANGE, DYNAMIC) A1
2) i am the only person using the test and no other processes are running except my process.
This the original table structure.
CREATE TABLE TABLE_XXXX
(
OBJID NUMBER,
TITLE VARCHAR2(80 BYTE),
S_TITLE VARCHAR2(80 BYTE),
ID_NUMBER VARCHAR2(255 BYTE),
CREATION_TIME DATE,
INTERNAL_CASE NUMBER,
HANGUP_TIME DATE,
ALT_PHONE_NUM VARCHAR2(20 BYTE),
PHONE_NUM VARCHAR2(20 BYTE),
PICKUP_EXT VARCHAR2(8 BYTE),
CASE_HISTORY LONG,
TOPICS_TITLE VARCHAR2(255 BYTE),
YANK_FLAG NUMBER,
SERVER_STATUS VARCHAR2(2 BYTE),
SUPPORT_TYPE VARCHAR2(2 BYTE),
WARRANTY_FLAG VARCHAR2(2 BYTE),
SUPPORT_MSG VARCHAR2(80 BYTE),
ALT_FIRST_NAME VARCHAR2(30 BYTE),
ALT_LAST_NAME VARCHAR2(30 BYTE),
ALT_FAX_NUMBER VARCHAR2(20 BYTE),
ALT_E_MAIL VARCHAR2(80 BYTE),
ALT_SITE_NAME VARCHAR2(80 BYTE),
ALT_ADDRESS VARCHAR2(200 BYTE),
ALT_CITY VARCHAR2(30 BYTE),
ALT_STATE VARCHAR2(30 BYTE),
ALT_ZIPCODE VARCHAR2(20 BYTE),
FCS_CC_NOTIFY NUMBER,
SYMPTOM_CODE VARCHAR2(10 BYTE),
CURE_CODE VARCHAR2(10 BYTE),
SITE_TIME DATE,
ALT_PROD_SERIAL VARCHAR2(30 BYTE),
MSG_WAIT_COUNT NUMBER,
REPLY_WAIT_COUNT NUMBER,
REPLY_STATE NUMBER,
OPER_SYSTEM VARCHAR2(20 BYTE),
CASE_SUP_TYPE VARCHAR2(2 BYTE),
PAYMENT_METHOD VARCHAR2(30 BYTE),
REF_NUMBER VARCHAR2(80 BYTE),
DOA_CHECK_BOX NUMBER,
CUSTOMER_SATIS NUMBER,
CUSTOMER_CODE VARCHAR2(20 BYTE),
SERVICE_ID VARCHAR2(30 BYTE),
ALT_PHONE VARCHAR2(20 BYTE),
FORWARD_CHECK NUMBER,
CCLIST1 VARCHAR2(255 BYTE),
CCLIST2 VARCHAR2(255 BYTE),
KEYWORDS VARCHAR2(255 BYTE),
OWNERSHIP_STMP DATE,
MODIFY_STMP DATE,
DIST NUMBER,
ARCH_IND NUMBER,
IS_SUPERCASE NUMBER,
DEV NUMBER,
X_FAULTTOCSS VARCHAR2(1 BYTE),
X_FAULT_REP_ORIG VARCHAR2(1 BYTE),
X_SPECIAL_NOTE VARCHAR2(80 BYTE),
X_FAULT_LOC_CODE VARCHAR2(2 BYTE),
X_CUST_ADV_CLEAR VARCHAR2(1 BYTE),
X_OST_DURATION NUMBER,
X_CUST_ADV_TIME DATE,
X_RESTORE_TIME DATE,
X_RESP_TIME DATE,
X_REPORT_TIME DATE,
X_STAGE VARCHAR2(30 BYTE),
X_ESC_LEVEL VARCHAR2(2 BYTE),
X_WM_STATUS VARCHAR2(3 BYTE),
X_REFUND_DUE VARCHAR2(1 BYTE),
X_TOTAL_JEOPARDY VARCHAR2(2 BYTE),
X_STAGE_JEOPARDY VARCHAR2(2 BYTE),
X_FAULT_CODE VARCHAR2(2 BYTE),
X_WORKMANAGER_DATA VARCHAR2(255 BYTE),
X_CLEAR_DETAILS VARCHAR2(2 BYTE),
X_FAULT_TYPE VARCHAR2(2 BYTE),
X_CLEAR_DESC VARCHAR2(21 BYTE),
X_FAILURE_ANALYSIS VARCHAR2(3 BYTE),
X_OST_RESPONSE NUMBER,
X_OST_RESTORE NUMBER,
X_OST_CLEAR NUMBER,
X_CUST_CONTACT_PERMISSION NUMBER,
X_NON_LIVE_FLAG NUMBER,
X_CLK_RESTORE NUMBER,
X_CLK_CLEAR NUMBER,
X_CLK_RESPONSE NUMBER,
X_CASE_TOTAL_JEOPARDY NUMBER,
X_CASE_TOTAL_FAILURE NUMBER,
X_CASE_STAGE_JEOPARDY NUMBER,
X_CASE_STAGE_FAILURE NUMBER,
X_CASE_TARGET_TIME DATE,
X_STAGE_TARGET_TIME DATE,
X_CASE_JEOPARDY_TIME DATE,
X_STAGE_JEOPARDY_TIME DATE,
X_UNPARK_TIME DATE,
CASE_SOLN2WORKAROUND NUMBER,
CASE_PREVQ2QUEUE NUMBER,
CASE_CURRQ2QUEUE NUMBER,
CASE_WIP2WIPBIN NUMBER,
CASE_LOGIC2PROG_LOGIC NUMBER,
CASE_OWNER2USER NUMBER,
CASE_STATE2CONDITION NUMBER,
CASE_ORIGINATOR2USER NUMBER,
CASE_EMPL2EMPLOYEE NUMBER,
CALLTYPE2GBST_ELM NUMBER,
RESPPRTY2GBST_ELM NUMBER,
RESPSVRTY2GBST_ELM NUMBER,
CASE_PROD2SITE_PART NUMBER,
CASE_REPORTER2SITE NUMBER,
CASE_REPORTER2CONTACT NUMBER,
ENTITLEMENT2CONTRACT NUMBER,
CASESTS2GBST_ELM NUMBER,
CASE_RIP2RIPBIN NUMBER,
COVRD_PPI2SITE_PART NUMBER,
CASE_DISTR2SITE NUMBER,
CASE2ADDRESS NUMBER,
CASE_NODE2SITE_PART NUMBER,
DE_PRODUCT2SITE_PART NUMBER,
CASE_PRT2PART_INFO NUMBER,
DE_PRT2PART_INFO NUMBER,
ALT_CONTACT2CONTACT NUMBER,
TASK2OPPORTUNITY NUMBER,
CASE2LIFE_CYCLE NUMBER,
CASE_VICTIM2CASE NUMBER,
ENTITLE2CONTR_ITM NUMBER,
X_OWNED_AT2WORKGROUP NUMBER,
X_CUST_HANDLING2WORKGROUP NUMBER,
X_THIRD_CONTACT2CONTACT NUMBER,
X_CASE2OST NUMBER,
X_FLT_FRP2USER_DATA_ELM NUMBER,
X_RECEP_FRP2USER_DATA_ELM NUMBER,
X_MSF_CASE2NFM_TROUBLE_TICKET NUMBER,
X_ECO_CASE_ID VARCHAR2(22 BYTE),
X_CASE2REASONCODE NUMBER,
X_EXT_CASE_ID VARCHAR2(22 BYTE),
X_EXT_SYS_ID VARCHAR2(7 BYTE),
X_PROC_NET_UPDATE NUMBER,
X_LLU_FLAG VARCHAR2(1 BYTE)
);
This has around 2M records
I know the longs should be at the end. But this is a product and the table strucutre was created by the vendor like this. all X_columns are customized columns(not in the product). I cannot partition the table because the product doesn't support partitioned tables.
As i mentioned in my earlier postings i tried three options.
1) Alter table table_xxxx modify (case_history clob default empty_clob()) which was never completed.
2) The second approach i have used is
CREATE TABLE TABLE_XXXX_T
(
OBJID NUMBER,
TITLE VARCHAR2(80 BYTE),
S_TITLE VARCHAR2(80 BYTE),
ID_NUMBER VARCHAR2(255 BYTE),
CREATION_TIME DATE,
INTERNAL_CASE NUMBER,
HANGUP_TIME DATE,
ALT_PHONE_NUM VARCHAR2(20 BYTE),
PHONE_NUM VARCHAR2(20 BYTE),
PICKUP_EXT VARCHAR2(8 BYTE),
CASE_HISTORY CLOB DEFAULT EMPTY_CLOB(),
TOPICS_TITLE VARCHAR2(255 BYTE),
YANK_FLAG NUMBER,
SERVER_STATUS VARCHAR2(2 BYTE),
SUPPORT_TYPE VARCHAR2(2 BYTE),
WARRANTY_FLAG VARCHAR2(2 BYTE),
SUPPORT_MSG VARCHAR2(80 BYTE),
ALT_FIRST_NAME VARCHAR2(30 BYTE),
ALT_LAST_NAME VARCHAR2(30 BYTE),
ALT_FAX_NUMBER VARCHAR2(20 BYTE),
ALT_E_MAIL VARCHAR2(80 BYTE),
ALT_SITE_NAME VARCHAR2(80 BYTE),
ALT_ADDRESS VARCHAR2(200 BYTE),
ALT_CITY VARCHAR2(30 BYTE),
ALT_STATE VARCHAR2(30 BYTE),
ALT_ZIPCODE VARCHAR2(20 BYTE),
FCS_CC_NOTIFY NUMBER,
SYMPTOM_CODE VARCHAR2(10 BYTE),
CURE_CODE VARCHAR2(10 BYTE),
SITE_TIME DATE,
ALT_PROD_SERIAL VARCHAR2(30 BYTE),
MSG_WAIT_COUNT NUMBER,
REPLY_WAIT_COUNT NUMBER,
REPLY_STATE NUMBER,
OPER_SYSTEM VARCHAR2(20 BYTE),
CASE_SUP_TYPE VARCHAR2(2 BYTE),
PAYMENT_METHOD VARCHAR2(30 BYTE),
REF_NUMBER VARCHAR2(80 BYTE),
DOA_CHECK_BOX NUMBER,
CUSTOMER_SATIS NUMBER,
CUSTOMER_CODE VARCHAR2(20 BYTE),
SERVICE_ID VARCHAR2(30 BYTE),
ALT_PHONE VARCHAR2(20 BYTE),
FORWARD_CHECK NUMBER,
CCLIST1 VARCHAR2(255 BYTE),
CCLIST2 VARCHAR2(255 BYTE),
KEYWORDS VARCHAR2(255 BYTE),
OWNERSHIP_STMP DATE,
MODIFY_STMP DATE,
DIST NUMBER,
ARCH_IND NUMBER,
IS_SUPERCASE NUMBER,
DEV NUMBER,
X_FAULTTOCSS VARCHAR2(1 BYTE),
X_FAULT_REP_ORIG VARCHAR2(1 BYTE),
X_SPECIAL_NOTE VARCHAR2(80 BYTE),
X_FAULT_LOC_CODE VARCHAR2(2 BYTE),
X_CUST_ADV_CLEAR VARCHAR2(1 BYTE),
X_OST_DURATION NUMBER,
X_CUST_ADV_TIME DATE,
X_RESTORE_TIME DATE,
X_RESP_TIME DATE,
X_REPORT_TIME DATE,
X_STAGE VARCHAR2(30 BYTE),
X_ESC_LEVEL VARCHAR2(2 BYTE),
X_WM_STATUS VARCHAR2(3 BYTE),
X_REFUND_DUE VARCHAR2(1 BYTE),
X_TOTAL_JEOPARDY VARCHAR2(2 BYTE),
X_STAGE_JEOPARDY VARCHAR2(2 BYTE),
X_FAULT_CODE VARCHAR2(2 BYTE),
X_WORKMANAGER_DATA VARCHAR2(255 BYTE),
X_CLEAR_DETAILS VARCHAR2(2 BYTE),
X_FAULT_TYPE VARCHAR2(2 BYTE),
X_CLEAR_DESC VARCHAR2(21 BYTE),
X_FAILURE_ANALYSIS VARCHAR2(3 BYTE),
X_OST_RESPONSE NUMBER,
X_OST_RESTORE NUMBER,
X_OST_CLEAR NUMBER,
X_CUST_CONTACT_PERMISSION NUMBER,
X_NON_LIVE_FLAG NUMBER,
X_CLK_RESTORE NUMBER,
X_CLK_CLEAR NUMBER,
X_CLK_RESPONSE NUMBER,
X_CASE_TOTAL_JEOPARDY NUMBER,
X_CASE_TOTAL_FAILURE NUMBER,
X_CASE_STAGE_JEOPARDY NUMBER,
X_CASE_STAGE_FAILURE NUMBER,
X_CASE_TARGET_TIME DATE,
X_STAGE_TARGET_TIME DATE,
X_CASE_JEOPARDY_TIME DATE,
X_STAGE_JEOPARDY_TIME DATE,
X_UNPARK_TIME DATE,
CASE_SOLN2WORKAROUND NUMBER,
CASE_PREVQ2QUEUE NUMBER,
CASE_CURRQ2QUEUE NUMBER,
CASE_WIP2WIPBIN NUMBER,
CASE_LOGIC2PROG_LOGIC NUMBER,
CASE_OWNER2USER NUMBER,
CASE_STATE2CONDITION NUMBER,
CASE_ORIGINATOR2USER NUMBER,
CASE_EMPL2EMPLOYEE NUMBER,
CALLTYPE2GBST_ELM NUMBER,
RESPPRTY2GBST_ELM NUMBER,
RESPSVRTY2GBST_ELM NUMBER,
CASE_PROD2SITE_PART NUMBER,
CASE_REPORTER2SITE NUMBER,
CASE_REPORTER2CONTACT NUMBER,
ENTITLEMENT2CONTRACT NUMBER,
CASESTS2GBST_ELM NUMBER,
CASE_RIP2RIPBIN NUMBER,
COVRD_PPI2SITE_PART NUMBER,
CASE_DISTR2SITE NUMBER,
CASE2ADDRESS NUMBER,
CASE_NODE2SITE_PART NUMBER,
DE_PRODUCT2SITE_PART NUMBER,
CASE_PRT2PART_INFO NUMBER,
DE_PRT2PART_INFO NUMBER,
ALT_CONTACT2CONTACT NUMBER,
TASK2OPPORTUNITY NUMBER,
CASE2LIFE_CYCLE NUMBER,
CASE_VICTIM2CASE NUMBER,
ENTITLE2CONTR_ITM NUMBER,
X_OWNED_AT2WORKGROUP NUMBER,
X_CUST_HANDLING2WORKGROUP NUMBER,
X_THIRD_CONTACT2CONTACT NUMBER,
X_CASE2OST NUMBER,
X_FLT_FRP2USER_DATA_ELM NUMBER,
X_RECEP_FRP2USER_DATA_ELM NUMBER,
X_MSF_CASE2NFM_TROUBLE_TICKET NUMBER,
X_ECO_CASE_ID VARCHAR2(22 BYTE),
X_CASE2REASONCODE NUMBER,
X_EXT_CASE_ID VARCHAR2(22 BYTE),
X_EXT_SYS_ID VARCHAR2(7 BYTE),
X_PROC_NET_UPDATE NUMBER,
X_LLU_FLAG VARCHAR2(1 BYTE)
)
and then
#!/bin/ksh
sqlplus -S xxx/xxxxxxx <<EPF
ALTER SESSION ENABLE PARALLEL DML;
insert /*+ append */ into table_xxxx_t
select
/*+ parallel(x 20) */
x.objid,x.title ,x.s_title,x.id_number,x.creation_time,x.internal_case,x.hangup_time,
x.alt_phone_num,x.phone_num,x.pickup_ext,to_lob(x.case_history) case_history,x.topics_title,
x.yank_flag,x.server_status,x.support_type,x.warranty_flag,x.support_msg,
x.alt_first_name,x.alt_last_name,x.alt_fax_number,x.alt_e_mail,x.alt_site_name,x.alt_address,x.alt_city,
x.alt_state,x.alt_zipcode,x.fcs_cc_notify,x.symptom_code,x.cure_code,x.site_time,
x.alt_prod_serial,x.msg_wait_count,x.reply_wait_count,x.reply_state,x.oper_system,x.case_sup_type,
x.payment_method,x.ref_number,x.doa_check_box,x.customer_satis,x.customer_code,x.service_id,
x.alt_phone,x.forward_check,x.cclist1,x.cclist2,x.keywords,x. ownership_stmp,x.modify_stmp,x.dist,
x.arch_ind,x.is_supercase,x.dev,x.x_faulttocss,x.x_fault_rep_orig,x.x_special_note,x.x_fault_loc_code,
x.x_cust_adv_clear,x.x_ost_duration,x.x_cust_adv_time,x.x_restore_time,x.x_resp_time,x.x_report_time,
x.x_stage,x.x_esc_level,x.x_wm_status,x.x_refund_due,x.x_total_jeopardy,x.x_stage_jeopardy,
x.x_fault_code,x.x_workmanager_data,x.x_clear_details,x.x_fault_type,x.x_clear_desc,
x.x_failure_analysis,x.x_ost_response,x.x_ost_restore,x.x_ost_clear,x.x_cust_contact_permission,
x.x_non_live_flag,x.x_clk_restore,x.x_clk_clear,x.x_clk_response,x.x_case_total_jeopardy,x.x_case_total_failure,
x.x_case_stage_jeopardy,x.x_case_stage_failure,x.x_case_target_time,x.x_stage_target_time,
x.x_case_jeopardy_time,x.x_stage_jeopardy_time,x.x_unpark_time,x.case_soln2workaround,
x.case_prevq2queue,x.case_currq2queue,x.case_wip2wipbin,x.case_logic2prog_logic,
x.case_owner2user,x.case_state2condition,x.case_originator2user,x.case_empl2employee,
x.calltype2gbst_elm,x.respprty2gbst_elm,x.respsvrty2gbst_elm,x.case_prod2site_part,
x.case_reporter2site,x.case_reporter2contact,x.entitlement2contract,x.casests2gbst_elm,
x.case_rip2ripbin,x.covrd_ppi2site_part,x.case_distr2site,x.case2address,x.case_node2site_part,
x.de_product2site_part,x.case_prt2part_info,x.de_prt2part_info,x.alt_contact2contact,x.task2opportunity,
x.case2life_cycle,x.case_victim2case,x.entitle2contr_itm,x.x_owned_at2workgroup,
x.x_cust_handling2workgroup,x.x_third_contact2contact,x.x_case2ost,x.x_flt_frp2user_data_elm,
x.x_recep_frp2user_data_elm,x.x_msf_case2nfm_trouble_ticket,x.x_eco_case_id ,
x.x_case2reasoncode,x.x_ext_case_id,x.x_ext_sys_id,x.x_proc_net_update,x.x_llu_flag
from table_xxxx x
;
commit;
alter session disable parallel dml ;
exit;
EPF
i am running the above script in background
3) This is the ctas option i am using
i have set the parallel_automatic_tuning=true in the init.ora. though i am explicitly specifying the number of parallel processes
select name,value from v$parameter where name ;
= 'parallel_automatic_tuning'
NAME VALUE
parallel_automatic_tuning TRUE
create table table_xxxx_t
tablespace data06
as
select /*+ parallel(t 20) */
objid,title ,s_title,id_number,creation_time,internal_case,hangup_time,
alt_phone_num,phone_num,pickup_ext,TO_LOB(case_history),topics_title,
yank_flag,server_status,support_type,warranty_flag,support_msg,
alt_first_name,alt_last_name,alt_fax_number,alt_e_mail,alt_site_name,alt_address,
alt_city,alt_state,alt_zipcode, fcs_cc_notify,symptom_code,cure_code,site_time,
alt_prod_serial,msg_wait_count,reply_wait_count,reply_state,oper_system,case_sup_type,
payment_method,ref_number,doa_check_box,customer_satis,customer_code,service_id,
alt_phone,forward_check,cclist1,cclist2,keywords, ownership_stmp,modify_stmp,dist,
arch_ind,is_supercase,dev,x_faulttocss,x_fault_rep_orig,x_special_note,x_fault_loc_code,
x_cust_adv_clear,x_ost_duration,x_cust_adv_time,x_restore_time,x_resp_time,x_report_time,
x_stage,x_esc_level,x_wm_status,x_refund_due,x_total_jeopardy,x_stage_jeopardy,
x_fault_code,x_workmanager_data,x_clear_details,x_fault_type,x_clear_desc,
x_failure_analysis,x_ost_response,x_ost_restore,x_ost_clear,x_cust_contact_permission,
x_non_live_flag,x_clk_restore,x_clk_clear,x_clk_response,x_case_total_jeopardy,x_case_total_failure,
x_case_stage_jeopardy,x_case_stage_failure,x_case_target_time,x_stage_target_time,
x_case_jeopardy_time,x_stage_jeopardy_time,x_unpark_time,case_soln2workaround,
case_prevq2queue,case_currq2queue,case_wip2wipbin,case_logic2prog_logic,
case_owner2user,case_state2condition,case_originator2user,case_empl2employee,
calltype2gbst_elm,respprty2gbst_elm,respsvrty2gbst_elm,case_prod2site_part,
case_reporter2site,case_reporter2contact,entitlement2contract,casests2gbst_elm,
case_rip2ripbin,covrd_ppi2site_part,
case_distr2site,case2address,case_node2site_part,de_product2site_part,
case_prt2part_info,de_prt2part_info,alt_contact2contact,task2opportunity,
case2life_cycle,case_victim2case,entitle2contr_itm,x_owned_at2workgroup,
x_cust_handling2workgroup,x_third_contact2contact,x_case2ost,x_flt_frp2user_data_elm,
x_recep_frp2user_data_elm,x_msf_case2nfm_trouble_ticket,x_eco_case_id ,
x_case2reasoncode,x_ext_case_id,x_ext_sys_id,x_proc_net_update,x_llu_flag
from table_xxxx t
;
some longs have data around 2500bytes and other longs are real longs with data more thant 6000bytes.
other significant waits for insert/*+ append */ parallel which i am testing currently are (thoug they are called idle events)
a) PX Deq Credit: send blkd waiting for 136205.68secs.
b) PX Deq Credit: need buffer 106.99 secs.
please suggest Tom
- Many thanks
ravi
May 31, 2006 - 8:54 am UTC
you say "other significant", what are THE significant.
The only thing I can think here is that you have totally insufficient IO to accomplish this in your allocated timeframe.
You might consider using dbms_redefinition to online redefine this if down time it to be avoided.
Do you have 10 cpus (you are running parallel 20), do you have sufficient IO for 20 processes to all concurrently READ and WRITE without stomping eachother.
Perhaps your root cause problem here is "too much parallel".
do you have a REAL grasp of the length of the longs, information such as
"some longs have data around 2500bytes" - is very vague (some = 1 or 10000000?)
"other longs ... with data more than 6000bytes" - even more vague, (other=1 or 100000, more than 6000 implies what? 1m, 1gig???)
Long to Clob
ravs, June 19, 2006 - 11:56 pm UTC
Here is the complete tracefile output Tom.
TKPROF: Release 9.2.0.4.0 - Production on Mon Jun 19 08:38:27 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Trace file: xxxxx_ora_7891.trc
Sort options: default
********************************************************************************
count = number of times OCI procedure was executed
cpu = cpu time in seconds executing
elapsed = elapsed time in seconds executing
disk = number of physical reads of buffers from disk
query = number of buffers gotten for consistent read
current = number of buffers gotten in current mode (usually for update)
rows = number of rows processed by the fetch or execute call
********************************************************************************
INSERT /*+ append */ INTO table_xxx2
SELECT
objid
,title
,s_title
,id_number
,creation_time
,internal_case
,hangup_time
,alt_phone_num
,phone_num
,pickup_ext
,to_lob(case_history) case_history
,topics_title
,yank_flag
,server_status
,support_type
,warranty_flag
,support_msg
,alt_first_name
,alt_last_name
,alt_fax_number
,alt_e_mail
,alt_site_name
,alt_address
,alt_city
,alt_state
,alt_zipcode
,fcs_cc_notify
,symptom_code
,cure_code
,site_time
,alt_prod_serial
,msg_wait_count
,reply_wait_count
,reply_state
,oper_system
,case_sup_type
,payment_method
,ref_number
,doa_check_box
,customer_satis
,customer_code
,service_id
,alt_phone
,forward_check
,cclist1
,cclist2
,keywords
,ownership_stmp
,modify_stmp
,dist
,arch_ind
,is_supercase
,dev
,x_faulttocss
,x_fault_rep_orig
,x_special_note
,x_fault_loc_code
,x_cust_adv_clear
,x_ost_duration
,x_cust_adv_time
,x_restore_time
,x_resp_time
,x_report_time
,x_stage
,x_esc_level
,x_wm_status
,x_refund_due
,x_total_jeopardy
,x_stage_jeopardy
,x_fault_code
,x_workmanager_data
,x_clear_details
,x_fault_type
,x_clear_desc
,x_failure_analysis
,x_ost_response
,x_ost_restore
,x_ost_clear
,x_cust_contact_permission
,x_non_live_flag
,x_clk_restore
,x_clk_clear
,x_clk_response
,x_case_total_jeopardy
,x_case_total_failure
,x_case_stage_jeopardy
,x_case_stage_failure
,x_case_target_time
,x_stage_target_time
,x_case_jeopardy_time
,x_stage_jeopardy_time
,x_unpark_time
,case_soln2workaround
,case_prevq2queue
,case_currq2queue
,case_wip2wipbin
,case_logic2prog_logic
,case_owner2user
,case_state2condition
,case_originator2user
,case_empl2employee
,calltype2gbst_elm
,respprty2gbst_elm
,respsvrty2gbst_elm
,case_prod2site_part
,case_reporter2site
,case_reporter2contact
,entitlement2contract
,casests2gbst_elm
,case_rip2ripbin
,covrd_ppi2site_part
,case_distr2site
,case2address
,case_node2site_part
,de_product2site_part
,case_prt2part_info
,de_prt2part_info
,alt_contact2contact
,task2opportunity
,case2life_cycle
,case_victim2case
,entitle2contr_itm
,x_owned_at2workgroup
,x_cust_handling2workgroup
,x_third_contact2contact
,x_case2ost
,x_flt_frp2user_data_elm
,x_recep_frp2user_data_elm
,x_msf_case2nfm_trouble_ticket
,x_eco_case_id
,x_case2reasoncode
,x_ext_case_id
,x_ext_sys_id
,x_proc_net_update
,x_llu_flag
from table_ORIG
where rowid in (select id from table_xxx_obj where objid between 271035866 and 281035866)
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 0 0.00 0.00 0 0 0 0
Execute 1 145373.06 142671.84 1686304 2542654 1702034 295150
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 1 145373.06 142671.84 1686304 2542654 1702034 295150
Misses in library cache during parse: 0
Misses in library cache during execute: 1
Optimizer goal: CHOOSE
Parsing user id: 24 (xxx)
Rows Execution Plan
------- ---------------------------------------------------
0 INSERT STATEMENT GOAL: CHOOSE
0 LOAD AS SELECT
0 HASH JOIN
0 SORT (UNIQUE)
0 TABLE ACCESS (FULL) OF 'TABLE_xxx_OBJ'
0 TABLE ACCESS GOAL: ANALYZED (FULL) OF 'TABLE_ORIG'
********************************************************************************
commit
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 2 0
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.00 0.00 0 0 2 0
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 24 (xxx)
********************************************************************************
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 2 145373.06 142671.84 1686304 2542654 1702036 295150
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 145373.06 142671.84 1686304 2542654 1702036 295150
Misses in library cache during parse: 1
Misses in library cache during execute: 1
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 12 0.01 0.01 0 0 0 0
Execute 12 0.02 0.01 0 16 18 9
Fetch 23 0.00 0.00 0 44 0 21
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 47 0.03 0.03 0 60 18 30
Misses in library cache during parse: 5
2 user SQL statements in session.
12 internal SQL statements in session.
14 SQL statements in session.
1 statement EXPLAINed in this session.
********************************************************************************
Trace file: space1_ora_7891.trc
Trace file compatibility: 9.00.01
Sort options: default
1 session in tracefile.
2 user SQL statements in trace file.
12 internal SQL statements in trace file.
14 SQL statements in trace file.
7 unique SQL statements in trace file.
1 SQL statements EXPLAINed using schema:
xxx.prof$plan_table
Default table was used.
Table was created.
Table was dropped.
296 lines in trace file.
please note that there are no indexes on either tables. only statistics are available.
i have first upgrade the db from 8i to 9.2.0.4 and trying to convert long to clob
- Thanks in advance
June 20, 2006 - 9:43 am UTC
sigh, you didn't answer my question at all.
and the trace is virtually useless. since the cursors were not closed, the rows columns never got filled in. and statistics_level wasn't set...
I was hoping for a trace that would show this (note: we don't need a really long insert two times on the same page...)
insert /*+ append */ into t select * from scott.emp
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.07 0 4 7 14
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.00 0.07 0 4 7 14
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 66
Rows Row Source Operation
------- ---------------------------------------------------
1 LOAD AS SELECT (cr=4 r=0 w=1 time=60205 us)
14 TABLE ACCESS FULL EMP (cr=3 r=0 w=0 time=262 us)