Данные для регламентируемого доступа
Пусть у сотрудников из таблицы EMP имеются телефоны: CONNECT scott/tiger
CREATE TABLE phone AS SELECT empno FROM emp;
ALTER TABLE phone ADD (pno VARCHAR(20));
ALTER TABLE phone ADD PRIMARY KEY (empno, pno);
UPDATE phone SET pno = TRUNC(dbms_random.value(100, 999)) '-' TRUNC(dbms_random.value(1000, 9999));
Какие-то из них будут общедоступны, а какие-то нет, но об этом будет сообщено позже.
Заведем пользователей Oracle, представляющих сотрудника и административное лицо. Дадим им минимум необходимых для данного примера полномочий:
CONNECT / AS SYSDBA
CREATE USER employee IDENTIFIED BY employee;
CREATE USER head IDENTIFIED BY head;
CREATE ROLE minimal;
GRANT CREATE SESSION TO minimal;
GRANT SELECT ON scott.phone TO minimal;
GRANT SELECT ON scott.emp TO minimal;
GRANT minimal TO employee, head;
GRANT UPDATE ON scott.phone TO lbacsys;
GRANT UPDATE ON scott.emp TO lbacsys;