Блокировки базы данных(Oracle)
От: Oleg_Dem  
Дата: 01.04.04 08:05
Оценка:
Привет всем!!!

Возникла такая проблема: я написал програмку, которая синхронизирует схемы баз данных. Очевидно что пока идёт процес синхронизации все пользователи должны быть "отконекчены". Нашёл способ блокировать пользователей "alter user USERNAME account lock" (потом делаю unlock), но это проблему не решает. Есть два момента: 1) "Подконекченые" пользователи работают, как работали раньше.(решение — можно убить сесии); 2) Пользователя, под которым я конекчусь("хазяина схемы"), я не могу таким образом "отрезать" (я не смогу потом выполнить скрипт синхронизации схемы). А проблема в следующем: пользователи могут с другой программы подконектится под этим пользователём(см. 2)). Как можно блокировать схему базы данных, чтоб никто не мог там лазить???
Re: Блокировки базы данных(Oracle)
От: Dym On Россия  
Дата: 01.04.04 08:21
Оценка:
Здравствуйте, Oleg_Dem, Вы писали:

O_D>Как можно блокировать схему базы данных, чтоб никто не мог там лазить???

Выполняй синхронизацию под пользователем system.
Счастье — это Glück!
Re: Блокировки базы данных(Oracle)
От: Igor Trofimov  
Дата: 01.04.04 09:06
Оценка:
O_D>Возникла такая проблема: я написал програмку, которая синхронизирует схемы баз данных. Очевидно что пока идёт процес синхронизации все пользователи должны быть "отконекчены".

Вовсе не очевидно. Может достаточно заблокировать таблицы?
Re: Блокировки базы данных(Oracle)
От: Аноним  
Дата: 01.04.04 17:10
Оценка: 1 (1)
Restricting Access to an Instance at Startup
You can start an instance, and optionally mount and open a database, in restricted mode so that the instance is available only to administrative personnel (not general database users). Use this mode of instance startup when you need to accomplish one of the following tasks:

Perform an export or import of database data

Perform a data load (with SQL*Loader)

Temporarily prevent typical users from using data

During certain migration and upgrade operations

Typically, all users with the CREATE SESSION system privilege can connect to an open database. Opening a database in restricted mode allows database access only to users with both the CREATE SESSION and RESTRICTED SESSION system privilege. Only database administrators should have the RESTRICTED SESSION system privilege. Further, when the instance is in restricted mode, a database administrator cannot access the instance remotely through an Oracle Net listener, but can only access the instance locally from the machine that the instance is running on.

Start an instance (and, optionally, mount and open the database) in restricted mode by using the STARTUP command with the RESTRICT clause:

STARTUP RESTRICT

Later, use the ALTER SYSTEM statement to disable the RESTRICTED SESSION feature:

ALTER SYSTEM DISABLE RESTRICTED SESSION;

----
Gt_
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.