In order to query a lot of data at once this data needs to reside in the database in a relational form. I will list the program used to populate this data
I used the following set of tables and sequences to place my trace file data in:
CREATE SEQUENCE "TRACESCHEMA"."BIND_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 254821 CACHE 20 NOORDER NOCYCLE ;
CREATE SEQUENCE "TRACESCHEMA"."CURSOR_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 177561 CACHE 20 NOORDER NOCYCLE ;
CREATE SEQUENCE "TRACESCHEMA"."EXECUTION_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 256101 CACHE 20 NOORDER NOCYCLE ;
CREATE SEQUENCE "TRACESCHEMA"."FETCH_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 344701 CACHE 20 NOORDER NOCYCLE ;
CREATE SEQUENCE "TRACESCHEMA"."PARSE_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 168741 CACHE 20 NOORDER NOCYCLE ;
CREATE SEQUENCE "TRACESCHEMA"."STAT_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 811201 CACHE 20 NOORDER NOCYCLE ;
CREATE SEQUENCE "TRACESCHEMA"."TRACE_FILE_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 1081 CACHE 20 NOORDER NOCYCLE ;
CREATE SEQUENCE "TRACESCHEMA"."WAIT_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 785461 CACHE 20 NOORDER NOCYCLE ;
CREATE SEQUENCE "TRACESCHEMA"."WHR_CLS_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 33001 CACHE 20 NOORDER NOCYCLE ;
CREATE SEQUENCE "TRACESCHEMA"."BIND_ID_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 33001 CACHE 20 NOORDER NOCYCLE ;
CREATE TABLE "TRACESCHEMA"."TRACE_FILE"
( "ID" NUMBER(20,0),
"FILE_NAME" VARCHAR2(1000 BYTE),
"BATCH_ID" VARCHAR2(200 BYTE),
"HEADER_DATE" TIMESTAMP (6),
CONSTRAINT "TRACE_FILES_PK" PRIMARY KEY ("ID")
USING INDEX 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)
TABLESPACE "DATA01" ENABLE
) 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)
TABLESPACE "DATA01" ;
CREATE OR REPLACE TRIGGER "TRACESCHEMA"."TRACE_FILE_T1"
before insert on trace_file
for each row
begin
select trace_file_seq.nextval into :new.id from dual;
-- select sysdate into :new.header_date from dual;
end;
/
ALTER TRIGGER "TRACESCHEMA"."TRACE_FILE_T1" ENABLE;
CREATE TABLE CURSOR
(
ID NUMBER(20, 0) NOT NULL,
FILE_ID NUMBER(20, 0),
IDENT NUMBER(20, 0),
LEN NUMBER,
DEP NUMBER,
USERID NUMBER,
OCT NUMBER,
LID NUMBER,
TIM NUMBER,
HV NUMBER,
AD VARCHAR2(200 BYTE),
STATEMENT CLOB,
TIMESTMP TIMESTAMP(6)
, CONSTRAINT CURSOR_PK PRIMARY KEY
(
ID
)
ENABLE
)
TABLESPACE "DATA01"
LOGGING
PCTFREE 10
PCTUSED 40
INITRANS 1
MAXTRANS 255
STORAGE
(
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
LOB (STATEMENT) STORE AS SYS_LOB0000093561C00012$$
(
ENABLE STORAGE IN ROW
CHUNK 8192
PCTVERSION 10
NOCACHE LOGGING
TABLESPACE DATA01
STORAGE
(
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS 2147483645
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
)
;
ALTER TABLE CURSOR
ADD CONSTRAINT CURSOR_TRACE_FK1 FOREIGN KEY
(
FILE_ID
)
REFERENCES TRACE_FILE
(
ID
) ENABLE
;
CREATE TABLE "TRACESCHEMA"."EXECUTION"
( "ID" NUMBER(20,0),
"CURSOR_ID" NUMBER(20,0),
"IDENT" NUMBER,
"C" NUMBER,
"E" NUMBER,
"P" NUMBER,
"CR" NUMBER,
"CU" NUMBER,
"MIS" NUMBER,
"R" NUMBER,
"DEP" NUMBER,
"OG" NUMBER,
"TIM" NUMBER,
"TIMESTMP" TIMESTAMP (6),
"BIND_ID" NUMBER,
CONSTRAINT "EXECUTION_PK" PRIMARY KEY ("ID")
USING INDEX 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)
TABLESPACE "DATA01" ENABLE,
CONSTRAINT "EXEC_CURSOR_FK1" FOREIGN KEY ("CURSOR_ID")
REFERENCES "TRACESCHEMA"."CURSOR" ("ID") ENABLE
) 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)
TABLESPACE "DATA01" ;
CREATE OR REPLACE TRIGGER "TRACESCHEMA"."EXECUTION_T1"
before insert on execution
for each row
begin
select execution_seq.nextval into :new.id from dual;
end;
/
ALTER TRIGGER "TRACESCHEMA"."EXECUTION_T1" ENABLE;
CREATE TABLE "TRACESCHEMA"."FETCH"
( "ID" NUMBER(20,0),
"CURSOR_ID" NUMBER(20,0),
"EXECUTION_ID" NUMBER(20,0),
"IDENT" NUMBER,
"C" NUMBER,
"E" NUMBER,
"P" NUMBER,
"CR" NUMBER,
"CU" NUMBER,
"MIS" NUMBER,
"R" NUMBER,
"DEP" NUMBER,
"OG" NUMBER,
"TIM" NUMBER,
"TIMESTMP" TIMESTAMP (6),
CONSTRAINT "FETCH_PK" PRIMARY KEY ("ID")
USING INDEX 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)
TABLESPACE "DATA01" ENABLE,
CONSTRAINT "FETCH_CURSOR_FK1" FOREIGN KEY ("CURSOR_ID")
REFERENCES "TRACESCHEMA"."CURSOR" ("ID") ENABLE,
CONSTRAINT "FETCH_EXEC_FK1" FOREIGN KEY ("EXECUTION_ID")
REFERENCES "TRACESCHEMA"."EXECUTION" ("ID") ENABLE
) 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)
TABLESPACE "DATA01" ;
CREATE OR REPLACE TRIGGER "TRACESCHEMA"."FETCH_T1"
before insert on fetch
for each row
begin
select fetch_seq.nextval into :new.id from dual;
end;
/
ALTER TRIGGER "TRACESCHEMA"."FETCH_T1" ENABLE;
CREATE TABLE "TRACESCHEMA"."PARSE"
( "ID" NUMBER(20,0),
"CURSOR_ID" NUMBER(20,0),
"IDENT" NUMBER,
"C" NUMBER,
"E" NUMBER,
"P" NUMBER,
"CR" NUMBER,
"CU" NUMBER,
"MIS" NUMBER,
"R" NUMBER,
"DEP" NUMBER,
"OG" NUMBER,
"TIM" NUMBER,
"TIMESTMP" TIMESTAMP (6),
CONSTRAINT "PARSE_PK" PRIMARY KEY ("ID")
USING INDEX 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)
TABLESPACE "DATA01" ENABLE,
CONSTRAINT "PARSE_CURSOR_FK1" FOREIGN KEY ("CURSOR_ID")
REFERENCES "TRACESCHEMA"."CURSOR" ("ID") ENABLE
) 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)
TABLESPACE "DATA01" ;
CREATE OR REPLACE TRIGGER "TRACESCHEMA"."PARSE_T1"
before insert on parse
for each row
begin
select parse_seq.nextval into :new.id from dual;
end;
/
ALTER TRIGGER "TRACESCHEMA"."PARSE_T1" ENABLE;
CREATE TABLE "TRACESCHEMA"."STAT"
( "ID" NUMBER(20,0),
"CURSOR_ID" NUMBER(20,0),
"EXECUTION_ID" NUMBER(20,0),
"IDENT" NUMBER,
"ID1" NUMBER,
"CNT" NUMBER,
"PID" NUMBER,
"POS" NUMBER,
"OBJ" NUMBER,
"OP" VARCHAR2(2000 BYTE),
CONSTRAINT "STAT_PK" PRIMARY KEY ("ID")
USING INDEX 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)
TABLESPACE "DATA01" ENABLE,
CONSTRAINT "STAT_CURSOR_FK1" FOREIGN KEY ("CURSOR_ID")
REFERENCES "TRACESCHEMA"."CURSOR" ("ID") ENABLE,
CONSTRAINT "STAT_EXEC_FK2" FOREIGN KEY ("EXECUTION_ID")
REFERENCES "TRACESCHEMA"."EXECUTION" ("ID") ENABLE
) 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)
TABLESPACE "DATA01" ;
CREATE OR REPLACE TRIGGER "TRACESCHEMA"."STAT_T1"
before insert on stat
for each row
begin
select stat_seq.nextval into :new.id from dual;
end;
/
ALTER TRIGGER "TRACESCHEMA"."STAT_T1" ENABLE;
CREATE TABLE "TRACESCHEMA"."WAIT"
( "ID" NUMBER(20,0),
"EXECUTE_ID" NUMBER(20,0),
"CURSOR_ID" NUMBER(20,0),
"NAM" VARCHAR2(2000 BYTE),
"IDENT" NUMBER,
"ELA" NUMBER,
"ID1" NUMBER,
"BYTES" NUMBER,
"P3" NUMBER,
"OBJ" NUMBER,
"TIM" NUMBER,
"TIMESTMP" TIMESTAMP (6),
CONSTRAINT "WAIT_PK" PRIMARY KEY ("ID")
USING INDEX 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)
TABLESPACE "DATA01" ENABLE,
CONSTRAINT "WAIT_CURSOR_FK2" FOREIGN KEY ("CURSOR_ID")
REFERENCES "TRACESCHEMA"."CURSOR" ("ID") ENABLE
) 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)
TABLESPACE "DATA01" ;
CREATE OR REPLACE TRIGGER "TRACESCHEMA"."WAIT_T1"
before insert on wait
for each row
begin
select wait_seq.nextval into :new.id from dual;
end;
/
ALTER TRIGGER "TRACESCHEMA"."WAIT_T1" ENABLE;
My next post will contain the program used to populate these tables.
Thursday, January 8, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment