21
Partition Creation Creating SQL Tuning Set for Partition: Step -1: Give the name of the Tunning Set and Owner Name and Click Next. Step -2 : Load Method in this page we need to select data source in this example we have selected the value cursor cache and click next.

Partition Creation

Embed Size (px)

DESCRIPTION

This document will help you to create a partition using 12C OEM.

Citation preview

Page 1: Partition Creation

Partition Creation

Creating SQL Tuning Set for Partition:

Step -1:

Give the name of the Tunning Set and Owner Name and Click Next.

Step -2 :

Load Method in this page we need to select data source in this example we have selected the value cursor cache and click next.

Page 2: Partition Creation

Step -3:

In the filter option page we need to select the filter option . Here we choose the sql_id for the filtering option once you done press Next.

Step -4:

Schedule the job and press next.

Page 3: Partition Creation

Step -5 :

Review page we can see all our setting and our sql once your reviewed everything press submit.

Step – 6:

After we gave the submit we will get the conformation message and given tuning set will be available for access.

Page 4: Partition Creation

Step – 7:

Complete detail of the newly created tuning set.

Running the SQL Access Advisor:

Step -1

Select the database which you want to create the partition. Here we have chosen the CCOREUPG Database.

Page 5: Partition Creation

Step -2:

Select the performance -> sql -> sql access advisor then this page will appear. In this page we chose the Recommend new access structure option.

Step -3:

In this page we chose the tuning set which we created earlier in this document. Then click Next.

Page 6: Partition Creation

Step -4:

In this page we chose the Recommendation option. Here we have chosen the option Indexes and Partitioning and In the Scope section we chosed the Comprehensive for the deep analysis. Then click Next.

Step – 5:

In the Schedule page: Advisor task information section we chose the task name and Task expiration. Schedule section we have chosen for the immediate execution. Then click Next.

Page 7: Partition Creation

Step -6 :

Review page : we can see all the detail of the task. Once you reviewed everything.

Press submit.

Page 8: Partition Creation

Confirmation of the Job :

Job Results:

Page 9: Partition Creation
Page 10: Partition Creation

Output Result:

PART_MASTER Table Output Result:

Rem Rem Repartitioning table "SYSADM"."PART_MASTER"Rem

SET SERVEROUTPUT ONSET ECHO ON

Rem Rem Creating new partitioned tableRem CREATE TABLE "SYSADM"."PART_MASTER1" (    "ID" NUMBER(38,0),     "PLANT_ID" NUMBER(38,0),     "PART_NUMBER" VARCHAR2(40),     "PART_SPEC_ID" NUMBER(38,0),     "DESCRIPTION" VARCHAR2(30),     "STANDARD_PACK_QTY" NUMBER(38,0),

Page 11: Partition Creation

    "ACCUME" NUMBER(38,0),     "ADJUSTMENTS" NUMBER(38,0),     "LAST_SHIP_DATE" DATE,     "LAST_SHIP_AMOUNT" NUMBER(38,0),     "BOX_MASK" VARCHAR2(80),     "STD_PALLET_QTY" NUMBER(38,0),     "DOCK_CODE" VARCHAR2(40),     "LINE_FEED" VARCHAR2(40),     "ENGINEERING_CHANGE" VARCHAR2(30),     "RESERVE_LINE_FEED" VARCHAR2(40),     "PURCHASE_ORDER" VARCHAR2(30),     "MASTER_MASK" VARCHAR2(80),     "MIXED_MASK" VARCHAR2(80),     "DFLT_SHIP_FROM_ID" NUMBER,     "ROW_VERSION" NUMBER,     "MISC_INFORMATION" VARCHAR2(60),     "ACTIVE_FLAG" CHAR(1),     "EFFECTIVE_DATE" DATE,     "DEFAULT_CONT_ID" NUMBER,     "CUSTOMS_CODE" VARCHAR2(20),     "UOM_ID" NUMBER(38,0) DEFAULT 3,     "CHARGES" NUMBER(15,6),     "MATERIAL_GROUP" VARCHAR2(30),     "PO_TYPE" VARCHAR2(30),     "PART_ASSY_NUMBER" VARCHAR2(30),     "PART_ASSY_CODE" VARCHAR2(30),     "MC_CODE" VARCHAR2(30),     "MH_CODE" VARCHAR2(30),     "CC_STORAGE" VARCHAR2(30),     "SHOP_STORAGE" VARCHAR2(30),     "LINE_SIDE" VARCHAR2(30),     "PACK_TYPE" VARCHAR2(30),     "PROD_INV_STATUS" CHAR(1),     "SERVICE_MASK" VARCHAR2(80),     "TUBE_LBL_REQ" CHAR(1),     "TUBE_QTY" NUMBER,     "TUBE_MASK" VARCHAR2(80),     "NON_INVENTORIED" CHAR(1) DEFAULT 'N',     "LEAD_TIME" NUMBER,     "LEAD_HOURS" NUMBER(38,0),     "ALT_CONT_ID" NUMBER(38,0),     "ALT_STD_PACK_QTY" NUMBER(38,0),     "STANLEY_CONT_QTY_CALC" CHAR(1),     "STANLEY_CONT_QTY_CALC_PRIMARY" CHAR(1)) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGINGTABLESPACE "SYSADM" PARTITION BY HASH ("ID") PARTITIONS 32;

Rem Rem Copying constraints to new partitioned table

Page 12: Partition Creation

Rem ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("UOM_ID" NOT NULL ENABLE);ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("DEFAULT_CONT_ID" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("EFFECTIVE_DATE" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("ACTIVE_FLAG" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("ROW_VERSION" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("DFLT_SHIP_FROM_ID" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("STANDARD_PACK_QTY" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("DESCRIPTION" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("PART_SPEC_ID" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("PART_NUMBER" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("PLANT_ID" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" MODIFY ("ID" NOT NULL ENABLE);  ALTER TABLE "SYSADM"."PART_MASTER1" ADD PRIMARY KEY ("ID")  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS   TABLESPACE "TBLINDEX"  ENABLE;Rem Rem Copying referential constraints to new partitioned tableRem   ALTER TABLE "SYSADM"."PART_MASTER1" ADD CONSTRAINT "PART_MAST_FK011" FOREIGN KEY ("PART_SPEC_ID")      REFERENCES "SYSADM"."PART_SPECIFICATION" ("ID") ENABLE;  ALTER TABLE "SYSADM"."PART_MASTER1" ADD CONSTRAINT "PART_MAST_FK021" FOREIGN KEY ("PLANT_ID")      REFERENCES "SYSADM"."PLANT_MASTER" ("ID") ENABLE;  ALTER TABLE "SYSADM"."PART_MASTER1" ADD CONSTRAINT "PART_MAST_FK031" FOREIGN KEY ("DFLT_SHIP_FROM_ID")      REFERENCES "SYSADM"."SHIP_FROM_MASTER" ("ID") ENABLE;  ALTER TABLE "SYSADM"."PART_MASTER1" ADD CONSTRAINT "PART_MAST_FK041" FOREIGN KEY ("DEFAULT_CONT_ID")      REFERENCES "SYSADM"."CONTAINER_MASTER" ("ID") ENABLE;  ALTER TABLE "SYSADM"."PART_MASTER1" ADD CONSTRAINT "PART_MAST_FK051" FOREIGN KEY ("ALT_CONT_ID")      REFERENCES "SYSADM"."CONTAINER_MASTER" ("ID") ENABLE;  ALTER TABLE "SYSADM"."PART_MASTER1" ADD CONSTRAINT "PART_MAST_FKUOM1" FOREIGN KEY ("UOM_ID")      REFERENCES "SYSADM"."UOM_MASTER" ("ID") ENABLE;Rem Rem Copying indexes to new partitioned tableRem CREATE UNIQUE INDEX "SYSADM"."PART_MASTER_PK1" ON

Page 13: Partition Creation

"SYSADM"."PART_MASTER1" ("ID") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS TABLESPACE "TBLINDEX" ;CREATE UNIQUE INDEX "SYSADM"."PART_MAST_IDX011" ON "SYSADM"."PART_MASTER1" ("PLANT_ID", "PART_NUMBER", "ENGINEERING_CHANGE") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING TABLESPACE "TBLINDEX" ;CREATE INDEX "SYSADM"."PART_MAST_IDX021" ON "SYSADM"."PART_MASTER1" ("PART_NUMBER", "ENGINEERING_CHANGE") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING TABLESPACE "TBLINDEX" ;CREATE INDEX "SYSADM"."PART_MAST_IDX031" ON "SYSADM"."PART_MASTER1" ("PART_SPEC_ID") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS TABLESPACE "TBLINDEX" ;CREATE UNIQUE INDEX "SYSADM"."PART_MAST_IDX041" ON "SYSADM"."PART_MASTER1" ("PLANT_ID", "PART_NUMBER", "EFFECTIVE_DATE") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS TABLESPACE "TBLINDEX" ;Rem Rem Copying triggers to new partitioned tableRem CREATE OR REPLACE TRIGGER "SYSADM"."AUDIT_PART_MASTER1" BEFORE UPDATE OR INSERT OR DELETE ON "SYSADM"."PART_MASTER1" FOR EACH ROW BEGIN CCORE_AUDIT ( INSERTING, UPDATING, DELETING, 'PART_MASTER','ACCUME',:OLD.ACCUME,:NEW.ACCUME,'ACTIVE_FLAG',:OLD.ACTIVE_FLAG,:NEW.ACTIVE_FLAG,'ADJUSTMENTS',:OLD.ADJUSTMENTS,:NEW.ADJUSTMENTS,'ALT_CONT_ID',:OLD.ALT_CONT_ID,:NEW.ALT_CONT_ID,'ALT_STD_PACK_QTY',:OLD.ALT_STD_PACK_QTY,:NEW.ALT_STD_PACK_QTY,'BOX_MASK',:OLD.BOX_MASK,:NEW.BOX_MASK,'CC_STORAGE',:OLD.CC_STORAGE,:NEW.CC_STORAGE,'CHARGES',:OLD.CHARGES,

Page 14: Partition Creation

:NEW.CHARGES,'CUSTOMS_CODE',:OLD.CUSTOMS_CODE,:NEW.CUSTOMS_CODE,'DEFAULT_CONT_ID',:OLD.DEFAULT_CONT_ID,:NEW.DEFAULT_CONT_ID,'DESCRIPTION',:OLD.DESCRIPTION,:NEW.DESCRIPTION,'DFLT_SHIP_FROM_ID',:OLD.DFLT_SHIP_FROM_ID,:NEW.DFLT_SHIP_FROM_ID,'DOCK_CODE',:OLD.DOCK_CODE,:NEW.DOCK_CODE,'EFFECTIVE_DATE',:OLD.EFFECTIVE_DATE,:NEW.EFFECTIVE_DATE,'ENGINEERING_CHANGE',:OLD.ENGINEERING_CHANGE,:NEW.ENGINEERING_CHANGE,'ID',:OLD.ID,:NEW.ID,'LAST_SHIP_AMOUNT',:OLD.LAST_SHIP_AMOUNT,:NEW.LAST_SHIP_AMOUNT,'LAST_SHIP_DATE',:OLD.LAST_SHIP_DATE,:NEW.LAST_SHIP_DATE,'LEAD_HOURS',:OLD.LEAD_HOURS,:NEW.LEAD_HOURS,'LEAD_TIME',:OLD.LEAD_TIME,:NEW.LEAD_TIME,'LINE_FEED',:OLD.LINE_FEED,:NEW.LINE_FEED,'LINE_SIDE',:OLD.LINE_SIDE,:NEW.LINE_SIDE,'MASTER_MASK',:OLD.MASTER_MASK,:NEW.MASTER_MASK,'MATERIAL_GROUP',:OLD.MATERIAL_GROUP,:NEW.MATERIAL_GROUP,'MC_CODE',:OLD.MC_CODE,

Page 15: Partition Creation

:NEW.MC_CODE,'MH_CODE',:OLD.MH_CODE,:NEW.MH_CODE,'MISC_INFORMATION',:OLD.MISC_INFORMATION,:NEW.MISC_INFORMATION,'MIXED_MASK',:OLD.MIXED_MASK,:NEW.MIXED_MASK,'NON_INVENTORIED',:OLD.NON_INVENTORIED,:NEW.NON_INVENTORIED,'PACK_TYPE',:OLD.PACK_TYPE,:NEW.PACK_TYPE,'PART_ASSY_CODE',:OLD.PART_ASSY_CODE,:NEW.PART_ASSY_CODE,'PART_ASSY_NUMBER',:OLD.PART_ASSY_NUMBER,:NEW.PART_ASSY_NUMBER,'PART_NUMBER',:OLD.PART_NUMBER,:NEW.PART_NUMBER,'PART_SPEC_ID',:OLD.PART_SPEC_ID,:NEW.PART_SPEC_ID,'PLANT_ID',:OLD.PLANT_ID,:NEW.PLANT_ID,'PO_TYPE',:OLD.PO_TYPE,:NEW.PO_TYPE,'PROD_INV_STATUS',:OLD.PROD_INV_STATUS,:NEW.PROD_INV_STATUS,'PURCHASE_ORDER',:OLD.PURCHASE_ORDER,:NEW.PURCHASE_ORDER,'RESERVE_LINE_FEED',:OLD.RESERVE_LINE_FEED,:NEW.RESERVE_LINE_FEED,'ROW_VERSION',:OLD.ROW_VERSION,:NEW.ROW_VERSION,'SERVICE_MASK',:OLD.SERVICE_MASK,:NEW.SERVICE_MASK,'SHOP_STORAGE',:OLD.SHOP_STORAGE,:NEW.SHOP_STORAGE,

Page 16: Partition Creation

'STANDARD_PACK_QTY',:OLD.STANDARD_PACK_QTY,:NEW.STANDARD_PACK_QTY,'STANLEY_CONT_QTY_CALC',:OLD.STANLEY_CONT_QTY_CALC,:NEW.STANLEY_CONT_QTY_CALC,'STANLEY_CONT_QTY_CALC_PRIMARY',:OLD.STANLEY_CONT_QTY_CALC_PRIMARY,:NEW.STANLEY_CONT_QTY_CALC_PRIMARY,'STD_PALLET_QTY',:OLD.STD_PALLET_QTY,:NEW.STD_PALLET_QTY,'TUBE_LBL_REQ',:OLD.TUBE_LBL_REQ,:NEW.TUBE_LBL_REQ,'TUBE_MASK',:OLD.TUBE_MASK,:NEW.TUBE_MASK,'TUBE_QTY',:OLD.TUBE_QTY,:NEW.TUBE_QTY,'UOM_ID',:OLD.UOM_ID,:NEW.UOM_ID,'NO_MORE_COLUMNS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,

Page 17: Partition Creation

NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);END;/ALTER TRIGGER "SYSADM"."AUDIT_PART_MASTER1" ENABLE;  CREATE OR REPLACE TRIGGER "SYSADM"."PANA_TRG_PART_MASTER_INS1" AFTER INSERT ON "SYSADM"."PART_MASTER1" FOR EACH ROW DECLARE    nVariance  pana_group_master.default_variance%TYPE;    nGroupID pana_group_master.id%TYPE := NULL;BEGIN    SELECT group_id INTO nGroupID FROM pana_part_specification where id = :NEW.part_spec_id;    IF (nGroupID IS NULL) THEN        SetDefaultGroup(:NEW.PLANT_ID, :NEW.DFLT_SHIP_FROM_ID, :NEW.PART_SPEC_ID);    END IF;

    SELECT NVL(default_variance, 15) INTO nVariance FROM pana_part_specification, pana_group_master    WHERE pana_part_specification.id = :NEW.PART_SPEC_ID and pana_part_specification.group_id = pana_group_master.id(+);    INSERT INTO PANA_PART_MASTER(ID, variance) VALUES(:NEW.ID, nVariance);END;

/ALTER TRIGGER "SYSADM"."PANA_TRG_PART_MASTER_INS1" ENABLE;  CREATE OR REPLACE TRIGGER "SYSADM"."PANA_TRG_PART_MASTER_UPD1" AFTER UPDATE ON "SYSADM"."PART_MASTER1" FOR EACH ROW DECLARE    nNewGroupID pana_group_master.id%TYPE := NULL;    nOldGroupID pana_group_master.id%TYPE := NULL;    nNewCustomerID customer_master.id%TYPE := NULL;    nOldCustomerID customer_master.id%TYPE := NULL;BEGIN    IF (:NEW.part_spec_id != :OLD.part_spec_id) THEN       SELECT group_id INTO nNewGroupID FROM pana_part_specification where id = :NEW.part_spec_id;       IF (nNewGroupID IS NULL) THEN          DELETE FROM pana_planner_data WHERE part_id = :NEW.id;       END IF;

       SELECT group_id INTO nOldGroupID FROM pana_part_specification WHERE id = :OLD.part_spec_id;     IF (nNewGroupID != nOldGroupID) THEN     DELETE FROM pana_planner_data WHERE part_id = :NEW.id;     ELSE       UPDATE pana_planner_data SET part_spec_id = :NEW.part_spec_id

Page 18: Partition Creation

WHERE part_id = :NEW.id;     END IF;    END IF;

    IF (:NEW.plant_id != :OLD.plant_id) THEN     SELECT customer_id INTO nNewCustomerID FROM plant_master where id = :NEW.plant_id;     SELECT customer_id INTO nOldCustomerID FROM plant_master where id = :OLD.plant_id;     IF (nNewCustomerID != nOldCustomerID) THEN     UPDATE pana_planner_data SET customer_id = nNewCustomerID WHERE part_id = :NEW.id;         UPDATE pana_planner_data SET customer_id = nNewCustomerID WHERE part_spec_id = :NEW.part_spec_id AND part_id IS NULL AND customer_id = nOldCustomerID;     END IF;    END IF;

END;

/ALTER TRIGGER "SYSADM"."PANA_TRG_PART_MASTER_UPD1" ENABLE;CREATE OR REPLACE TRIGGER "SYSADM"."PART_MASTER_11" BEFORE UPDATE OR INSERT ON "SYSADM"."PART_MASTER1" FOR EACH ROW BEGIN       Validate_Row_Version ( INSERTING, UPDATING, :OLD.ROW_VERSION, :NEW.ROW_VERSION );    END;

/ALTER TRIGGER "SYSADM"."PART_MASTER_11" ENABLE;Rem Rem Copying object grants to new partitioned tableRem GRANT SELECT ON "SYSADM"."PART_MASTER1" TO "CCORE_FOR_COGNOS";GRANT SELECT ON "SYSADM"."PART_MASTER1" TO "READ_CCORE";GRANT SELECT ON "SYSADM"."PART_MASTER1" TO "CCORE_READ";GRANT SELECT ON "SYSADM"."PART_MASTER1" TO "COGNOS";Rem Rem Populating new partitioned table with data from original tableRem INSERT /*+ APPEND */ INTO "SYSADM"."PART_MASTER1"SELECT * FROM "SYSADM"."PART_MASTER";COMMIT;

begindbms_stats.gather_table_stats('"SYSADM"', '"PART_MASTER1"', NULL, dbms_stats.auto_sample_size);end;/

Rem

Page 19: Partition Creation

Rem Renaming tables to give new partitioned table the original table nameRem ALTER TABLE "SYSADM"."PART_MASTER" RENAME TO "PART_MASTER11";ALTER TABLE "SYSADM"."PART_MASTER1" RENAME TO "PART_MASTER";