Posts

Es werden Posts vom Dezember, 2018 angezeigt.

OBIEE 12 - Tabs und Subpages zu Dashboard hinzufügen

Bild
nach Dashboard bearbeiten findet sich ein Icon zum Hinzufügen von Dashboard-Seiten und (neu) Unterseiten: Quelle und mehr Details: https://performancearchitects.com/new-obiee-12c-feature-dashboard-subpages/

ODI-Prozesse per Webservice z.B. von APEX aus starten

Ziel Bei Nutzung des ODI ist es hilfreich, ODI-LoadPlans etc. aus einer Anwendung heraus starten zu können. Mit APEX und ODI-Webservices (WS) ist das ganz einfach. Techn. Voraussetzungen - ODI Im ODI muss der entsprechende Webservice eingerichtet und URL, User und PWD des WS bekannt sein. Techn. Umsetzung - APEX   In APEX selbst erfolgt der eigentliche Aufruf über eine PL-Procedure: #OWNER#.ODI_RUN.LP_DAM18_LOADER(P_PARTITION_KEY => :P3_PARTITION_KEY); Techn. Umsetzung - PL - Bau des WS-Envelope In dieser Proc wird zu einen der Aufruf des Webservices erstellt: Webservice-Call: -- *** WS-Call bauen *** -- Anfang (Kopf/Head)   c_req_head :=             '<?xml version = ''1.0'' encoding = ''UTF-8''?>' ;   c_req_head := c_req_head|| '<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.w3.org/2005/08/addressing" xmlns:ns2="xmlns.oracle.com/od

Create Table-Script (inkl. DROP und Abfangen des ORA-942)

Blueprint für Create Table-Script (inkl. DROP und Abfangen des ORA-942) BEGIN    EXECUTE IMMEDIATE 'DROP TABLE myTab'; EXCEPTION    WHEN OTHERS    THEN       IF SQLCODE = -942       THEN          NULL;       ELSE          RAISE;       END IF; END; / CREATE TABLE myTab (     P_KEY         NUMBER NOT NULL,     myTab_KEY     NUMBER NOT NULL,     myTab2_KEY    NUMBER NOT NULL,     myNr          NUMBER (1),     myStr         VARCHAR2 (100 CHAR),     CONSTRAINT myTab_PK PRIMARY KEY (P_KEY, myTab_KEY) USING INDEX LOCAL,     CONSTRAINT myTab_UK PRIMARY KEY (P_KEY, myNr) USING INDEX LOCAL,     CONSTRAINT myTab_FK1 FOREIGN KEY (P_KEY, myTab2_KEY)         REFERENCES myTab2 (P_KEY, myTab2_KEY) ) TABLESPACE TS_MYDATA LOGGING PARTITION BY LIST (P_KEY)(PARTITION P_0 VALUES (0) LOGGING COMPRESS BASIC TABLESPACE TS_MYDATA) COMPRESS BASIC MONITORING;

SQL Plan Execution / DBMS_XPLAN / SQL Monitor

Zur Analyse von Ausführungsplänen gibt es verschiedenste Möglichkeiten. Gerade bei langlaufenden Statements kann es hilfreich sein zu sehen, was in welcher Reihenfolge ausgeführt wird. Hint:  GATHER_PLAN_STATISTICS -> zum Sammeln von Laufzeitinformationen bei der Ausführung Um nur den Plan zu sehen: set linesize 250 pagesize 0 trims on tab off long 1000000 explain plan for INSERT /*+ APPEND PARALLEL GATHER_PLAN_STATISTICS */        INTO myTab_Ziel (                 C1,                 C2,                 C3 )     SELECT /*+ PARALLEL */            'A',            2,            sysdate       FROM myTab_Quelle      WHERE (1 = 1); SELECT * FROM table(DBMS_XPLAN.DISPLAY (FORMAT=>'ALLSTATS LAST ALL +OUTLINE')); Um  aktuelle Session  zu sehen: set linesize 250 pagesize 0 trims on tab off long 1000000 SELECT * FROM table(DBMS_XPLAN.DISPLAY_CURSOR(             SQL_ID=>'dx1zj8p29p27t',              CURSOR_CHILD_NO=>1,             

Parallel DML in 12c => /*+ parallel enable_parallel_dml */

Eine sehr gute Erklärung zum PARALLEL Insert ab 12.1.0.2 findet sind hier: Quelle:  https://blog.dbi-services.com/parallel-dml-in-12c/ aus dem Post: ----------------------------------------------------------------------------------------------- | Id  | Operation                | Name      | Starts | E- Rows | A- Rows |   A- Time    | Buffers | ----------------------------------------------------------------------------------------------- |   0 | INSERT STATEMENT         |          |      1 |        |      0 |00:00:17.40 |   24311 | |   1 |  LOAD TABLE CONVENTIONAL | DEMO2    |      1 |        |      0 |00:00:17.40 |   24311 | |   2 |   PX COORDINATOR         |          |      1 |        |   1000K|00:00:04.49 |       5 | |   3 |    PX SEND QC (RANDOM)   | :TQ10000 |      0 |   1000K|      0 |00:00:00.01 |       0 | |   4 |     PX BLOCK ITERATOR    |          |      0 |   1000K|      0 |00:00:00.01 |       0 | |*  5 |      TABLE ACCESS FULL    | DEMO1    |