Keresés

Részletes keresés

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)
Mbazsika Creative Commons License 2007.08.03 0 0 2503
Hello!

Egy kis segitsegre lenne szuksegem...
Egy mar mukodo rendszeren kellene ugy modositani, hogy nehany tablara rekord szintu select jogot kellene bizonyos felteteleknek megfelelo felhasznaloknak adni. Tehat lennenek az adott tablaknak olyan rekordjai, amiket csak kituntetett felhasznalok lathatnanak, vagy esetleg az adott rekordok nehany mezojet zanzasitva (termeszetesen kliens programtol fuggetlenul).
Emlekszem, hogy volt valamilyen hasonlo, tamogatott adatbazis oldali megoldas, de egesz egyszeruen nem talalom a doksiban.
10gR2

Elore is koszi!
KingFishR Creative Commons License 2007.08.03 0 0 2502
Ha autonóm tranzakcióban (ami csak a procedúrádra tud vonatkozni) nem commitálsz, akkor természetesen rollbackelődik!
Előzmény: KingFishR (2499)
KingFishR Creative Commons License 2007.08.03 0 0 2501
Ha meghívod a progit akár sqlplusból, hibára fut és nem kezeled le sehol a kódban, amúgyis megkapod a hibaüzenetet.

Természetesen a logikai hibákat kaphatod csak el, de működés szempontjából az ORA-600 és ORA-7445 hibák, amik a server process leállásával járnak nyilván nem számítanak :)
Előzmény: varjuvaj (2496)

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