Keresés

Részletes keresés

Pathmaster Creative Commons License 2007.08.29 0 0 2533

Hogyan lehet csoportfüggvényt készíteni?

 

Látott már valaki ilyet?

 

halaloszto Creative Commons License 2007.08.28 0 0 2532
marmint hogy a keresett tabla nem abban a semaban van az exportfileban, mint amelyik semat importalod? O beimportalta azt, amit kertel. Nem sorolhatja fel hogy mik azok az objektumok, amiket nem kertel...

vajk
Előzmény: MartinIsti (2531)
MartinIsti Creative Commons License 2007.08.28 0 0 2531
Azóta kiderült, hogy a fromuser-rel volt a baj. De azért kidobhatta volna hibaüziként.
Előzmény: edesviz (2530)
edesviz Creative Commons License 2007.08.28 0 0 2530

Szia,

jó smémában kerested?

Édesviz

Előzmény: MartinIsti (2529)
MartinIsti Creative Commons License 2007.08.28 0 0 2529
Sziasztok!

Újból egy kérdésem lenne, és ismét csak importálással kapcsolatos;-)

A héten kaptam legalább 20 kiexportált Oracle fájlt. Ezeknek a fele double-byte adatbázisból van, a másik fele normál. Az utóbbiakat sikerült is importálnom gond nélkül, viszont az előbbiekkel gondom akadt.
Az UTF-8-as környezetet létrehoztam, és két idődimenzió forrásául szolgáló táblát importálni is tudtam, viszont többet nem. Amikor log file-t kérek, abban az található, hogy: "Az import sikeresen, figyelmeztetések nélkül fejeződött be."

Ilyen viszont nincs benne:
"a következő tábla importálása:"CPOS_MDNE_TIME_PERD_CUBE" 2925 sor importálva "

És amikor megnézem az adatbázist, abban sem szerepel új tábla.

Két gépen is próbálkoztam, ugyanolyan eredménnyel.

Valakinek esetleg van ötlete?

Köszi!

MI
halaloszto Creative Commons License 2007.08.09 0 0 2528
parancssor az a sqlplus?

ugyanazon a gepen fut mint az adatbazis?

az uzenet alapjan lokalban konnktalt, nem sqlneten. nem is biztos hogy ugyanahhoz az adatbazishoz.

vajk
Előzmény: MartinIsti (2527)
MartinIsti Creative Commons License 2007.08.09 0 0 2527
Sziasztok!

Van egy ilyen hibaüzim, amikor bármilyen parancsot beírok parancssorba:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

De az az érdekes, hogy ha elindítom az Enterprise Manager Console-t, simán meg tudok nézni minden adatbázist, még az egyes táblák tartalmát is.

Most akkor mi lehet a helyzet?

Előre is köszi a segítséget!
Mbazsika Creative Commons License 2007.08.08 0 0 2526
Ha pl. letrehozok egy ugyfel tablara egy olyan policyt, hogy csak az "A" betuvel kezdodo ugyfelek jojjenek a selectbe, akkor a select jol muxik, a count csak az "A" betuvel kezdodo ugyfelek szamat adja vissza, de a Max(ugyfelnev) siman vissza adja az "XY Kft."-t.

Miert kellet sajat NLS? Migraltunk egy Sybase-s rendszert, es ott olyan sajat collate seq volt definialva, ahol a kis-nagybetuk nem voltak megkulonboztetve, es a program is ennek megfeleloen mukodott (http://forum.index.hu/EditArticle/ReplayEditArticle?a=49546315&t=1001339) Vegul is letre hoztunk egy HUNGARIAN2 a Local Builder-el es azzal allitottuk fel az adatbazist. Minden ok volt, kiveve a Min-Max, az tojt ra. Kaptunk egy athidalo megoldast a supporttol, de az olyan lassu volt, hogy elsirtam magam. Vegul sajat fuggvenyeket irtunk helyettuk.
Előzmény: KingFishR (2520)
halaloszto Creative Commons License 2007.08.07 0 0 2525
Y
Előzmény: MartinIsti (2524)
MartinIsti Creative Commons License 2007.08.07 0 0 2524
Ha ez a paraméter-fájlom, akkor úgy próbáltam, ahogy javasoltad, ugye?

USERID=system/oracle@dbyte
FROMUSER=IDWCP
TOUSER=IDWC1
Előzmény: halaloszto (2523)
halaloszto Creative Commons License 2007.08.07 0 0 2523
csinald systemkent az importot, fromuser touser megadasaval. szerintem a user amivel csinalod nem latja az adott tablateret.

vajk
Előzmény: MartinIsti (2522)
MartinIsti Creative Commons License 2007.08.07 0 0 2522
Sziasztok!

Az a - remélem viszonylag könnyen megválaszolható - kérdésem volna, hogy ha importálni szeretnék egy dump file-t, de hibaüzenetként azt kapom, hogy a ... táblaterület nem létezik, holott már létezik, csak egy előző dump települt be oda, mi a teendő?

Ugyanazzal a névvel nem lehet több táblaterület, én meg a gugliban nem találtam meg számomra is érthető módon, hogy miként lehet más táblaterületre importálni (nagyon nem értek hozzá, de kényszerből az én feladatom lett). A file tartalmáról semmi konkrét infom nincs, tehát nem tudom előre létrehozni az adatbázist és utána feltölteni adatokkal.

Előre is köszi, ha valakinek van ötlete és kedve segíteni!

Üdv:
MartinIsti
KingFishR Creative Commons License 2007.08.06 0 0 2521
Köszi, legalább nem kell keresgélnem :)
Előzmény: tnsnames.ora (2519)
KingFishR Creative Commons License 2007.08.06 0 0 2520
Ez a "min-max nagyon problémás" dolog nekem új. Olyanom már volt, hogy ha oszlopstatisztika gyűjtése közben nem binary-n volt a sort, akkor ora-600-at kaptam, de hogy ne is érdekelje, az azért elég durva :( Tudsz erre valami jó kis egyszerű példát mutatni?

Mit jelent az, hogy nem veszi figyelembe a szabályt? Azt tudom elképzelni, hogy egyszerűen a feltétele nem illeszkedik. Az más csúnya bug, ha adott helyzetben illeszkednie kellene. Erre is szivesen vennék egy példát, ha nem gond.

És hogy csináltatok saját NLS-t? Ilyesmiről még nem hallottam, viszont érdekesen hangzik. :)
Előzmény: Mbazsika (2518)
tnsnames.ora Creative Commons License 2007.08.04 0 0 2519
Csak a dokumentálás kedvéért (FGAC):
http://asktom.oracle.com/tkyte/article2/
http://www.orafusion.com/art_fgac.htm
http://www.unix.org.ua/orelly/oracle/guide8i/ch08_01.htm
http://www.praetoriate.com/oracle_tips_access_control.htm
Mbazsika Creative Commons License 2007.08.04 0 0 2518
Nem szall el, csak nem veszi figyelembe a szabalyt. Nem ujdonsag, elegge kehes a min-max, mar akkor kiirtottuk karakteres hasznalatat, amikor sajat nls filet kezdtunk hasznalni es kiderultek a problemai.. Most csak kiprobaltam :-)
Előzmény: KingFishR (2517)
KingFishR Creative Commons License 2007.08.04 0 0 2517
És nincs semmi hibaüzenet sem?
Előzmény: Mbazsika (2516)
Mbazsika Creative Commons License 2007.08.04 0 0 2516
Nem veszi figyelembe a korlatozast... Count - Avg ok, Min - Max tojik ra. De azok nem szerettek a custom NLS-t sem.
Előzmény: KingFishR (2515)
KingFishR Creative Commons License 2007.08.04 0 0 2515
Márhogy mi a baj?
Előzmény: Mbazsika (2514)
Mbazsika Creative Commons License 2007.08.04 0 0 2514
Viszont nem tul nagy meglepetesemre a Min - Max nem szereti....
Előzmény: Mbazsika (2512)
Mbazsika Creative Commons License 2007.08.04 0 0 2513
Neked is koszi.
Előzmény: lakotars (2511)
Mbazsika Creative Commons License 2007.08.04 0 0 2512
Koszi, ez az.. muxik :-))
Előzmény: KingFishR (2508)
lakotars Creative Commons License 2007.08.04 0 0 2511
Jól mondják itt az okos emberek, hogy erre a VPD van kitalálva.

De esetleg így is lehet próbálkozni egyszerűbb eszközökkel:
1) Két nézetet elkészíteni (teljes és korlátozott)
2) Az eredeti tábla publikus elérését megszüntetni
3a) Privilegizált felhasználók kapnak egy saját szinonimát + select jogot a teljes nézetre
3b) Mezei felhasználók kapnak egy saját szinonimát + select jogot a korlátozott nézetre
4) Ha írni is akarnak, nem csak olvasni, akkor pedig jöhetnek az Instead of triggerek.


Előzmény: Mbazsika (2506)
Pugfan Creative Commons License 2007.08.03 0 0 2510
Hamár így belejöttetetk a tanácsok osztogatásába:

Az lenne a kérdésem, hogy OCI-ból (pontosabban cx_Oracle-ből, de az is OCI-t használ) lehet-e úgy tárolt eljárást hívni, hogy PL/SQL RECORD ill. PL/SQL TABLE típusú argumentumai vannak az eljárásnak, és ezeket a hívó fél tölti?

Egy (RONDA) megoldásom van rá (TYPE xx_typ IS TABLE OF VARCHAR2 INDEX BY BINARY_INTEGER - azaz tömb típust tudok átadni; "csak" szészedem a rekordot ilyen tömbökre, és egy PL/SQL blokkba ágyazom a megfelelő típusú változó feltöltését ezekből).

Köszi, GT
tnsnames.ora Creative Commons License 2007.08.03 0 0 2509
Felpörgött a topic... ;)

Amíg nem volt VPD, addig leánykori nevén FGAC volt, ami neked kellhet: Fine Grained Access Controll. Ez session-infók + jogosultság alapján bővíti az sql where-feltételét a háttérben. Így hiába 100 rekordos a tábla -> a select count(*) from tabla az általad látott mondjuk 30-at fogja visszaadni, sql*plusban is (ennek a további Oracle általi where-szűkítésnek köszönhetően). A mögöttes implikáló elgondolás az volt, annó, hogy pl.: egy nagy könyvelőcég, aki több kis cégnek könyvel, teljesen szeparáltan tudja kezelni a könyvelendő cégeket egy adatbázison belül, "single instance" elv mentén...
Előzmény: Mbazsika (2503)
KingFishR Creative Commons License 2007.08.03 0 0 2508
VPD = Virtual Private Database
Ha a userek azonosíthatók a bejelentkezéskor, egy logontriggerrel a sessionre vonatkozóan tudsz infókat tárolni, amiben megadod a user üzleti szerepkörét. Ezt az infót pedig a táblára rakott policy-vel felhasználhatod. A policy hozzáteszi a megfelelő where feltételt a táblára elhangzó összes selecthez.
Biztos nem ez a világ legegyszerűbb megoldása, de ha nem connection poolt használ a kliensed, akkor biztos működik. Connection pool esetén a session-ben tárolt üzleti szerepkör infót az alkalmazásnak kell váltogatnia. Talán van rá valami automatizmus Oracle AS 10g-ben, de ebben nem vagyok nagyon otthon.
Ha simán a user nevéből, vagy valami értelmes, a sessionből egyébként is elérhető paraméterből eldönthető, hogy ki mit lát, elég csak a policyt használnod, nem kell a logon triggerrel szenvedned.
Ha nagyon intenzíven használják a táblát, akkor okozhat teljesítményromlást, hiszen a policy fv.-t le kell futtatni, hogy kitalálja, mi legyen a where feltétel. De erre is vannak beállítások, hogy milyen esetekben tudja cacheelni ezt az infót. Ha pl. egy oracle usernév alapján eldönthető feltételről van szó, elég sessionönként egyszer kiértékelni a fv-t, a többi alkalommal egyszerűen csak hozzácsapja és kész - marad a softparse, ami nem túl vészes költség ugyebár.
Előzmény: Mbazsika (2503)
NevemTeve Creative Commons License 2007.08.03 0 0 2507
Sok mindent szeretne az ember, amit ténylegesen nem lehet...
Mbazsika Creative Commons License 2007.08.03 0 0 2506
Raadasul a cel az lenne, hogy pl. SqlPlus-bol a kozvetlenul tablabol selectalva se lathassa a user az adott rekordokat.
Előzmény: Mbazsika (2505)
Mbazsika Creative Commons License 2007.08.03 0 0 2505
A kliensprogramok adottak, es a kerdeses 3 tabla a legfrekventaltabbak koze tartozik..
Előzmény: NevemTeve (2504)
NevemTeve Creative Commons License 2007.08.03 0 0 2504
Nem lehetne egy-két VIEW-val kavarni? Lehetne egy, amiben WHERE vedett='N' és egy amiben WHERE vedett='I'
Előzmény: Mbazsika (2503)

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