2015-01-14 3 views
0

Можно ли разбить таблицу в Oracle по схеме?Разбиение таблицы Oracle по схеме

Конкретный пример, который я хочу использовать, заключается в создании открытого табличного пространства, называемого «биллинг», которое содержит основную таблицу транзакций, которая имеет все элементы, общие для транзакции (trans id, date, transaction completed и т. Д.), но также имеет дополнительный столбец для «идентификатора приложения», в котором хранится, какое веб-приложение создало транзакцию.

Другими словами, я хотел бы иметь несколько различных веб-приложений со своими собственными схемами для ссылки на одну и ту же таблицу открытых транзакций, но фильтроваться с помощью «идентификатора приложения» и только позволять им видеть транзакции, созданные этим веб приложение.

Например, у нас есть два веб-приложения, которые имеют свои собственные табличные пространства (tablespace_1 и tablespace_2), и они могут видеть общую таблицу «billing.transactions», но каждое табличное пространство может видеть только те транзакции по сравнению с их схемой, т.е. tablespace_1 может видеть только транзакции, у которых есть «идентификатор приложения» 1, а tablespace_2 может видеть транзакции с «идентификатором приложения» из 2.

Возможно ли это?

Для записи я использую Oracle 11g.

+0

Вы можете сделать это с учетом. Приложению может быть предоставлено разрешение SELECT для представления, даже если оно не имеет разрешения в базовой таблице. –

+0

Я думал об этом, но недостатком этого я должен был бы создать представление для каждого табличного пространства, которое мне нужно было бы обновить, если бы я когда-либо изменил таблицу основных транзакций. Проведя некоторое исследование, я наткнулся на решение, которое, как я считаю, будет работать. Это называется «Виртуальная частная база данных». Это позволяет мне динамически контролировать, какое приложение видит данные и не требует поддержки отдельных представлений. – phelar

ответ

0

Хорошо, после того, как я сделал несколько поисковых запросов, мне удалось найти решение, которое я хотел. Это называется «Виртуальная частная база данных».

Это позволяет мне автоматически добавлять идентификатор приложения к запросу пользователя схемы и обеспечивать целостность пользователя схемы, чтобы они могли вставлять/обновлять/выбирать транзакции, которые они должны видеть.

Смежные вопросы