Halihó!
Régóta (kb. 18-20 év) nem használtam Oracle-t. Amikor használtam, akkor valahová fel volt telepítve.
Akkoriban (Oracle 7, 8, 9, 10) az exp paranccsal dumpoltam ki adatbázisból adatokat és schema tartalmakat. Úgy emlékszem, szöveges fájl (SQL script) volt az eredmény, amit fel tudtam darabolni, a schema objektumokat pl. source controlban el tudtam tárolni.
Valami hasonlót szeretnék, de most Oracle 23-ban vannak az adatok, oracle cloud architektúrában. Az ingyenes tier-t használom.
Nem vagyok benne biztos, hogy mi a legjobb irány erre, gyakorlatilag ezt a 2 dolgot akarom: schema objektumokat source controlban, adatokról mentést valahol helyben (saját gépemen) eltárolva.
Mivel hobbi projekten dolgozgatok időnként, előfordult már, hogy az Oracle cloud inaktivitás miatt törölte a teljes adatbázist, vagyis elvesztettem a programot, amit készítettem addig és az adatokat is, amiket kézzel feltöltögettem formokon.
Inaktivitás lesz a jövőben is, viszont el szeretném kerülni az adatbázis tartalmának az elvesztését.
Azt látom, hogy az exp/imp már nem javasolt, van helyette data pump. Olvasgattam, azt látom, hogy ez valami saját formátumot használ. Ez arra biztos jó, hogy lementsem és visszatöltsem a tartalmat, de pl. bináris cuccot source controlba tenni nem túl jó. Azt nem láttam, hogy le tudom-e lokálba tölteni a datapump exportot. Biztonsági mentésnek végül is jó lenne.
Arra gondoltam, hogy majd lokálba feltelepítem az Oracle kliens programokat, hozzákapcsolódok a felhőben lévő adatbázishoz és majd használom a régi módszert. Egyelőre ezzel nem jártam sikerrel, nem tudnak a dolgok kapcsolódni. SQL*Plus-szal és SQLDeveloperrel próbáltam tesztelni, de valami nem ment.
tnsnames.ora-ba bemásoltam a felhős adatbázis weboldalán amit mutatnak. Beállítottam, hogy ACL legyen, saját IP címemet engedélyeztem, beállítottam, hogy nem kötelező a mTLS. Ahogy értem, ha a tűzfalam kiengedi a csomagokat a 1521-es portra, akkor működnie kellene.
Mivel ilyesmi kapcsolódással nem foglalkoztam a régmúltban, fogalmam sincs, hogy mi nem működik, vagy hogy hogyan tesztelhetném.
Enter user-name: skot
Enter password:
ERROR:
ORA-12560: Database communication protocol error.
Help: https://docs.oracle.com/error-help/db/ora-12560/
Enter user-name: admin
Enter password:
ERROR:
ORA-12560: Database communication protocol error.
Help: https://docs.oracle.com/error-help/db/ora-12560/
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
Help: https://docs.oracle.com/error-help/db/sp2-0157/
Az ORA-12560 nem mond sokat:
Cause
A lower level communication protocol adapter error occurred.
Action
Do the following:
- Check for lower level network transport errors in the error stack for additional information.
- Ensure that the protocol specification used in the address for the connection is correct.
- For further details, turn on network tracing and rerun the operation. Turn off tracing when the operation is complete.
- Contact Oracle Support.
Ezekből az elsőt nem tudom, mire gondol. Nem tudom, hol kéne megnézni az error stack-et.
A másodikat másoltam a weboldalról, szóval feltételezem, hogy jó. Ha nem jó, akkor nem tudom, hogy mi a hiba vagy hogyan kéne kijavítani.
A harmadik jól hangzik, de nem tudom, hol kellene be- és kikapcsolni a network tracking-et.
Tud valaki valami hasznos tanácsot adni? Jó irányba keresgélek, vagy van valami egyszerűbb megoldás ugyanerre, és inkább azt kéne megnéznem?