Keresés

Részletes keresés

Tomathos Creative Commons License 2007.07.30 0 0 2488

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…

 

 

Előzmény: MartinIsti (2482)
varjuvaj Creative Commons License 2007.07.30 0 0 2487
bocsi en vagyok a mrha, nem adtam jogokat, most mar mukszik, koszike!
Előzmény: varjuvaj (2485)
NevemTeve Creative Commons License 2007.07.30 0 0 2486
Valami olyasmi, hogy "GRANT DELETE ON b.table FOR a"
Előzmény: varjuvaj (2485)
varjuvaj Creative Commons License 2007.07.30 0 0 2485

egy ilyen hibat ad ha igy probalom : "pl/sql: ORA-00942: table or view does not exists"

nem kell valami mast beallitani?

 

Előzmény: NevemTeve (2484)
NevemTeve Creative Commons License 2007.07.30 0 0 2484
DELETE FROM b.table WHERE condition;
Előzmény: varjuvaj (2483)
varjuvaj Creative Commons License 2007.07.30 0 0 2483
van ket schema-am(a es b), a-ban van egy procedure-om amivel kellene toroljek egy sort, egy b -ben levo tablabol. ennek kb hogy kellene neki kezdjek?
MartinIsti Creative Commons License 2007.07.30 0 0 2482
Sajnos nem elérhető az eredeti adatbázis.

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.
Előzmény: Tomathos (2481)
Tomathos Creative Commons License 2007.07.30 0 0 2481

Elérhető az adatbázis amiről az export készült?

 

SELECT * FROM DBA_TABLESPACES;

 

Importnál:

remap_tablespace=FACT01S:TEST_TS

 

 

Előzmény: MartinIsti (2480)
MartinIsti Creative Commons License 2007.07.30 0 0 2480
Akkor az impot paramétereit kell módosítanom ezzel a plussz bejegyzéssel?

remap_tablespace

A hivatalos Oracle hibaoldalon ez volt:
"Enter the name of an existing tablespace. For a list of tablespace names, query the data dictionary."

Hogyan tudom ezt lekérdezni?
Előzmény: Tomathos (2479)
Tomathos Creative Commons License 2007.07.30 0 0 2479

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."

 

Nézd meg hogy fut-e a Listener:

lsnrctl

stat

 

esetleg

tnsping <sid>

Előzmény: MartinIsti (2478)
MartinIsti Creative Commons License 2007.07.30 0 0 2478
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!

Előre is köszönöm!
Előzmény: Tomathos (2474)
tnsnames.ora Creative Commons License 2007.07.26 0 0 2477
>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
Előzmény: varjuvaj (2476)
varjuvaj Creative Commons License 2007.07.26 0 0 2476

Sziasztok

Nekem egy egyszeru kerdesem lenne, vissza lehet teriteni egy  FUNCTION-ban egy egesz tablat, vagy tobb sort??

MartinIsti Creative Commons License 2007.07.25 0 0 2475
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á).

Azért köszi az eddigi segítséget is!
Előzmény: Tomathos (2474)
Tomathos Creative Commons License 2007.07.25 0 0 2474

Kérdezd le sql plus-ból:

 

SELECT * FROM v$option where parameter = 'Partitioning';

 

Egyébként a verziószámok megegyeznek?

Mit raktál fel Enterprise Edition-t?

Előzmény: MartinIsti (2473)
MartinIsti Creative Commons License 2007.07.25 0 0 2473
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?
Előzmény: Tomathos (2472)
Tomathos Creative Commons License 2007.07.25 0 0 2472
Az nem segít ha leállítod a service-t (ahogy kéri). :)
Előzmény: MartinIsti (2470)
NevemTeve Creative Commons License 2007.07.25 0 0 2471
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.
Előzmény: MartinIsti (2470)
MartinIsti Creative Commons License 2007.07.25 0 0 2470
Sziasztok Oracle-guruk!

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!

MartinIsti
tnsnames.ora Creative Commons License 2007.07.22 0 0 2469
Hali,

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)

examples:
unload table=jobs datafile=e:temptablesjobs.txt delimiter="," header=y;
unload query="select job_id,job_title from jobs" datafile=e:temptablesjobs_part.txt delimiter="," header=y;
unload schema=hr table=all folder=e:temptables delimiter="," header=y;

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)

example:
load table=dim_state_data
datafile=e:temptablesdim_state_data_hdr_plus_1_row.csv
delimiter="|"
header=y
loadtype=replace
dateformat="HH24.MI.SS"
timestampformat="YYYY-MM-DD-HH24.MI.SS.FF6";
dorog.zultan Creative Commons License 2007.07.20 0 0 2468
pragma autonomous_transaction;
igen ez lesz az!

Köszönöm

dz
Előzmény: NevemTeve (2464)
NevemTeve Creative Commons License 2007.07.20 0 0 2467
Célozd meg mondjuk DJG ezen topikját: C#
Előzmény: varjuvaj (2465)
crockl Creative Commons License 2007.07.20 0 0 2466
trigger-be hogy akarnal te commitolni?:)
Előzmény: dorog.zultan (2463)
varjuvaj Creative Commons License 2007.07.20 0 0 2465

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.

 

koszike

NevemTeve Creative Commons License 2007.07.20 0 0 2464
Ha nem lehet commit a triggerben, akkkor ne legyen commit a triggerben... esetleg autonóm tranzakciókezeléssel (vagy mi is a pontos szakkifejezés).
Előzmény: dorog.zultan (2463)
dorog.zultan Creative Commons License 2007.07.20 0 0 2463
idáig már eljutottam:
-----------------------------
create or replace trigger trg_proc_start
after update on schema1.log
begin
torlo_proc(param);
insert_proc(param);
end trg_proc_start;

ez a trigger vszínüleg jó is lenne
csak a két procedurában
van néhány commit
(másik táblát (táblákat) törlök, insertálok nem a log-ot).

hibaüzenet:
ora-04092 cannot commit in a trigger

CÉL:
A trigger hatására törlődjön és insertálódjón néhány tábla
(torlo_proc, insert_proc)
a trigger és a proc-ok az egyik a
a triggerrel figyelt tábla meg egy másik sémában van.

köszönöm
dz
Előzmény: dorog.zultan (2462)
dorog.zultan Creative Commons License 2007.07.20 0 0 2462
Sziasztok

ismét adódott egy problémám
amit gyorsan meg kellene oldanom.
Van egy
log nevű táblám egy schema2 nevű sémában,
mikor update következik be ebben a log táblában,
akkor egy másik mondjuk Schema1-ben lévő
procedure-t kellene elindítanom.
A triggernek és a procedure-nak
az utóbbi sémában, (Schema1-ben) kell lenni.
Lehetséges ez így?


Kb erre gondoltam:
(Schema1 -ben vagyunk)

create or replace trigger trg_proc_start
after update on schema1.log
for each row
begin
-- procedure indítása...
end trg_proc_start;

jogok meglennének:
(grant select, insert, update, delete, references, alter, index on schema1.log to schema2;)

dz
varjuvaj Creative Commons License 2007.07.20 0 0 2461

A file neve, amit toroltem: initagt.dat, nemtom miert jott letre, de kitoroltem es nincs gond.

Babraltam az adatbazisal, egy kicsit, .net-bol kapcsolodtam ra, de nem hiszem az legyen a gond.

Esetleg meg az lehetett a gond hogy aramingadozas volt es ujraindult a gepem, pont dolgoztam az adatbazissal.

Előzmény: KingFishR (2460)
KingFishR Creative Commons License 2007.07.20 0 0 2460
Bocsánat, persze a névfeloldás is lehet rossz és akkor annak a vezérlőfájlai körül lehet kavar (sqlnet.ora, tnsnames.ora, stb.)
Az is nagyon érdekelne, hogy hogyan is változott meg hirtelen a környezeted? Valammi mellékhatása, vagy direkt csinááltad, csak nem tudtad, hogy elkeveri a kapcsolódást?

Egyébként nekem ilyan hibám DB költöztetéskor volt, amikor szegény kliens még a régi gépen kereste, és még a listener is futkározott ott, csak az Oracle service már nem indult el (kicsit kevés controlfile volt a régi gépen:)).
Előzmény: KingFishR (2459)
KingFishR Creative Commons License 2007.07.19 0 0 2459
Mi az a file?
Netán egy listener.ora?
Merthogy abban lehet rosszul felvenni a service-t. Ha automatikus regisztrációval felveszi magát az adatbázis, az általában jól szokott sikerülni.
Előzmény: varjuvaj (2456)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!