Сохранение объектов конкретного пользователя БД

-only < имя пользователя >
 

Сохранять объекты заданного пользователя. Значение < имя пользователя > должно представлять имя конкретного пользователя БД или маску имен пользователей БД.

Маска допускает 2 представления:

  • маска заключается в двойные кавычки, не может содержать символа двойной кавычки, а символы '*' и '?' всегда трактуются как метасимволы;

  • любой символ маски, следующий за экранирующим символом '\' теряет своё специальное значение. Это позволяет задавать маски, содержащие символы '*', '?', '"', ' ', '.'. Также следует экранировать символы ',' и ';', чтобы отменить их специальное значение разделителя масок.

Примечание

Ключ -only не действует на маску прав доступа пользователя, т.к. в маске доступа < Пользователь >.< Объект > поле < Пользователь > имеет значение получателя привилегий, а не владельца объекта. Владельцем объекта всегда является пользователь, выполнявший сохранение этого объекта.

Пример
SQL >username SYSTEM/MANAGER8
SQL >create table T (i int);
SQL >username ABC/12345678
SQL >create table T (i int);
SQL >grant select on T to SYSTEM;

lhb s -u SYSTEM/MANAGER8 -ot T
!сохранит SYSTEM.T

lhb s -u SYSTEM/MANAGER8 -ot T -takeforeign
или
lhb s -u SYSTEM/MANAGER8 -ot T -only
или
lhb s -u SYSTEM/MANAGER8 -ot T -only *
!сохранит SYSTEM.T, ABC.T

lhb s -u SYSTEM/MANAGER8 -ot T -only ABC
!сохранит ABC.T

lhb s -u SYSTEM/MANAGER8 -ot T -only ABC -takeforeign
!сохранит ABC.T

lhb s -u SYSTEM/MANAGER8 -ot SYSTEM.T,T -only ABC
!сохранит SYSTEM.T, ABC.T

lhb s -u SYSTEM/MANAGER8 -ot T -only SYSTEM,A*
!сохранит SYSTEM.T, ABC.T

Примечание

Из примеров видно, что во всех случаях вместо ключа -takeforeign можно использовать ключ -only (это справедливо и для ключа -own при восстановлении объектов БД).