Článek přečtěte do 3 min.

Oracle poskytuje zákazníkům několik možností, jak vytvářet databáze Oracle v Oracle Cloud jako plně spravovanou autonomní databázovou službu nebo automatizovanou a samospravovanou základní databázovou službu v OCI. Chcete-li vybrat, která databázová služba nejlépe vyhovuje vašemu účelu, sledujte prosím tento blog Jakou databázovou službu Oracle zvolit. Chcete-li vytvořit databázové propojení mezi Oracle Autonomous Database a Snowflake, postupujte podle  pokynů krok za krokem pro vytvoření databázového propojení mezi Autonomous Database a Snowflake. Následující blog vás provede kroky k vytvoření databázového propojení mezi  Base Database Service v OCI  a databází Snowflake Data Warehouse. Blog předpokládá, že jste již vytvořili databázi Snowflake pomocí ‚docs.snowflake.com‘ a Base Db System v OCI. Chcete-li vytvořit základní DB systém v OCI, použijte tyto pokyny  Vytvořte základní databázový systém Oracle. Chcete-li získat přístup k SSH, postupujte podle těchto kroků.

Krok 1: Jakmile budete mít přístup k virtuálnímu počítači, kde jste nainstalovali základní databázový systém, spusťte níže uvedené příkazy jako uživatel root, abyste nainstalovali balíčky Linux ODBC

# yum install unixODBC -y /* nainstaluje balíček ODBC */

# který odbcinst
/bin/odbcinst

# který isql
/bin/isql

# odbcinst -j /* zobrazí podrobnosti konfigurace */

Krok 2: Stáhněte a nainstalujte nejnovější ovladač ODBC pro Snowflake pomocí této  instalace ovladače ODBC pro Snowflake

Vytvořte níže uvedený soubor s adresami URL uvedenými v odkazu výše

# cat /etc/yum.repos.d/snowflake-odbc.repo[snowflake-odbc] name=snowflake-odbc
baseurl= https://sfc-repo.snowflakecomputing.com/odbc/linux/3.0.2/
gpgkey= https://sfc-repo.snowflakecomputing.com/odbc/Snowkey-630D9F3CAB551AF3-gpg

# yum install snowflake-odbc -y /* toto nainstaluje ovladač ODBC pro Snowflake */

Krok 3: Nakonfigurujte ovladač ODBC pro Snowflake podle tohoto dokumentu Snowflake  Konfigurace ovladače ODBC pro Snowflake

Po přidání položek do souboru simba.snowflake.init může soubor vypadat podobně jako níže.

# cat /usr/lib64/snowflake/odbc/lib/simba.snowflake.ini[Ovladač] DriverManagerEncoding=UTF-16
DriverLocale=cs-US
ErrorMessagesPath=/usr/lib64/snowflake/odbc/ErrorMessages – cesta k protokolu ODBC adresáře Snowflake
ODBC =
LogPath=/tmp
ODBCInstLib= libodbcinst.so
CURLVerboseMode=false
#LogLevel=6
CABundleFile=/usr/lib64/snowflake/odbc/lib/cacert.pem

Krok 4: Zaregistrujte ovladač (odbcinst.ini) pomocí odkazu Registrace ovladače pomocí odbcinst.ini

soubor odbcinst.ini by měl vypadat podobně jako tento.

# cat /etc/odbcinst.ini

[SnowflakeDSIIDriver] APILevel=1
ConnectFunctions=YYY
Description=Snowflake DSII
Driver=/usr/lib64/snowflake/odbc/lib/ libSnowflake.so   /* ukazuje na cestu k adresáři snowflake_odbc */
DriverODBCVer=03.52 Použití
SQLLevel
=1

Krok 5: Nakonfigurujte parametry připojení v souboru odbc.ini pro připojení k Snowflake pomocí tohoto odkazu soubor odbc.ini; oddíl 4.3

soubor odbc.ini by vypadal podobně jako níže

# cat /etc/odbc.ini[SNOWDB] Description=SnowflakeDB
Driver=SnowflakeDSIIDriver
Locale=en-US
SERVER= snowdb.eu-central-1.snowflakecomputing.com
PORT=443
SSL=on
DATABASE=SNOWDB
WAREHOUSE_WHODV_SCHENOW
=
ROLE=ODSADMIN
UID=JOHN_SNOW
PWD=Str0ngP@ssw0rd!2023

Otestujte ovladač ODBC pomocí isql

# isql -v SNOWDB /* níže uvedený příkaz SQL by měl vrátit řádek */
SQL> SELECT CURRENT_DATABASE();
CURRENT_DATABASE()
SNOWDB

Krok 6: Přidejte záznam připojení do Snowflake DB do souboru ORACLE_HOME/network/admin/listener.ora jako uživatel oracle. listener.ora by měl mít podobné položky pro Snowflake jako níže.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = SNOWDB)
(ENVS=“LD_LIBRARY_PATH=/usr/ lib64:/usr/lib64/snowflake/odbc/lib:/u01/app/oracle/product/19.0.0.0/dbhome_1.0 hs/lib:/u01/app/oracle/product/19.0.0.0/dbhome_1/lib „)
(ORACLE_HOME = /u01/app/oracle/product/19.0.0.0/dbhome_1)
(PROGRAM = dg4odbc)
)
)

Zastavte a spusťte posluchače.

$lsnrctl stop

$lsnrctl start

Krok 7: Přidejte SNOWDB do souboru tnsnames.ora

SNOWDB =
(DESCRIPTION =
(ADDRESS= (PROTOKOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SID=SNOWDB)
)
(HS=OK)
)

Krok 8: 

Vytvořte soubor initSNOWDB.ora s následujícími položkami

$ cat $ORACLE_HOME/hs/admin/initSNOWDB.ora
HS_FDS_CONNECT_INFO = „SNOWDB“
HS_FDS_TRACE_LEVEL = LADĚNÍ
HS_FDS_SHAREABLE_NAME = /usr/lib64/ libodbc.so
HS_NLS2_NCHARini
set=UC/LDS2BRAODLIODBCini
set=UCLDS2_NCHARIN _PATH=/usr/lib64

$ tnsping SNOWDB /* otestujte připojení před vytvořením odkazu na databázi */

Nástroj TNS Ping pro Linux: Verze 19.0.0.0.0 – výroba dne 31. srpna 2023 20:13:20

Copyright (c) 1997, 2023, Oracle. Všechna práva vyhrazena.

Použité soubory parametrů:
/u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/sqlnet.ora

Použitý adaptér TNSNAMES k vyřešení aliasu
Pokus o kontakt (DESCRIPTION = (ADDRESS= (PROTOKOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SID=SNOWDB)) (HS=OK)) OK (
10 ms)

Krok 9: Vytvořte odkaz DB na Snowflake

$ sqlplus / jako sysdba

SQL*Plus: Vydání 19.0.0.0.0 – Výroba ve čtvrtek 31. srpna 20:14:14 2023
Verze 19.20.0.0.0

Copyright (c) 1982, 2022, Oracle. Všechna práva vyhrazena.

Připojeno k:
Oracle Database 19c EE High Perf Release 19.0.0.0.0 – produkční
verze 19.20.0.0.0

SQL> zobrazit pdbs

CON_ID CON_NAME OTEVŘENÝ REŽIM OMEZENÝ
———- —————————– —– —– ———-
2 PDB$SEED POUZE ČTENÍ NE
3 PDB19C ČTENÍ ZÁPIS NE
SQL> zobrazit parametr globální_názvy;

JMÉNO TYP HODNOTA
———————————— ———– ——————————
global_names boolean TRUE
SQL> ALTER SYSTEM SET global_names=FALSE SCOPE=BOTH SID=’*‘;

Systém změněn.

SQL zobrazit parametr global_names;

JMÉNO TYP HODNOTA
———————————— ———– ——————————
global_names boolean FALSE
SQL> alter session set container=PDB19C;

Relace změněna.

SQL> zobrazit pdbs

CON_ID CON_NAME OTEVŘENÝ REŽIM OMEZENÝ
———- —————————– —– —– ———-
3 PDB19C ČTĚTE ZÁPIS ŽÁDNÉ
SQL> VYTVOŘTE ODKAZ NA DATABÁZI ORACLE_TO_SNOWFLAKE PŘIPOJTE SE K „JOHN_SNOW“ IDENTIFIKOVANÉ OD „&1″ POMOCÍ ‚SNOWDB‘;
Zadejte hodnotu pro 1: Str0ngP@ssw0rd!2023
staré 1: VYTVOŘTE ODKAZ NA DATABÁZI ORACLE_TO_SNOWFLAKE PŘIPOJTE SE K „JOHN_SNOW“ IDENTIFIKOVÁNO „&1“ POUŽITÍM „SNOWDB“
nové 1: VYTVOŘTE DATABÁZI_TOHDENNOWLAKE UPOZORNĚN OD „Str0ngP@ssw0rd! 2023“ POUŽÍVÁNÍ ‚SNOWDB‘

Odkaz na databázi vytvořen.

SQL> SELECT COUNT(*) FROM JOHN_SNOW.SNOWFLAKE_TABLE@ORACLE_TO_SNOWFLAKE;

POČET(*)
———-
9903

SQL> exit
Odpojeno od databáze Oracle 19c EE High Perf Release 19.0.0.0.0 – produkční
verze 19.20.0.0.0

VAROVÁNÍ: V případě, že narazíte na chybu ORA-02085, aktualizujte doménu databáze a databázi nedoručených zpráv (volitelný krok)

Zdroj: Oracle