A felhasználó vagy séma, oracle, cikkek, programozás - programozás C, Delphi, C #
RDBMS Oracle, valamint annak minden igazi versenytársak - a régi rendszert. Nemrég ünnepelte fennállásának 25. évfordulóját. Ilyen hosszú élettartam nem lenne lehetséges anélkül, hogy a számos technikai megoldás sikeres (ebben a nézetben) a javasolt vissza a régi időkben. De ezzel együtt a rendszer is vannak példák a kezdeti tervezési hibák. Miután úgy tűnik, nem így van, majd rögzítse őket nagyon nehéz volt, így csak a legutóbbi verziók, például a kilencedik lett, tapintható módon a probléma megoldásának véletlenül programozni. Ez a probléma a „felhasználók” és „áramkör”.
A fejlesztők számára a két fogalom nem azonos. Így a rendszer egyfajta konténer az adatbázisban tárolt tárgyak, melyen hagyományos kettős funkcionális terhelés: mint azt a szervező adatok (objektumok a sok, de nem az összes alkalmazás érdekli őket), és hogyan adatvédelmi illetéktelen alkalmazásokat. A felhasználó, az ő eredeti ötlet - ez különösen a személy, aki képes csatlakozni az adatbázishoz dolgozni bizonyos adatokat, ellenőrizni hatóság ellenőrizni elkötelezett fellépés, és így tovább ..
Ezek tartoznak az információs rendszer, vállalati, és a felhasználók is bérelhet és a tűz. Hogyan szimulálni ezt a munkamódszer az Oracle?
Lehet, hogy valaki már felér a megoldást erre a problémára. Ha nem - akkor a következő.
Tároló létesítmények számára „személyzeti osztály”, hogy hozzon létre egy séma (-user) HR:
CREATE FELHASZNÁLÓ hr által azonosított hr;
Továbbá, mivel meg kell határozni az összes tulajdonságait ennek a rendszernek, például:
ALTER FELHASZNÁLÓ hr DEFAULT TABLESPACE hr_ts DEFAULT TABLESPACE temp; és így tovább.
Az egyének létrehozása Oracle felhasználók, például:
CREATE USER pete azonosított thisismepete;
CREATE USER mary azonosított maryiam;
.
Továbbá, a felhasználóknak meg kell tulajdonítani a kívánt tulajdonságokkal. Jellemző, hogy mind egyformák, így van értelme, hogy írjon egy forgatókönyvet, hogy ad minden új „Petya” vagy „Mása” megfelelő felhatalmazással. Hogy ott kell vonni. Legalább rendszer kiváltság CREATE SESSION. De emellett, hogy hozzáférjenek a táblázatok nevében a HR adjon valami hasonló
GRANT SELECT, INSERT, UPDATE, DELETE ON main_hr_table Pete;
Ez még nem minden. Felhasználói PETE most tényleg képes csatlakozni az adatbázishoz a saját nevében és a munka MAIN_HR_TABLE asztal, azonban arra utalnak, hogy ez ő lesz a teljes neve: HR.MAIN_HR_TABLE, mivel nem volt az asztalnál. Tudom ezt elkerülni, és rávenni, hogy úgy érzi, „otthon”? Lehetséges. Ez elég ahhoz, hogy:
ALTER SESSION SET CURRENT_SCHEMA = óra;
Ez sokkal kényelmesebb, de ez a csapat, „csomagolt” a ravaszt, ha csatlakozunk a „rendszer” PETE, vagyis hogy például nevében a SYS:
CREATE OR CSERE TRIGGER set_hr_schema_for_pete
Bejelentkezés után ON pete.SCHEMA
BEGIN
EXECUTE azonnali „ALTER SESSION SET
CURRENT_SCHEMA = HR „;
END;
/
Most az adatbázishoz csatlakozáshoz, a felhasználó látni fogja PETE tárgyak HR „mint a saját”, a rövid név, bár saját táblázatokat, akkor kénytelen lesz felhívni az „egész”, például PETE.MY_PETE_TABLE, de úgy tűnik, hogy ez nem számít.
Jellemzői a javasolt megoldások
- szükséges, hogy automatizálják
- lehetetlen létrehozni és törölni
- Használhatja a rendszer audit
Kínálnak Oracle 9.0: „vállalati felhasználók” és a névszerver.