# Oracle

I det här delavsnittet beskrivs hur du konfigurerar anslutningen till ett Oracle-mål med Oracle-målkopplingen. Oracle kan endast användas som mål i en replikeringsuppgift. Innan du kan ansluta till ett Oracle-mål måste du konfigurera [Behörigheter som krävs](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Permissi) på databasen. Om du ansluter till Oracle via Gateway för dataflytt måste du även installera drivrutinen enligt beskrivning i [Inställning av drivrutin](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Driver).

Information om begränsningar och överväganden för användning av Oracle-kopplingen finns i [Begränsningar och överväganden](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Limitati).

## Ställa in anslutningsegenskaper

Gör så här för att konfigurera kopplingen:

1. I Kopplingar klickar du på Skapa koppling.

2. Välj Oracle-målkopplingen och ange följande inställningar:

### Datamål

* Datagateway: När du arbetar med Gateway för dataflytt ska du välja den datagateway som kommer att användas för att testa kopplingen till Oracle-målet. Detta ska vara samma gateway som användes för att komma åt datakällan.

  Anteckning om information

  * Detta fält är inte tillgängligt med Qlik Talend Cloud Starterprenumeration eftersom Gateway för dataflytt inte stöds med denna prenumerationsnivå.

  * Du måste också installera lämplig drivrutin på Gateway för dataflytt-maskinen. Information finns i [Inställning av drivrutin](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Driver) nedan.

* Kopplingssträng: Oracle- kopplingssträngen för den Oracle-databas du vill arbeta med.

  Anteckning om information

  * När du replikerar till ett Oracle Autonomous Data Warehouse måste du först utföra förfarandet som beskrivs i [Ansluta till ett autonomt Oracle-datalager](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Connecti).
  * Denna information är skiftlägeskänslig.

### Kontoegenskaper

Användarnamn och Lösenord: Användarnamn och lösenord för en användare som har behörighet att komma åt Oracle Server-databasen.

### Interna egenskaper

Interna egenskaper är till för speciella användarfall och visas därför inte i dialogen. De ska bara användas om Qlik-supporten uppmanar dig att göra det.

Använd the Skapa ny icon- och the Avbryt icon-knapparna till höger om fälten för att lägga till och ta bort egenskaper efter behov.

### Namn

Visningsnamnet för anslutningen.

## Förutsättningar

### Behörigheter som krävs

Den användare som anges i kopplingssträngen måste ha följande rättigheter i Oracle-databasen:

* CREATE ANY TABLE

* CREATE ANY INDEXES

* ALTER ANY TABLE

* DROP ANY TABLE

* INSERT ANY TABLE

* UPDATE ANY TABLE

* DELETE ANY TABLE

* SELECT ANY TABLE

* SELECT all\_indexes

* SELECT all\_ind\_columns

* SELECT all\_constraints

* SELECT all\_cons\_columns

* LOCK ANY TABLE

### Inställning av drivrutin

Du kan installera driver med verktyget för installation av drivrutiner (rekommenderas) eller manuellt. Manuell installation ska bara användas om det mot förmodan skulle inträffa ett problem med verktyget för installation av drivrutiner.

#### Använda verktyget för installation av drivrutiner för att installera drivrutinen

I det här delavsnittet beskrivs hur driver som krävs installeras. Processen innebär att ett skript körs som automatiskt hämtar, installerar och konfigurerar den nödvändiga driver. Du kan också köra skript som uppdaterar och avinstallerar driver efter behov.

Förbereda installationen

* Kontrollera att Python 3.6 eller senare är installerad på Data Movement-gatewayservern.

  Python kommer förinstallerad på de flesta Linuxdistributioner. Du kan kontrollera vilken Pythonversion som är installerad på ditt system genom att köra följande kommando:

  python3 --version

Installera driver

Så här hämtar och installerar du driver:

1. På Data Movement-gatewaydatorn byter du arbetskatalog till:

   opt/qlik/gateway/movement/drivers/bin

2. Kör följande kommando:

   Syntax:

   ./install oracle

   Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Data Movement-gatewaydatorn. När du har gjort detta kör du install oracle-kommandot igen.

   I annat fall visas EULA för driver.

3. Gör ett av följande:

   * Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
   * Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
   * Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.

4. Gör ett av följande:

   * Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.

   * Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.

   * Skriv in "v" och tryck på [Enter] för att visa EULA igen.

   driver kommer att installeras.

Uppdatering av driver

Kör uppdateringskommandot om du vill avinstallera tidigare versioner av driver innan du installerar den tillhandahållna driver.

Så här hämtar och uppdaterar du driver:

1. På Data Movement-gatewaydatorn byter du arbetskatalog till:

   opt/qlik/gateway/movement/drivers/bin

2. Kör följande kommando:

   Syntax:

   ./update oracle

   Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Data Movement-gatewaydatorn. När du har gjort detta kör du update oracle-kommandot igen.

   I annat fall visas EULA för driver.

3. Gör ett av följande:

   * Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
   * Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
   * Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.

4. Gör ett av följande:

   * Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
   * Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
   * Skriv in "v" och tryck på [Enter] för att granska EULA från början.

   Den gamla driver avinstalleras och den nya driver installeras.

Avinstallera driver

Kör avinstalleringskommandot om du vill avinstallera driver.

Så här avinstallerar du driver:

1. Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.

2. På Data Movement-gatewaydatorn byter du arbetskatalog till:

   opt/qlik/gateway/movement/drivers/bin

3. Kör följande kommando:

   -syntax

   ./uninstall oracle

   driver kommer att avinstalleras.

#### Installera drivrutinen manuellt

Du bör bara försöka installera driver manuellt om den automatiserade drivrutinsinstallationen inte slutfördes.

Efter att Gateway för dataflytt har installerats hämtar du drivrutinen oracle-instantclient-basiclite-&lt;version&gt;.x86\_64.rpm. Du hittar en direkt nedladdningslänk till den version som stöds i binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/oracle.yaml. När hämtningen har slutförts kopierar du RPM-filen till Gateway för dataflytt-maskinen.

Öppna sedan en kommandorad i Gateway för dataflytt och gör följande:

1. Stoppa tjänsten Gateway för dataflytt:

   sudo systemctl stop repagent

2. Om du vill kan du bekräfta att tjänsten har stoppats:

   sudo systemctl status repagent

   Statusen ska vara enligt följande:

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. Installera drivrutinen (RPM).

4. Om det inte redan finns på ditt system ska du dessutom skapa en symbolisk länk i `$Oracle_Home\lib`-katalogen. Ge länken namnet `libclntsh.so`, och låt den peka på en specifik version av filen.

   Exempel:

   lrwxrwxrwx 1 oracle oracle 63 Oct 2 14:16 libclntsh.so -&gt; /u01/app/oracle/home/lib/libclntsh.so.21.1

5. Byt arbetskatalog till &lt;Gateway för dataflytt-Install-Dir&gt;/bin och lägg till miljövariabeln `LD_LIBRARY_PATH` i katalogen för Oracle instant client och i katalogen Gateway för dataflyttlib genom att kopiera drivrutinens plats till filen `site_arep_login.sh`:

   echo "export LD\_LIBRARY\_PATH=\$LD\_LIBRARY\_PATH:/opt/oracle/instantclient\_&lt;version&gt;:/opt/qlik/gateway/movement/lib/" &gt;&gt; site\_arep\_login.sh

6. Om du vill kan du bekräfta att drivrutinsplatsen kopierades:

   ```
   cat site_arep_login.sh
                           
   ```

7. Starta Gateway för dataflytt-tjänsten.

   sudo systemctl start repagent

8. Du kan även bekräfta att tjänsten har startats:

   sudo systemctl status repagent

   Statusen ska vara enligt följande:

   Active: active (running) since &lt;timestamp&gt; ago

### Ansluta till ett autonomt Oracle-datalager

Följande förfarande bör användas vid replikering till ett Oracle Autonomous Data Warehouse.

För att konfigurera kopplingen till Oracle Autonomous Data Warehouse (ADW) behöver du zip-filen Client Credentials (Wallet) som du hämtade när du konfigurerade din Oracle Autonomous Data Warehouse-miljö.

Så här gör du det möjligt för Qlik Talend Data Integration att ansluta till Oracle Autonomous Data Warehouse:

1. Extrahera innehållet i zip-filen Client Credentials till valfri mapp.

   Det kan vara vilken mapp som helst, men för det här förfarandet kommer /home/adw\_credentials att vara den Linux-mapp som innehåller de extraherade filerna.

2. I mappen med de extraherade filerna redigerar du filen sqlnet.ora och ersätter ?/network/admin med sökvägen till mappen med de extraherade filerna:

   `WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adw_credentials")))`

   `SSL_SERVER_DN_MATCH=yes`

3. Skapa miljövariabeln TNS\_ADMIN och ange var autentiseringsfilen finns.

   Kör sedan följande kommando:

   `export TNS_ADMIN=/home/adw_credentials`

   `export PATH=$TNS_ADMIN:$PATH`

4. I Oracle Target-kopplingens fält Kopplingssträng anger du ett av namnen från filen tnsnames.ora.

Mer information om hur du konfigurerar kopplingen till Oracle ADW finns i:

[Koppla autonom transaktionsbehandling med hjälp av en klientapplikation](https://docs.oracle.com/en/cloud/paas/atp-cloud/atpug/connect-preparing.html#GUID-EFAFA00E-54CC-47C7-8C71-E7868279EF3B)

## Begränsningar och överväganden

Följande begränsningar gäller när Oracle används som replikeringsmål:

* Det är inte möjligt att skapa nya scheman i Oracle-databasen. Om du vill replikera till ett nytt schema måste det nya schemats namn redan finnas i måldatabasen. Du bör sedan ange det nya schemanamnet på uppgiftsinställningarnas [Metadata](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings-metadata.htm)-flik.

* När du arbetar i läget [Batchoptimerad tillämpning](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings-replication.htm) kan tomma LOB-kolumner replikeras som NULL-värden.

* Om alternativet Begränsa LOB-storlek till är aktiverat och en tabell innehåller NCLOB-data efter att fullständig laddning har slutförts kommer NCLOB-storleken på målet att förkortas till hälften av den storlek som anges i fältet [Begränsa LOB-storlek till](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings-metadata.htm). CDC kommer fortfarande att trunkera den enligt gränsen.

## Datatyper

Information om inbyggd datatyp bevaras och visas i kolumnen Inbyggd datatyp i datauppsättningsvyer. Om kolumnen inte är synlig måste du öppna kolumnväljaren i datauppsättnignsvyn och välja kolumnen Inbyggd datatyp.

Datatyper

| Qlik Cloud Datatyper | Oracle-datatyper |
| --- | --- |
| BOOLEAN | NUMMER (1) |
| BYTES | RÅ (längd) |
| DATE | DATETIME |
| TIME | TIMESTAMP (0) |
| DATETIME | Om skalan &lt;= 9, då TIMESTAMP (skala)<br><br>Annars, VARCHAR2 (37) |
| INT1 | NUMMER (3) |
| INT2 | NUMMER (5) |
| INT4 | NUMMER (10) |
| INT8 | NUMMER (19) |
| NUMERIC | NUMBER (p,s) |
| REAL4 | BINARY\_FLOAT |
| REAL8 | BINARY\_DOUBLE |
| STRING | Med datumindikering: DATE<br><br>Med tidsindikering: TIMESTAMP<br><br>Med tidsmarkörindikering: TIMESTAMP<br><br>Med tidsmarkör\_med\_tidszon-indikering: TIMESTAMP WITH TIMEZONE<br><br>Med tidsmarkör\_med\_lokal\_tidszon-indikering: TIMESTAMP WITH LOCAL TIMEZONE<br><br>Med intervall\_år\_till\_månad-indikering: INTERVAL YEAR TO MONTH<br><br>Med intervall\_dag\_till\_sekund-indikering: INTERVAL DAY TO SECOND<br><br>Om längden &gt; 4000: CLOB<br><br>I alla övriga fall: VARCHAR2 (längd) |
| UINT1 | NUMMER (3) |
| UINT2 | NUMMER (5) |
| UINT4 | NUMMER (10) |
| UINT8 | NUMMER (19) |
| WSTRING | NVARCHAR2 (längd)<br><br>Observera att när längden är större än 2000 kommer kolumndatatypen att vara NCLOB. |
| BLOB | BLOB<br><br>Anteckning om information<br><br><ul> <li>Om du vill använda den här datatypen i en replikeringsuppgift måste du aktivera användningen av BLOB för en specifik uppgift.</li> <li>Under CDC eller under fullständig laddning när alternativet <span>Tillåt obegränsad LOB-storlek</span> är aktiverat stöds LOB-datatyper endast i tabeller med en primärnyckel eller ett unikt index. </li> </ul> |
| CLOB | CLOB<br><br>Anteckning om information<br><br><ul> <li>Om du vill använda den här datatypen i en replikeringsuppgift måste du aktivera användningen av CLOB för en specifik uppgift.</li> <li>Under CDC eller under fullständig laddning när alternativet <span>Tillåt obegränsad LOB-storlek</span> är aktiverat stöds LOB-datatyper endast i tabeller med en primärnyckel eller ett unikt index. </li> </ul> |
| NCLOB | NCLOB<br><br>Anteckning om information<br><br><ul> <li>Om du vill använda den här datatypen i en replikeringsuppgift måste du aktivera användningen av NCLOB för en specifik uppgift.</li> <li>Under CDC eller under fullständig laddning när alternativet <span>Tillåt obegränsad LOB-storlek</span> är aktiverat stöds LOB-datatyper endast i tabeller med en primärnyckel eller ett unikt index. </li> </ul> |
| XMLTYPE-måldatatypen är endast relevant i Oracle-till-Oracle-replikeringsuppgifter. Se kommentaren nedan. | XMLTYPE |