Data Redaction Policy

Sikambr
Дата: 16.09.2015 16:20:30
Вопрос по сабж.
Не могу понять, почему возможно добавить политики с одинаковым именем 'test' для двух объектов 'table_1' и 'table_2'?
BEGIN
   DBMS_REDACT.ADD_POLICY(
     object_name          => 'table_1',
     policy_name          => 'test',
     expression           => '1=1');
   DBMS_REDACT.ADD_POLICY(
     object_name          => 'table_2',
     policy_name          => 'test',
     expression           => '1=1');
END;

Хотя в документации пишут, что имя уникальное:
policy_name: Specifies the name of the policy to be created. Ensure that this name is unique in the database instance. You can find a list of existing Data Redaction policies by querying the POLICY_NAME column of the REDACTION_POLICIES data dictionary view.
SQL*Plus
Дата: 16.09.2015 16:24:07
А почему у двух и более таблиц не может быть одной и той же политики?
Sikambr
Дата: 16.09.2015 16:34:24
Так вроде это две разные политики с одинаковым именем, и соответственно две записи во вьюхе REDACTION_POLICIES.
И судя по документации, имя должно быть уникальным.
ProgMann
Дата: 17.09.2015 00:13:21
Sikambr
Так вроде это две разные политики с одинаковым именем, и соответственно две записи во вьюхе REDACTION_POLICIES.
И судя по документации, имя должно быть уникальным.
А если это одна политика?
Где конкретно написано обратное?
Sikambr
Дата: 17.09.2015 07:10:32
ProgMann
А если это одна политика?

Тогда бы во вьюхе REDACTION_POLICIES.была бы одна запись.
ProgMann
Дата: 17.09.2015 15:25:12
Sikambr
ProgMann
А если это одна политика?

Тогда бы во вьюхе REDACTION_POLICIES.была бы одна запись.
А у вас их сколько?
Покажьте
eev
Дата: 17.09.2015 15:56:21
Sikambr
ProgMann
А если это одна политика?

Тогда бы во вьюхе REDACTION_POLICIES.была бы одна запись.

разницу между кол-вом строк и значением в столбце улавливаем? OBJECT_NAME понятен?
SQL> select object_name,policy_name from REDACTION_POLICIES;
OBJECT_NAME                    POLICY_NAME
------------------------------ ------------------------------
TEST_1                         test
TEST_2                         test
Sikambr
Дата: 17.09.2015 18:53:28
Речь идёт об имени политики, т.е. policy_name.
SQL*Plus
Дата: 17.09.2015 19:33:23
Sikambr
Речь идёт об имени политики, т.е. policy_name.
Ну и что не так?
OBJECT_NAME = 'TEST_1'   POLICY_NAME = 'test'
OBJECT_NAME = 'TEST_2'   POLICY_NAME = 'test'

У двух объектов (TEST_1 и TEST_2) одна и та же policy (test)
Sikambr
Дата: 17.09.2015 21:23:06
Процедура ADD_POLICY подразумевает добавление политики.
BEGIN
   DBMS_REDACT.ADD_POLICY(
     object_name => 'table_1',
     policy_name => 'test',
     expression  => '1=1');
   DBMS_REDACT.ADD_POLICY(
     object_name => 'table_2',
     policy_name => 'test',
     expression  => '2=2');
END;

Этот код добавляет 2 политики но с одним именем. Возможно я не понял документацию.
policy_name: Specifies the name of the policy to be created. Ensure that this name is unique in the database instance. You can find a list of existing Data Redaction policies by querying the POLICY_NAME column of the REDACTION_POLICIES data dictionary view.

Выделенный фрагмент перевел так:
Убедитесь, что это имя является уникальным в экземпляре базы данных.

А кто должен убедиться, Oracle или Пользователь?
У меня стоит задача вывести перечень политик по имени (policy_name), и для каждой показать DDL, возможность ENABLE/DISABLE.