Oktatási segédlet tippek és trükkök oracle - sql programozás

A GRANT utasítás végrehajtása az Oracle rendszerben számos opciót és változást támogat. A szintaxis a következő.

[szerep] [, ...]> [BE

[JAVA [] [sémaName.] [Objektum]> TO

[OPCIÓNAK] [IDENTIFIED BY password] [WItN ADMIN OPTION];

Több kiváltságot rendelhet egy nyilatkozathoz, de ezeknek a jogosultságoknak ugyanolyan típusúnak kell lenniük (objektum, rendszer vagy szerep).

Például akkor, hogy a felhasználó három objektum jogosultságokat tartalmazza a táblázat egyetlen GRANT utasítással, majd egy külön kezelési rendelni két rendszer kiváltságokat semmilyen szerepet, míg a harmadik utasításokat egy felhasználóhoz több szerepet, de nem tudod, hogy mindezt egy GRANT utasítással .

Az alábbiak az Oracle platform GRANT utasítás paraméterei.

A megadott sémaobjektumhoz (például asztalhoz vagy nézethez) való hozzáférési jogosultságok a megadott címzett (címzett neve) vagy szerepkörökhöz vannak hozzárendelve. Több objektum jogosultság, sémaobjektum vagy címzett kombinálható egy utasításban. Az egyik utasításban azonban nem lehet kombinálni a rendszer jogosultságainak vagy szerepköreinek hozzárendelését az objektum jogosultságok hozzárendelésével. A következő objektum jogosultságok léteznek.

A sémaobjektum eléréséhez rendelkezésre álló valamennyi jogosultság hozzá van rendelve. A táblákra alkalmazható.

Jogosult módosítani egy meglévő táblát az ALTER TABLE utasítással. Alkalmazható táblákra és szekvenciákra.

Jogosult ahhoz, hogy a debugger segítségével hozzáférjen az asztalhoz. Ez a hozzáférés minden táblázati aktiválásra és az SQL kódra vonatkozó bármely információra vonatkozik, amely közvetlenül hozzáfér a táblához. A táblázatokra, nézetekre, eljárásokra, funkciókra, csomagokra, Java-objektumokra és típusokra alkalmazható.

Futtathat egy tárolt eljárást, egy felhasználó által definiált függvényt vagy egy csomagot. Alkalmazhatja az eljárásokat, funkciókat, csomagokat, Java objektumokat, könyvtárakat, típusokat, indextípusokat és felhasználói operátorokat.

Jogosult indexek létrehozása asztalon.

(A KÉSZÍTÉS REFRESH QUERY REWRITE>

Megadott kiváltság létre materializált nézetek frissülnek tranzakció után (refresh-on-elkövetni), illetve létrehozhat materializált nézet újraírás a lekérdezés említett táblázat. Csak a megvalósult nézetekre vonatkozik.

A jogot a referenciális integritást biztosító korlátozások meghatározására adják. A táblákban használható.

(SELECT | INSERT | UPDATE DELETE>)

A jogosultság a megfelelő SQL parancsok végrehajtására a megadott séma objektumhoz kerül. Használható táblákban, nézetekben, szekvenciákban (csak SELECT) és materializált ábrázolásokban (csak SELECT). Vegye figyelembe, hogy a DELETE jogosultságot igénylő felhasználónak vagy szerepkörnek a SELECT jogosultságot kell megadnia. Jogosultságokat oszthat meg az oszlop szintjén azáltal, hogy az objektum nevét, az oszlopok zárolt listáját az utasításba beírja. Ez csak akkor lehetséges, ha egy INSERT, REFERENCES vagy UPDATE objektum jogosultságokat ad meg egy táblázatban vagy nézetben.

A megadott nézet gyermek megjelenítésének joga van megadva. Csak nézetekkel és típusokkal használható.

A megadott Oracle rendszer jogosultság egy vagy több felhasználóhoz vagy szerephez van hozzárendelve. Például megadhat olyan jogosultságokat, mint például a CREATE TRIGGER vagy az ALTER USER. Mindkét esetben egy rendszer jogosultság megadása megadja a felhasználónak vagy a szerepnek a megfelelő nevet tartalmazó parancs végrehajtását. A rendszer jogosultságainak teljes listája a 3.2. Szakaszban található ebben a részben.

A szerep a felhasználóhoz vagy egy másik szerephez van hozzárendelve. A felhasználói szerepkörök mellett több készenléti rendszer szerepkört is tartalmaz, amelyeket az Oracle szállít.

CONNECT, RESOURCE és DBA

Visszafogott kompatibilitás az Oracle korábbi verzióival.

Ne használja ezeket a szerepeket az Oracle jelenlegi és újabb verzióiban, mert a jövőben támogatásuk megszüntethető.

DELETEJOA TALOGJROLE, EXECUTEJJA TALOGJROLE és SELECT_CA TALOGJ.OLE

Azoknak a felhasználóknak, akiknek ehhez a szerephez van rendelve, törölhetik, végrehajthatják és kiválaszthatják az adatokat a szótárbeli nézetekből és csomagokból.

EXP_FULL_DATABASE és IMP_FULL_DATABASE

Azoknak a felhasználóknak, akiknek ehhez a szerephez rendelnek, futtathatják az import és export segédprogramokat.

AQJJSERJROLE és AQ_ADMINISTRATORJROLE

Az ehhez a szerephez rendelt felhasználók használhatják vagy felügyelhetik az Oracle funkciókat, például az Advanced Queuing szolgáltatást.

Csak az Oracle Enterprise Manager és az Intelligens ügynök van hozzárendelve.

RECOVERY_CATA LOGO WNER

Kiváltság, hogy olyan felhasználókat hozzanak létre, akik saját hasznosítási katalógust birtokolnak.

Kiválaszthatja a heterogén Oracle-szolgáltatásokat támogató adatszótár-területek elérését.

A felhasználó vagy szerepkör jogosultsága a sémaobjektumhoz való hozzáféréshez. Az adatbázis-objektumok közé a táblák, nézetek, sorozatok, tárolt eljárásokat, felhasználó által definiált függvények, csomagok, materializált nézetek, felhasználó által definiált típusok, könyvtárak, indextípusok, egyéni szereplők vagy szinonimák ezeket az objektumokat. Ha a séma neve nincs megadva, akkor az aktuális felhasználó sémája hallható. Az Oracle platform két speciális kulcsszót is támogat.

Engedélyeket ad a könyvtár objektumhoz, amely egy Oracle objektum, amely megfelel a fájlrendszer könyvtárának.

A hozzáférési jogosultságok a SOURCE és RESOURCE séma Java objektumaihoz tartoznak.

Megadja azt a felhasználót vagy szerepet, amely ezt a jogosultságot megkapja. A PUBLIC kulcsszó akkor is használható, ha törli a PUBLIC szerepkörhöz rendelt jogosultságot. A kiváltság több címzettjét vesszővel elválasztva felsorolhatja.

Lehetővé teszi a címzett számára, hogy jogosultságot biztosítson más felhasználóknak vagy a PUBLIC szerepnek, de más szerepeket nem tartalmaz.

HIERARCHY OPCIÓval

Lehetővé teszi, hogy a szülőobjektumban a kiváltság jogosultja megkapja ezeket a jogosultságokat minden gyermekobjektumban. Ez minden olyan leszármazottra vonatkozik, amelyet a jövőben hoznak létre. Ez az opció csak objektum SELECT jogosultság hozzárendelésekor használható.

IDENTIFIED BY password [ADMIN OPCIÓNAK]

Állítsa be vagy módosítsa azt a jelszót, amelyet a jogosultság címzettjének szerepeltetnie kell.

A jogosultságok hozzárendelése a felhasználókhoz azonnal hatályba lép. A szerepek hozzárendelése azonnal érvénybe lép, ha a szerep szerepet játszik. Ellenkező esetben a hozzárendelés a szerepkör engedélyezése után lép érvénybe. Ne feledje, hogy a szerepek hozzárendelhetők a felhasználókhoz és más szerephez (köztük a PUBLIC). például:

GRANT sales_reader TO salesjnanager;

Hozzáférési jogosultságok megadása a nézethez, az előbbi bemutató táblázatokban jogosultsági adatokra van szüksége, megadva a WITH GRANT OPTION záradékot.

Ha jogosultságokat szeretne adni minden felhasználónak, egyszerűen rendelje meg ezeket a PUBLIC szerepköröket.

GRANT SELECT ON work_schedule A nyilvánossághoz;

Ugyanakkor bizonyos korlátozások vannak a rendszer jogosultságainak és szerepének biztosításában.

  • Egy kiváltság vagy szerep többször nem található a GRANT utasításban.
  • A szerep nem rendelhető hozzá.
  • Szerepek nem lehet hozzárendelni rekurzívan, hogy van, nem lehet rendelni a szerepét sales_reader sales_manager szerepét, majd adjon a szerepe sales_manager szerepet sales_reader.

Több jogosultságot rendelhet ugyanabban a GRANT utasításban. Azonban ezek a kiváltságok ugyanolyan típusú tárgyakra vonatkoznak.

GRANT UPDATE (emp_id, job_id), REFERENCIÁK (emp_id)

Visszavonulásként bármely objektumhoz való hozzáférési jogosultság megadása az asztalhoz lehetővé teszi a felhasználó (vagy szerepkör) számára, hogy az Oracle LOCK TABLE utasítással minden zárolási módot lezárjon.

Szinte az összes támogatott Oracle funkcionalitás és a csapat lehet rendelni a kiváltsága a GRANT utasítás (mert azt mutatja, 3.2). Előnyök beadható nemcsak az objektumokra az adatbázisban (például táblák és nézetek) és a rendszer parancsokat (például OLYAN TABLE), hanem a tárgyak rendszerek (például a könyvtárak, JAVA forrás és FORRÁS).

A 3.2. Pontban bemutatott bármely paraméter megadja az utasítás végrehajtási jogát a megadott típusú objektumokhoz, amelyek a séma bármely felhasználójához tartoznak. Bármely lehetőség nélkül a felhasználó csak a saját rendszerében lévő objektumokra alkalmazhat utasításokat. Az Oracle rendszer-jogosultságainak teljes listája a 3.2.

Minden, a 3.2. Pontban bemutatott és az ANY kulcsszót tartalmazó kiváltság különösen fontos. Különösen a "ANY" kulcsszó biztosítja a felhasználók számára a meghatározott művelet végrehajtását bármelyik rendszerben. Ha az összes felhasználói sémát itt kívánja beilleszteni, de kizárja a SYS sémát, akkor állítsa be az alapértelmezett FALSE értékhez tartozó inicializálási paramétert: 07 DICTIONARY ACCESSIBILITY.

További információk a témáról

Néhány tipp és technika az INSERT utasítás felhasználásához az Oracle platformon található adatbázisokban

Kapcsolódó cikkek