Köszi az eddigi segítséget, úgy néz ki, sikerült átvergődnöm a dolgon.
Az importnál készített log alapján kiderült, milyen tablespace-ek kellenek, és azt a kettőt létrehoztam TOAD-dal.
Ezután majd az lesz nagy falat (persze ha a többi normál adatbázis import sikeresen lezajlott), hogy koreai cuccok is vannak, amihez UTF-8-as karakterkészlet dukál.
Igaz, hogy ahhoz egy új Oracle instance-t kell telepíteni?
Mondjuk az OLAP kockát dimenziótábláit még viszonylag könnyen tudtam importálni, velük nem volt gond. Hanem a fact adatok már problémásabbak.
Biztos van más megoldás is (from_user to_user vagy remap_schema), de a helyedben én elkérném a tablespace és user scripteket is, hozzáígazítanám az adatbázisom környezetéhez (elérési utak, adatfájlok mérete) és azután importálnám be az adatokat
Igazából külföldről kaptunk néhány exportált Oracle dmp fájlt, és mivel én nem értek hozzá, egy munkatársam segít nekem távolról (Skype-on keresztül), de az eddig vázolt hibaüzenetekkel ő sem nagyon tud mit kezdeni.
Első akadályként a szerverünkre telepített Oracle-nek a partitioning funkciója nem is volt engedélyezett, ezért én raktam egyet a saját gépemre. Most már a partitioning oké, de mindig csak jönnek és jönnek az új hibaüzik:-(
Mondjuk az OLAP kockát dimenziótábláit még viszonylag könnyen tudtam importálni, velük nem volt gond. Hanem a fact adatok már problémásabbak.
Ha valamennyit fel is importálom ugyanazon usernév alá, akkor ott ömlesztve lesznek a táblák/nézetek, vagy az importált fájl neve szerint (esetleg egy abban szereplő másik név szerint) csoportosítva?
Próbáltam, hogy hozok létre más usereket, ami sikerült is, de hozzájuk importálni már nem engedett.
ORA-00959: a(z) 'FACT01S' táblaterület nem létezik Itt akkor lehet, hogy a dmp fájl a hibás?
Ahová be akarod importálni a dmp fájlt ott nem létezik ez a táblaterület.
--> remap_tablespace
Most meg már rá sem tudok csatlakozni a saját adatbázisomra (gépemre?), mert hiába írom be az eddig megfelelőnek bizonyult felh.nevet/jelszót, ezt kapom:
"ORA-12500: TNS: a figyelőnek nem sikerült elindítania a dedikált kiszolgálóprocesszt."
A partitioning-et már be tudtam állítani, az újabb hibaüzenet a következő:
ORA-00959: a(z) 'FACT01S' táblaterület nem létezik
Itt akkor lehet, hogy a dmp fájl a hibás?
Többször kaptam ilyen üzenetet az import végén: "Az import sikeresen, de figyelmeztetéssel fejeződött be."
Ez azt jelenti, hogy amit tudott importált és az adatbázis adatai felkerültek? Ha igen, hol tudom rendesen böngészni ezeket? Én valami hasonlóra számítottam, mint az SQL Serverben, de eddig nem sikerült olyasmit elérnem.
Most meg már rá sem tudok csatlakozni a saját adatbázisomra (gépemre?), mert hiába írom be az eddig megfelelőnek bizonyult felh.nevet/jelszót, ezt kapom:
"ORA-12500: TNS: a figyelőnek nem sikerült elindítania a dedikált kiszolgálóprocesszt."
Ha valakinek van esetleg valamilyen tippje, őszintén hálás lennék, ha megosztaná velem!
>Nekem egy egyszeru kerdesem lenne, vissza lehet teriteni egy FUNCTION-ban egy egesz tablat, vagy tobb sort??
Hogyne, A kulturált módja -> ref-cursor; egy hátránya van, oracle-instance-ok _között_ nem müxik, eléggé el nem ítélhető módon. http://www.programmersheaven.com/mb/oracle/186193/186223/ReadMessage.aspx?S=B20000
A kevésbé kulturált módja (bár feldolgozásra amúgy melegen ajánlható) -> bulk collect into ... array http://www.dba-oracle.com/oracle_tips_rittman_bulk%20binds_FORALL.htm
Igen, Enterprise Editiont, de az SQL PLUS-t még nem sikerült próbálnom ma, mert felhasználót/jelszót kér, és szerintem a tnsnames.ora fájlomban valami nem helyesen van benne.
De holnap még szöszölök rajta, meg elvileg a serveren tegnap csináltam ilyet (csak azt most behalt, úgyhogy nem tudok rendesen felmenni rá).
De, valóban segített, csak nehezen találtam meg, hogy hol is lehet.
Gondoltam rá én is, de csak egy másik fórumon látott füles segítségével sikerült kiderítenem, hogy az Admin tools-ban lehet leállítani.
Viszont sajna a telepítés nem hozta meg azt a megoldást, amit szerettem volna tőle, ugyanis van egy szerverünk, amire fel kéne tenni egy adatbázist, viszont az importálás végén ez jelenik meg:
"IMP-00003: 439 sorszámú ORACLE hiba fordult el ORA-00439: a szolgáltatás nincs engedélyezve: Partitioning"
Pedig a telepítésnél külön kiválasztottam, hogy ez is legyen benne, viszont nem tudom, hogy miként lehet engedélyezni?
Ez milyen operációs rendszer? Ha Windows, akkor szerintem azt kell először újratelepíteni, ha UNIX, akkor elég eltörölni az előző telepítés összes maradványát.
Sajnos nem a szakterületem az Oracle, mert eddig SQL Serverrel kellett foglalkoznom, de most kénytelen vagyok legalább egy picit belefolyni, de már a telepítésnél elakadtam:-(
Mondjuk ez főképp annak köszönhető, hogy mikor már majd' egy órája ment minden zökkenőmentesen, egy áramszünet gallyravágta az egészet: gép újraindul, Oracle fent is van meg nem is, mindenesetre használni nem tudtam. Gondoltam uninstall (az Universal Installerel), aztán újra nekilátok.
Sajna ez mégsem ment ilyen egyszerűen, mert a telepítési próbálkozásoknál az alábbi üzenetet kapom már a legelején: "Certain files which need to be reinstalled ... are being used by one or more running services. The following running services need to be shutdown before continuing: OracleService DEV39" (a DEV39-et még én írtam be az első telepítésnél)
Retry-re ugyanez, cancelre enged továbbmenni az adott komponens telepítésének kihagyásával, de még legalább 10-szer előjön a hibaüzi más komponenseknél, a végén pedig sikertelen telepítést ír ki.
Uninstallt szintén nem enged, hasonló hibaüzivel indokolva.
Ha valakinek van ötlete, segítsége, őszintén hálás lennék neki!
Szerintem nagyszerű /tárgybeli/ szerkezetbe sikerült belefutnom a minap /akár sql*plus helyett is/: /És ezzel íme egy példa arra is, hogy vannak egyszerű, okos nem-béta release-s szoftverek is a világon :o))/
http://www.withdata.com/oracmd.html
Nem is érti az ember, hogy nem volt képes az Oracle per mai napig valami hasonlót produkálni. Persze sql*loader van, sql*unloader nélkül, of course /->nem számítva a metalinkes hacket/ ;)
Jellemzők:
- Egyszerű, átlátható, triviálisan ütemezhető, nagyon gyors /futásidő-kijelzéssel/, command-line utility
- Olcsó -> 30 USD (korrekt ár, bár ha neki kéne állni, hamar meg lehetne megírni)
- Kicsi -> akár install nélkül is, egyetlen windwos-os exe, 1.2 MB terjedelemben.
- Oracle klienst nem igényel /egyszerű síma filecopy/!! Ez főleg az InstantClient elötti időkben hangzott igen szimpatikusan, de így is nagyon szimpi, szerintem.
- Kapcsolódás ennek alapján /pl./: connect scott/tiger@localhost:1521:orcl
- Sql-ek, sql-scriptek futtatása
- És a legszebb, komplett kétirányú load/unload lehetőség, minimális szintaxissal, maximális komfortérzettel. Bemásolom a helpet /mert kicsi és tanulságos/
- unload-hoz lehet egy-egy vagy éppen összes /all/ tábla /definiált filerendszeres folderbe/ illetve /order by-os/ query
- loadhoz /append vagy replace, de tranzakcióban/
- Van desc, schema, header, delimiter, quote, header, date/time format, nullif; mi kell még... ;)
Megjegyzés: Informixos előéletemből egyetlen valamit hoztam magammal az Oracle világba. Nekem nagyon tetszett az Informix export-ja (olvasható struktura-sql + file.dat -> directoryba, pipe-on keresztül akár custom-compresst /folder-compress, zip, rar/ is biztosítva). Ez a szoftver- /akár az excel is szóbajön általa/ és verziófüggetlen, reverzibilisen ide-oda gombnyomásra müködő, könnyed, save as+open export-import nagyon hiányzott nekem mindig is az Oracle-ből. Számomra az olvasható export is fontos, állomány sérülés esetére: nem mindegy ugyanis, hogy egyetlen bithiba miatt egy rekord száll el az éterbe vagy a összes.
MM
PS: És akkor a hozzám hasonló lelkeseknek itt a teljes help... :o)
OraCmd> help Connect: Normal mode: connect username/password@host:port:SID like "connect scott/tiger@localhost:1521:orcl" SysDBA mode: connect username/password@host:port:SID as sysdba like "connect sys/sys@localhost:1521:orcl as sysdba" SysOper mode: connect username/password@host:port:SID as sysoper like "connect sys/sys@localhost:1521:orcl as sysoper" Where 'host' is the address of server; 'port' is the number of port that server listens to; 'SID' is system identifier that specifies Global Database Name.
Execute sql command: sql command like "select sysdate from dual"
Run sql script: @sqlfile like "@e:dataupdate.sql"
See table struct: desc tablename like "desc customer"
Load data from file: load table=tablename datafile=filepath quote=quotechar delimiter=delimiterchar header=y|n like "load table=times file=e:data1.csv delimiter="," header=y " Type 'help load;' for details.
Unload data to file: unload table=tablename(or query=query string) datafile=filepath quote=quotechar delimiter=delimiterchar like "unload table=jobs(or query="select * from jobs") datafile=e:data1.csv" Type 'help unload;' for details.
OraCmd> help unload parameters: delimiter: delimiter char ("|",",","#","TAB","WHITESPACE") quote: quote char ("'") header: y|n, print field name at first line table: table name ("all" for unload all table) query: sql query string schema: schema name, use this prameter to unload specific schema's data, if not set, use logon user's default schema datafile: data file name folder: data files folder (for unload all table)
OraCmd> help load parameters: delimeter: delimiter char ("|",",","#","TAB","WHITESPACE") quote: quote char ("'") header: y|n, data file contains field name at first line table: table name datafile: data file name loadtype: append|replace dateformat: date format (e.g. "YYYY-MM-DD HH24:MI:SS") timestampformat: timestamp format (e.g. 'YYYY-MM-DD-HH24.MI.SS.FF6') nullif: specifies that the column should be loaded as NULL ("BLANKS" for zero length strings being loaded into numeric columns)
Valaki aki nyithat topikot(nekem meg nincs eleg hozzaszolasom), lehetne egy keresem, a technika es hasznalata/szamitastechnika/programozas ala nem hozna letre egy: .net ben programozoknak szolo topikot (C#, asp.net, stb.) mert szerintem egy paran hozzaszolnanak. Es nekem is akad neha kerdesem, es hatha tud valaki segiteni, meg talan en is segithetek masoknak.