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