Метку секретности строки можно поменять, и администратор (пользователь LBACSYS) это уже делал. А вот что произойдет, если поменять значение метки попробуют «обычные» пользователи:
CONNECT / AS SYSDBA
GRANT INSERT, UPDATE, DELETE ON scott.phone TO minimal;
Проверка:
SQL> CONNECT head/head Соединено. SQL> @updateallen OPEN
1 строка обновлена.
SQL> @updateallen LIMITED
1 строка обновлена.
SQL> @updateallen LIMITED
1 строка обновлена.
SQL> @updateallen OPEN
1 строка обновлена.
Вывод: пользователь HEAD беспрепятственно изменяет метку строки, как ему угодно. А пользователь EMPLOYEE ?
SQL> CONNECT employee/employee Соединено. SQL> @updateallen OPEN
1 строк обновлено.
SQL> @updateallen OPEN
1 строк обновлено.
SQL> @updateallen LIMITED
1 строк обновлено.
SQL> @updateallen LIMITED
0 строк обновлено.
SQL> @updateallen OPEN
0 строк обновлено.
Очевидно, как только метка становится LIMITED, пользователь EMPLOYEE теряет возможность ее изменять, а когда значение метки - OPEN, он такую возможность имеет. Он даже может сделать строку более секретной, но тогда потеряет к ней доступ.