Loading...
Salve a tutti oggi mi hanno comunicato che come blog siamo al 69° posto sui primi 100 blogs che parlano della tecnologia Oracle.
Se mi date una mano con le visualizzazioni forse riusciamo ad arrivare tra i primi 60 se poi volete risposte su qualche prodotto Oracle in particolare fatemi sapere.




Ciao
Read Full Article
Visit website
  • Show original
  • .
  • Share
  • .
  • Favorite
  • .
  • Email
  • .
  • Add Tags 
Oggi vediamo come abiltare il Write-Back sulla OBIEE 12c, questa opzione permette di inserire dati su una tabella da web. Si utilizza spesso per inserire dei commenti e permettere a più utenti di effettuare una pseudo chat.
Vediamo di seguito i differenti passaggi, tenendo presente la documentazione a questo link [Configuring for Write Back in Analyses and Dashboards]


La configurazione si compone dei seguenti passi:
  1. Creazione tabella in database
  2. Configurazione OBIEE Server
  3. Configurazione RPD
  4. Configurazione/Creazione Report analisi
  • Creazione Tabella
 Come primo step creiamo su un database una tabella su cui effettuiamo update ed insertdi eventuali  commenti e creiamo anche una sequence che sarà utilizzata per inserire i dati nella chiave della tabella.

CREATE SEQUENCE SEQ_ID INCREMENT BY 1 START WITH 1 MAXVALUE 9999999999999999999999999999999999999999999999 MINVALUE 1 NOCACHE ORDER;

create table  lot_comment
(
iD              NUMBER ,
CREATED_DATE     DATE         ,
UPDATE_DATE     DATE         ,
DASHBOARD_PAGE     VARCHAR2(100),
USER_ID         VARCHAR2(50) ,
USER_NAME         VARCHAR2(100),
FEEDBACK         VARCHAR2(600),
COMMENT_KEY1     VARCHAR2(100),
COMMENT_KEY2     VARCHAR2(100),
COMMENT_KEY3     VARCHAR2(100),
COMMENT_KEY4     VARCHAR2(100),
COMMENT_KEY5     VARCHAR2(100)
);

  •  Configurazione OBIEE Server

Secondo step è la configurazione del server OBIEE e nello specifico occorre fare quanto segue. Verifichiamo il nome del dominio e dove si trova:


[oracle@fmw12c fmw]$ more domain-registry.xml
<?xml version="1.0" encoding="UTF-8"?>
<domain-registry xmlns="http://xmlns.oracle.com/weblogic/domain-registry">
  <domain location="/product/odi/SW122126/obiee122120/bi"/>
</domain-registry>

A questo punto dobbiamo inserire la seguente riga:

<LightWriteback>true</LightWriteback>

nel file instanceconfig.xml, ricordiamoci sempre di fare un backup prima.

[oracle@fmw12c fmw]$ cd /product/odi/SW122126/obiee122120/bi/config/fmwconfig/biconfig/OBIPS
[oracle@fmw12c OBIPS]$ ll
total 88
-rw-r-----. 1 oracle oracle   310 Apr 20 17:21 catalogmanager.logging.properties
-rw-r-----. 1 oracle oracle  5271 Apr 20 17:12 credentialstore.xml
-rw-r-----. 1 oracle oracle  4876 Apr 20 17:12 instanceconfig.xml
-rw-r-----. 1 oracle oracle  7412 Apr 20 17:12 marketingwebexpressions.xml
-rw-r-----. 1 oracle oracle 43659 Apr 20 17:12 toc-template.rtf
-rw-r-----. 1 oracle oracle  9570 Apr 20 17:12 upgradelogtransform.xsl
-rw-r-----. 1 oracle oracle  1489 Apr 20 17:12 userpref_currencies.xml

[oracle@fmw12c OBIPS]$ vi instanceconfig.xml
[oracle@fmw12c OBIPS]$  diff instanceconfig.xml instanceconfig.xml_20170920
5,6d4
<         <DSN>AnalyticsWeb </DSN>
<         <LightWriteback>true</LightWriteback>
7a6
>         <DSN>AnalyticsWeb</DSN>
102,104d100
<         <!-- inserimento x writeback -->
<         <!--LightWriteBack>true</LightWriteBack -->
<         <!-- inserimento x writeback -->
[oracle@fmw12c OBIPS]$ 


Ulteriore step è la creazione di un file in fomato xml che contenga le info di insert/update della tabella che verrà utilizzata dal Write Back.

    <?xml version="1.0" encoding="utf-8" ?>
    <WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
    <WebMessageTable lang="en-us" system="WriteBack" table="Messages">
       <WebMessage name="TestWriteback">
          <XML>
    <writeBack connectionPool="LOTTOMATICA">
    <insert> </insert>
    <update> UPDATE LOT_COMMENT SET FEEDBACK='@2',COMMENT_KEY1='@3' WHERE ID=@1 </update>
    </writeBack>
         </XML>
       </WebMessage>
    </WebMessageTable>

    </WebMessageTables>


    Questo file si deve chiamare "custommessage.xml"  e deve essere posto secondo la documentazione nella directory SDD/components/OBIPS/customMessages dove SDD sta per Singleton Data Directory, nel mio caso

     /product/odi/SW122126/obiee122120/bi/bidata/components/OBIPS/customMessages

     peccato che non funziona ed occorre inserirlo in un'altra directory che se non esiste va creata e dipende dal linguaggio utilizzato sulla OBIEE:

    /product/odi/SW122126/obiee122120/bi/bidata/service_instances/ssi/metadata/content/msgdb/l_en/customMessages/


    • Configurazioni RPD

    Una volta configurato il server passiamo alle modifiche all'rpd.
    Come step iniziale occorre effettuare il check sul database come indicato in figura:



    Poi si effettua l'import della tabella fisica sul repository dececcando la cache:



    Una volta importata la tabella procediamo nel dare i permessi necessari agli utenti per scrivere sul db.
    Ci posizioniamo su "Manage"-"Identity" e settiamo l'esecuzione ad "Allow" sul database, come in figura:


    A questo punto importiamo la tabella sul presentetion:


    E modifichiamo le proprietà delle colonne su cui dobbiamo poter scrivere andando ad abilitare il check "Writeable" su tutti i layer, come in figura.


    A questo punto per ogni colonna soggetta a Write back dare i permessi di modifica ai differenti ruoli o utenti:


    • Configurazione/Creazione Report analisi
    Terminati i passi precedenti salvare e passare alla parte web per la creazione del report e  per la  modifica dei permessi del Write back sull'Administration:


    A questo punto la configurazione è terminata e non resta che creare il report settando i check sulle colonne nei "Criteria" e la tabella su "Results".







    Inseriamo il report nel dashbord e facciamo la prova se tutto funziona.
    Sul database abbiamo la seguente situazione:


    Sul Dashboard appare quanto presente sul DB.


    A questo punto cliccando su Update appaiono i tre tasti inferiori ed è possibile effettuare la modifica del dato:



    Una volta modificato il dato cliccando su Apply e Done la modifica viene eseguita.





    Quanto modificato facendo Apply si applica sul DB.



    Questo è tutto... alcune cose sono state omesse per lasciare a voi il piacere di smanettare e smadonnare se qualche spazio o carattere sporco che finisce nei file xml.
    Alla prossima.
    questo
    Read Full Article
    Visit website
    • Show original
    • .
    • Share
    • .
    • Favorite
    • .
    • Email
    • .
    • Add Tags 
    Oggi vediamo un prodotto Oracle poco usato ma molto interessante OEMM - Oracle Enterprise Metadata Managment, l'installazione è molto semplice quindi la saltiamo, basti sapere che come molti prodotti oracle è database centrico e quindi necessita di un repository su DB.  Io ho installato la versione per Linux che effettua lo start di TomCat e quindi rende accessibile il prodotto da interfaccia browser sulla porta 11580 con le credenziali di ADMINISTRATOR, lascio a voi scoprire la password...
    Quindi per poter accedere al prodotto occorre effettuare lo start di TomCat lanciando da Linux la shell RestartServerApplication.sh posta nella Home del prodotto, vi consiglio di crearne un'altra per effettuare lo stop di TomCat.


    Per accedere alla home andate sul browser sul link http://fmw12c.localdomain:11580/MM/Explorer mettendo logicamente il vostro dominio.




    A questo punto inseriamo user e pwd ed entriamo:



    Andate in Administrator e scegliete "Metadata Manager" a questo punto siete dentro.



    Per importare i metadati di un qualsiasi prodotto occorre creare un modello, in questo caso occorre andare su "Repository" e scegliere new, 5poi a cercare il corretto repository a cui collegarsi, in questo esempio avendo solo ODI come prodotto con repository mi sono collegato a questo.


    Dovete scegliere "Model" e poi scegliere il corretto repository a cui collegarsi:



    Come si vede abbiamo la possibiltà di collegarci a molti prodotti che hanno un proprio repository ed effettuarne un reverse engine.
    La lista completa la trovate sulla Oracle Enterprise Metadata Management 12c Certification Matrix

    A questo punto possiamo nel mio caso avendo solo ODI scegliere di collegarmi ad ODI ed effettuare il reverse di un progetto. Quindi creo un model TEST  e  configuro "Import Setup" per la connessione al database che contiene il Master/Work Repositry di ODI nel mio caso versione 12.2.2.1.6.


    Attenti a seguire quanto indicato nell'help sulla destra, che cambia da prodotto a prodotto.
    Una volta effettuato l'import a meno di eventuale errori che dovrete risolvere avrete quanto segue:


    Le info presenti nel Master/ Work di ODI che avete deciso di importare.
    A questo punto se per esempio selezionate l'interfaccia, nel mio caso, avrete le informazioni di come è stata costruita e di cosa contiene.




    Se vado sul repository ODI vediamo che il mapping è stato riportato correttamente in OEMM.


    Effettuando anche il Data Flow Overview potrete vedere anche in modalità grafica il mapping.



    Una volta importato il tutto è possibile effettuare analisi di data lineage, impact ecc.




    Su youtube  trovate un'interessante video che vi fa vedere passo passo come utilizzare il prodotto.

    Buon Lavoro... 

    Read Full Article
    Visit website
    • Show original
    • .
    • Share
    • .
    • Favorite
    • .
    • Email
    • .
    • Add Tags 
    Per poter effettuare un export /import di scenari tramite scripts Groovy occorre individuare le corrette classi API SDK da utilizzare.
    • Se si vuole effettuare un export/import smartie, che permette di exportare/importare gli oggetti indicati più tutto ciò che è collegato a questi compresa la topologia senza però poter effettuare alcun controllo su ciò che viene importato si possono utilizzare:
      • oracle.odi.impexp.smartie.ISmartExportService;
      • oracle.odi.impexp.smartie.ISmartExportable;
      • oracle.odi.impexp.smartie.impl.SmartExportServiceImpl;
      •  Se si vuole invece effettuare l'export/import dei singoli oggetti del repository occorre utilizzare le seguenti classi:
        • oracle.odi.impexp.EncodingOptions;
        • oracle.odi.impexp.OdiImportException;
        • oracle.odi.impexp.support.ExportServiceImpl;
        • oracle.odi.impexp.support.ImportServiceImpl;
      Tenete presente che entrambe le tipologie di classi al termine generano un xml contenente le informazioni necessarie per effettuare l'import.
      Occorre tener presente anche la gestione di file di output ed input all'interno del progetto di exp/imp.

      Non vi do altre informazioni relativamente a come implementare il codice in quanto abbastanza banale e semplice, occorre solo fare attenzione che nel caso di import dei singoli oggetti di ODI  occorre seguire la corretta propedeuticità fra i differenti oggetti. Ad esempio se faccio l'export di una intefaccia in fase di import deve esistere il progetto, modello ecc a cui quella interfaccia fa riferimento.
      Altro suggerimento l'export degli oggetti fatelo non per nome ma per ID-Internal o per GUID.
      Read Full Article
      Visit website
      • Show original
      • .
      • Share
      • .
      • Favorite
      • .
      • Email
      • .
      • Add Tags 
      Continuiamo con un esempio di quanto indicato nella parte 1 e due possibili soluzioni.

      CREATE TABLE "ICP_ECONOMICO" 
         (
      "PERIOD" NUMBER
         ) 
        PARTITION BY RANGE ("PERIOD") INTERVAL (1) 
       (PARTITION "P_0"  VALUES LESS THAN (196905) ) ;

      Creato table "ICP_ECONOMICO".


      set lines 300
      col interval for a30
      col TABLE_NAME for a30

      select table_name, PARTITIONING_TYPE, STATUS, INTERVAL, PARTITION_COUNT,
      (select count(*) from user_tab_partitions pts where pts.table_name = pt.table_name) real_count
      from user_part_tables pt
      where table_name ='ICP_ECONOMICO'
      order by table_name;

      TABLE_NAME  PARTITION STATUS   INTERVAL  PARTITION_COUNT REAL_COUNT
      ----------- --------- -------- --------- --------------- ----------
      ICP_ECONOMICO  RANGE     VALID    1          1048575          1

      A questo punto inseriamo un record.

      insert into ICP_ECONOMICO (period) values(20160101);

      Errore con inizio alla riga : 178 nel comando -
      insert into ICP_ECONOMICO (period) values(20160101)
      Report error -
      Errore SQL: ORA-14300: la chiave di partizionamento è mappata a una partizione non inclusa nel numero massimo consentito di partizioni
      14300. 00000 -  "partitioning key maps to a partition outside maximum permitted number of partitions"
      *Cause:    The row inserted had a partitioning key that maps to a partition number greater than 1048575
                 *Action  Ensure that the partitioning key falls within 1048575 partitions or subpartitions.

      Come si vede abbiamo l'errore che dicevamo, adesso se portiamo da 1 a 100 il by interval vediamo cosa accade:

      ALTER TABLE ICP_ECONOMICO  SET INTERVAL (100);
      Table ICP_ECONOMICO modificato.

      Inseriamo una riga come prima.

      insert into ICP_ECONOMICO (period) values(20160101);
      1 riga inserito.

      A questo punto se rifacciamo la query di sopra abbiamo:

      set lines 300
      col interval for a30
      col TABLE_NAME for a30

      select table_name, PARTITIONING_TYPE, STATUS, INTERVAL, PARTITION_COUNT,
      (select count(*) from user_tab_partitions pts where pts.table_name = pt.table_name) real_count
      from user_part_tables pt
      where table_name ='ICP_ECONOMICO'
      order by table_name;

      TABLE_NAME     PARTITION STATUS   INTERVAL  PARTITION_COUNT REAL_COUNT
      -------------- --------- -------- --------- --------------- -----------------------------
      ICP_ECONOMICO     RANGE     VALID    100           1048575          2


      Se proviamo ad inserire altri record il problema non sembra più presentarsi a meno che non inserisce un valore che abbia un numero di cifre maggiore ad 8.

      insert into ICP_ECONOMICO (period) values(99991201);
      1 riga inserito.

      insert into ICP_ECONOMICO (period) values(999912010);

      Report error -
      Errore SQL: ORA-14300: la chiave di partizionamento è mappata a una partizione non inclusa nel numero massimo consentito di partizioni
      14300. 00000 -  "partitioning key maps to a partition outside maximum permitted number of partitions"
      *Cause:    The row inserted had a partitioning key that maps to a partition number greater than 1048575
                 *Action  Ensure that the partitioning key falls within 1048575 partitions or subpartitions.

      A questo punto se modifichiamo nuovamente il valore dell'intervallo

      ALTER TABLE ICP_ECONOMICO  SET INTERVAL (1000);
      Table ICP_ECONOMICO modificato.
                 
                 
      set lines 300
      col interval for a30
      col TABLE_NAME for a30

      select table_name, PARTITIONING_TYPE, STATUS, INTERVAL, PARTITION_COUNT,
      (select count(*) from user_tab_partitions pts where pts.table_name = pt.table_name) real_count
      from user_part_tables pt
      where table_name ='ICP_ECONOMICO'
      order by table_name;  


      TABLE_NAME     PARTITION STATUS   INTERVAL  PARTITION_COUNT   REAL_COUNT
      -------------- --------- -------- --------  ----------------- ----------
      ICP_ECONOMICO     RANGE     VALID    1000     1048575          3


      insert into ICP_ECONOMICO (period) values(999912010);
      1 riga inserito.

      A questo punto sembra che il  numero di cifre sia legato al valore dell'intervallo di partizionamento e più precisamente:

      Intervallo 1        = Numero di cifre 6
      Intervallo 100    = Numero di cifre 8
      Intervallo 1000  = Numero di cifre 9

      se inserisco adesso un numero di cifre pari a 10 avrò nuovemente l'errore.

      insert into ICP_ECONOMICO (period) values(9999120101);

      Report error -
      Errore SQL: ORA-14300: la chiave di partizionamento è mappata a una partizione non inclusa nel numero massimo consentito di partizioni
      14300. 00000 -  "partitioning key maps to a partition outside maximum permitted number of partitions"
      *Cause:    The row inserted had a partitioning key that maps to a partition number greater than 1048575
                 *Action  Ensure that the partitioning key falls within 1048575 partitions or subpartitions

       E qui vi lascio perchè non so dare alcuna spiegazione a questo comportamento.



      Read Full Article
      Visit website
      • Show original
      • .
      • Share
      • .
      • Favorite
      • .
      • Email
      • .
      • Add Tags 

      Salve oggi brevemente vi parlo di un paio di bug di oracle, che sono una gran rottura di BIP e sono legati al partizionamento di una tabella by interval su un campo numerico e by interval su campo data.
      Inoltre se si aggiunge al primo partizionamento anche un sottopartizionamento by hash che supera le 4 partizioni siamo al top.

      Uno si può chiedere perchè utilizzare questo tipo di partizionamento e la risposta come al solito è dentro di voi ed è pure sbagliata. No a parte le cazzate il perchè p molto semplice le partizioni si autocreano e non c'è bisogno di un software che le crei, questo fa si che la gestione viene demandata completamente al database, purtroppo con le conseguenze indicate sotto.
      Purtroppo non ho molto tempo per spiegarvi il problema vi rimando alle note che affrontano nel dettaglio i bugs.

      • Document  1507993.1 ORA-1841 on Select from Interval Partitioned Table when Predicate is 31-Dec-9999
      • Document 1479115.1 Interval Partitioning Essentials - Common Questions - Top Issues Document 1447928.1 PARTITION_COUNT Shows Large Value 1048575 With Interval Partitioning
      • Document 754642.1 How the PSTART/PSTOP Numbers are computed when a Interval Partition is used
      • Document 1472941.1 Insert Fails With ORA-14300 On Partition Table  
      Per quanto riguarda la prima nota esiste un workaround che è quello di non far partire la data dal 01 del mese ma di farla partire dal 17 del mese. Il bug in questo caso è legato alla trasformazione della data Juliana nel normale formato anno mese e giorno.
      Il secondo bug invece è una emerita stronza.. ed è legato ad uno pseudo valore massimo di partizioni in oracle che però non ha alcuna attinenza col valore contenuto nel campo.
      Per verificare quante siano le partizioni indicate sul sistema e quante ve ne siano realmente basta eseguire la seguente query:


      set lines 300
      col interval for a30
      col TABLE_NAME for a30
      select table_name, PARTITIONING_TYPE, STATUS, INTERVAL, PARTITION_COUNT,
      (select count(*) from user_tab_partitions pts where pts.table_name = pt.table_name) real_count
      from user_part_tables pt
      where table_name ='MV_FACT_TDB'
      order by table_name;

      TABLE_NAME                     PARTITION STATUS   INTERVAL      PARTITION_COUNT        REAL_COUNT
      ------------------------------ --------- -------- ------------- ---------------------- ----------
      MV_FACT_TDB                    RANGE     VALID    100                         1048575          2


      Dove la tabella ha in realtà 2 partizioni sottopartizionate by hash 4-




      Vi lascio alla lettura delle note e dei relativi workaround, appena ritrovo i test che avevo fatto vi integro questo scarno documento.
      Read Full Article
      Visit website
      • Show original
      • .
      • Share
      • .
      • Favorite
      • .
      • Email
      • .
      • Add Tags 
      Può capitare di avere in una colonna di una tabella dei valori stringa che occorre verticalizzare, ma il problema è che occorre effettuare la verticalizzazione senza utilizzare pl-sql ma solo una query sql.
      Allora uno pensa utilizzaziamo le funzioni di UNPIVOT o PIVOT e no quelle funzionano per inserire i dati in una colonna e nel nostro caso non vanno bene.
      Supponiamo di avere in un campo di una tabella i seguenti valori:

      TEMPLATE             
      -----------------------
      A.A.A_B.D.D           
      A.HH_B.GGG_C.L.L_D.KK.J
      S.S_S.D.D             

      Quello che dobbiamo avere in output è che in corrispondenza degli "_"  verticalizziamo il risultato. Quindi il risultato finale deve essere:

      TEMPLATE             
      -----------------------
      A.A.A
      B.D.D           
      A.HH

      B.GGG
      C.L.L
      D.KK.J
      S.S

      S.D.D             

      Il problema in questo caso è che dobbiamo fare un ciclo in sql per poter splittare il risultato presente nella colonna.
      Come facciamo?
      Di seguito una semplice query che ci permette di ottenere il risultato voluto.

      WITH
         TEST AS (SELECT TEMPLATE ,regexp_count(TEMPLATE, '_') REG_C FROM
                       (SELECT 'A.A.A_B.D.D' TEMPLATE FROM DUAL UNION ALL
                       SELECT 'A.HH_B.GGG_C.L.L_D.KK.J' TEMPLATE FROM DUAL UNION ALL
                       SELECT 'S.S_S.D.D' TEMPLATE FROM DUAL)),
          MX AS (SELECT MAX(REGEXP_COUNT(TEMPLATE, '_'))+1 CC FROM TEST)
      SELECT  STRING_VERTICALE,TEMPLATE_ORIGINALE,REG_C,RN
       FROM
      (
      SELECT  CASE WHEN REG_C>0 THEN
                SUBSTR(regexp_substr(TTEST.TEMPLATE, '[^_]+', 1, MXX.RN), 0, LENGTH(regexp_substr(TTEST.TEMPLATE, '[^_]+', 1, MXX.RN)))
                ELSE TTEST.TEMPLATE  END STRING_VERTICALE,
                TTEST.TEMPLATE TEMPLATE_ORIGINALE,TTEST.REG_C,MXX.RN
      FROM
      (SELECT TEMPLATE, REG_C FROM TEST) TTEST  ,
      (SELECT ROWNUM RN FROM CAT WHERE ROWNUM <=(SELECT CC FROM MX))  MXX
        )
      WHERE STRING_VERTICALE IS NOT NULL;

      Il risultato ottenuto è il seguente:


      Read Full Article
      Visit website
      • Show original
      • .
      • Share
      • .
      • Favorite
      • .
      • Email
      • .
      • Add Tags 
      Oggi vediamo, in maniera superficiale, l’installazione e la configurazione dei moduli applicativi Oracle BI 12.2.1.2.0 ed in particolare i seguenti moduli:

      • ·         Weblogic Console 
      • ·         Enterprise Manager Console 
      • -         Oracle Business Intelligence 
      • ·         Oracle Business Publisher 
      • ·         Oracle Visual Analyzer

      Occorre come prima cosa scaricarsi il sw dal sito oracle:
      ·         Download del seguente software dal sito Oracle:

      a.     fmw_12.2.1.2.0_bi_linux64_Disk1_1of2.zip
      b.     fmw_12.2.1.2.0_bi_linux64_Disk1_2of2.zip
      c.     fmw_12.2.1.2.0_infrastructure_Disk1_1of1.zip
      d.     jdk-8u121-linux-x64.tar.gz

      A seguito del download occorre effettuare I seguenti macro passi:


      1.     Installazione JDK 
      2.     Installazione Infratruttura BI
      3.     Installazione software BI
      4.     Creazione Repository mediante utility RCU
      5.     Configurazione del dominio BI
      6.     Check Start Processi
      7.     Troubleshooting

      1.    Installazione JDK – Sviluppo / Produzione
      [oracle@localhost01 ODI]$ cp -p jdk-8u121-linux-x64.tar.gz ../../product/java/
      [oracle@localhost01 ODI]$ cd /u01/product/java
      [oracle@localhost01 java]$ ll
      total 178952
      -rw-r--r-- 1 oracle oinstall 183246769 Apr  6 04:14 jdk-8u121-linux-x64.tar.gz
      [oracle@localhost01 java]$ gunzip jdk-8u121-linux-x64.tar.gz
      [oracle@localhost01 java]$ ll
      total 363080
      -rw-r--r-- 1 oracle oinstall 371793920 Apr  6 04:14 jdk-8u121-linux-x64.tar
      [oracle@localhost01 java]$ tar -xvf jdk-8u121-linux-x64.tar
      jdk1.8.0_121/
      jdk1.8.0_121/THIRDPARTYLICENSEREADME-JAVAFX.txt
      jdk1.8.0_121/THIRDPARTYLICENSEREADME.txt
      jdk1.8.0_121/lib/
       …
      [oracle@localhost01 java]$ ll jdk1.8.0_121/
      total 25924
      drwxr-xr-x 2 oracle oinstall     4096 Dec 12 19:47 bin
      -r--r--r-- 1 oracle oinstall     3244 Dec 12 19:46 COPYRIGHT
      drwxr-xr-x 4 oracle oinstall     4096 Dec 12 19:46 db
      drwxr-xr-x 3 oracle oinstall     4096 Dec 12 19:46 include
      -rwxr-xr-x 1 oracle oinstall  5094116 Dec 12 15:10 javafx-src.zip
      drwxr-xr-x 5 oracle oinstall     4096 Dec 12 19:46 jre
      drwxr-xr-x 5 oracle oinstall     4096 Dec 12 19:47 lib
      -r--r--r-- 1 oracle oinstall       40 Dec 12 19:46 LICENSE
      drwxr-xr-x 4 oracle oinstall     4096 Dec 12 19:46 man
      -r--r--r-- 1 oracle oinstall      159 Dec 12 19:46 README.html
      -rw-r--r-- 1 oracle oinstall      526 Dec 12 19:46 release
      -rw-r--r-- 1 oracle oinstall 21116095 Dec 12 19:46 src.zip
      -rwxr-xr-x 1 oracle oinstall   110114 Dec 12 15:10 THIRDPARTYLICENSEREADME-JAVAFX.txt
      -r--r--r-- 1 oracle oinstall   177094 Dec 12 19:46 THIRDPARTYLICENSEREADME.txt

      2.    Installazione Infrastruttura BI
      Effettuare l’unzip del software ed eseguirlo, si aprire una GUI che occorrerà seguire fino alla fine.

      unzip -q fmw_12.2.1.0.0_infrastructure_Disk1_1of1.zip

      java -jar fmw_12.2.1.2.0_infrastructure.jar

      3.    Installazione software BI:
      Effettuare l’unzip del software ed eseguirlo, si aprire una GUI che occorrerà seguire fino alla fine.

      unzip -q fmw_12.2.1.0.0_bi_linux64_Disk1_1of2.zip

      unzip -q fmw_12.2.1.0.0_bi_linux64_Disk1_2of2.zip

      ./bi_platform-12.2.1.0.0_linux64.bin

      4.    Creazione Repository mediante utility RCU
      Posizionarsi nella directory

      cd  <fmw_home>/oracle_common/bin
       ./rcu 
      Anche qui una volta startata la GUI eseguire i passi richiesti fino alla fine. Ad un certo punto viene richiesto un prefisso da assegnare agli schema che deve creare sul database, di solito si utilizza DEV per sviluppo, UAT per test e PRD per produzione ma nulla vieta di inserirne uno qualsiasi. La cosa importante è non superare i 30 caratteri nel nome dei vari schema. Verrà richiesta una utenza sysdba poiché verranno creati circa 9 schema con relativi tablespaces di temp e dati.
      Al termine verificando i log avremo:




      5.    Configurazione del dominio BI
      Posizionarsi sulla directory del software BI installato nei passi precedenti ed eseguire lo script

      cd <bi_software>/bi/bin
      ./config.sh

      Anche in questo caso si aprirà una gui da seguire ed in cui inserire le informazioni relativo al nome del dominio e della directory in cui installarlo. Le credenziali di accesso a weblogic ed i riferimenti degli schema creati al passo precedente.
      Al termine dell’installazione vi apparira la configurazione indicata sotto se non ci sono problemi.
      Purtroppo in alcuni casi, come in questo tipo di installazione, alcuni processi non effettueranno lo startup e quindi anche se l’installazione del dominio è avvenuta correttamente. Per sapere come andare a finire l’installazione vedere lo step Troubleshooting.
      Dando per scontato che tutto sia andato bene avremo la seguente configurazione:
      •   CONFIGURAZIONE
      Configure
          Configuration
              Components
                  BIEE
                      OBIPS (Port 9507)
                      Cluster controller (Main port 9508, monitor 9509)
                      Java host (Port 9510)
                      Scheduler (Main port 9511, monitor 9512, script 9513)
                  BIP
              Domain
                  BI Domain Name: bi
                  Domains Directory: <FMW_HOME>/user_projects/domains
                  Admin server (HTTP port 9500, HTTPS 9501, internal 9504)
                  Managed server (HTTP port 9502, HTTPS 9503, internal 9505)
              Database
                  Existing schemas
                      Database type: ORACLE
                      Connect string: <DB CONNECTION STRING>
                      Existing RCU prefix: DEV
              Port Management
                  Port range
                      Port range start: 9500
                      Port range end: 9999
              Application
                  SampleAppLite
                  Service Instance Key: ssi
                  Service Instance Limit: 1
          Entry points
              WebLogic Console
                  http://<hostname>:9500/console
              Fusion Middleware Control
                  http:// <hostname>:9500/em
              BI Publisher
                  http:// <hostname>:9502/xmlpserver
              BI Analytics
                  http:// <hostname>:9502/analytics
              Visual Analyzer
                  http:// <hostname>:9502/va


      6.    Check Start Processi
      Per poter procedere allo start dei servizi basta spostarsi nella directory del dominio  
      domains/bi/bitools/bin
      Qui saranno presenti gli script di start, stop e status che permettono di effettuare lo start di tutte le componeti.

      [oracle@localhostdev01 bin]$ ./start.sh
      Starting domain; Using domainHome: /u01/product/fmw122120/BI/BI12/user_projects/domains/bi [...]

      Initializing WebLogic Scripting Tool (WLST) ...

      Welcome to WebLogic Server Administration Scripting Shell

      Type help() for help on available commands

      [...]

      NodeManager already running
      Reading domain...
      /Servers/AdminServer/ListenPort=9500
      Accessing admin server using URL t3://localhostdev01:9500

      AdminServer already running

      Starting all servers ...
      Server bi_server1 not started as already in state (RUNNING)
      Server obiccs1 not started as already in state (RUNNING)
      Starting obis1 (Original State:SHUTDOWN) ...
      Started obis1

      Starting obips1 (Original State:SHUTDOWN) ...
      Started obips1

      Server obijh1 not started as already in state (RUNNING)
      Starting obisch1 (Original State:SHUTDOWN) ...
      Started obisch1


      Finished starting servers

      Status of Domain: /u01/product/fmw122120/BI/BI12/user_projects/domains/bi
      NodeManager (localhostdev01:9506): RUNNING

      Name            Type            Machine                   Status
      ----            ----            -------                   ------
      AdminServer     Server          localhostdev01           RUNNING
      bi_server1      Server          localhostdev01           RUNNING
      obips1          OBIPS           localhostdev01           RUNNING
      obijh1          OBIJH           localhostdev01           RUNNING
      obiccs1         OBICCS          localhostdev01           RUNNING
      obisch1         OBISCH          localhostdev01           RUNNING
      obis1           OBIS            localhostdev01           RUNNING


      7.    Troubleshooting
      A questo punto se ricadiamo nel caso che vi avevo indicato sopra occorrerà mettere mano ad alcuni files di configurazione.
      Però mi spiace non vi dirò quali siano in quanto a questo punto… io che ci sto a fare?

      Buon lavoro e Buon divertimento.

      Read Full Article
      Visit website
      • Show original
      • .
      • Share
      • .
      • Favorite
      • .
      • Email
      • .
      • Add Tags 
      For the connect to an Oracle database 12c which uses Oracle Workspace Manager from a java application.
      It is  possible trying to execute the following command from my java application.

      From pl-sql

      EXECUTE DBMS_WM.GotoWorkspace('WORKSPACE_NAME');

      in the java code

      String setWorkspace = "CALL DBMS_WM.GotoWorkspace('WORKSPACE_NAME')";
      CallableStatement cs = conn.prepareCall(setWorkspace);
      cs.execute();

      Read Full Article
      Visit website
      • Show original
      • .
      • Share
      • .
      • Favorite
      • .
      • Email
      • .
      • Add Tags 
      Spesso se si è in ambienti protetti, e quando dico protetti significa che non puoi installare nulla sulla macchina che ti hanno messo a disposizione, se devi installare una JDK per far funzionare SQLDeveloper possono sorgere dei problemi.
      Per questo oggi vediamo come installare una JDK 8 su Windows partendo dal file di installazione exe.

      Ecco di seguito i vari passi:

      1. Download  Java 8 SDK for Windows from Oracle.  Io ho fatto il download di jdk-8u111-windows-x64.exe.
      2. Aprire il .exe con un tool che effettui gli unzip, esempio 7-Zip o altri 
      3. Navigare sotto la directory .rsrc fino a 
          1. ..\Downloads\jdk-8u111-windows-x64.exe\.rsrc\1033\JAVA_CAB10\111\ 
      4. Qui si trova un denominato tools.zip.
      5. Aprirlo e scompattarlo in una directory     ..\Java\jdk1.8.0_111\ estraendone il contenuto
      6. A questo punto una volta estratti tutti i record, poizionarsi nella home della directoy java ed eseguire da una finestra dos il seguente comando:
      • for /R %f in (.\*.pack) do @"%cd%\bin\unpack200" -r -v -l "" "%f" "%~pf%~nf.jar"
    1. Se tutto termina correttamente effettuare per sicurezza un reboot della macchina Windows ed aprire poi SQLDeveloper fornendo il path della directory java.
    2. Fare una prova effettuando un javac -version

    3.  A questo punto avete installato una JDK 8 Portable e funzionante.
      Read Full Article
      Visit website

      Read for later

      Articles marked as Favorite are saved for later viewing.
      close
      • Show original
      • .
      • Share
      • .
      • Favorite
      • .
      • Email
      • .
      • Add Tags 

      Separate tags by commas
      To access this feature, please upgrade your account.
      Start your free month
      Free Preview