Доступно с лицензией Standard или Advanced.
Как администратор базы геоданных, вы время от времени должны просматривать, кто подключен к базе геоданных, и какие соединения являются блокированными ресурсами. Вам может понадобиться удалить определенные подключения, если пользователи не могут выйти сами. Например, редактор мог оставить сеанс редактирования открытым, заблокировал данные в сеансе редактирования и запретил другим редакторам доступ к ним. Если число подключений к базе геоданных ограничено, то может потребоваться отключить какого-либо пользователя, который не смог выйти, чтобы освободить подключение. Или вам может потребоваться отключить всех пользователей, чтобы вы могли применить патч к базе данных, восстановить базу данных или сжать базу геоданных.
Можно подключиться к базе геоданных под пользователем sde в ArcGIS Pro для просмотра и, при необходимости, удаления подключений. Либо для этого можно использовать функции ArcPy.
Внимание:
Соблюдайте осторожность при отключении пользователей. Esri рекомендует вам избегать отключения активных сеансов, особенно, если подключенный пользователь находится в процессе редактирования. Следует отключать только сеансы, оставшиеся открытыми, но не использующиеся (например, если пользователь оставил открытый сеанс на выходные), зависшие сеансы, блокирующие объект, или сеансы, попавшие в ситуацию взаимоблокировки.
Для отключения пользователей от базы геоданных SAP HANA пользователь sde должен иметь права SESSION ADMIN в базе данных .
Сначала определите пользователей, подключенных к базе геоданных. Если необходимо, можно удалить подключения.
Идентификация и удаление подключений из ArcGIS Pro
Вы можете подключиться к базе геоданных в качестве sde в ArcGIS Pro для просмотра подключений в диалогом окне Администрирование базы геоданных.
- Запустите ArcGIS Pro.
- Подключитесь к базе геоданных от имени пользователя sde.
- Щелкните правой кнопкой мыши на подключении к базе данных и выберите Администрировани > Подключения.
Отобразится список всех сеансов, которые в текущий момент подключены к базе геоданных. Ваш сеанс отображается курсивным шрифтом.
- Свяжитесь с пользователями и попросите их закрыть свои сеансы. Если вы не можете связаться с ними, и все-таки необходимо отключить их от базы геоданных, то перейдите к следующему шагу.
- Щелкните правой кнопкой мыши сеанс определенного пользователя, который вы хотите удалить из базы геоданных, и щелкните Отключить.
Сеанс будет немедленно отключен от базы геоданных.
- Закройте диалоговое окно Администрирование базы геоданных.
Идентификация и удаление подключений с помощью Python
Вы можете запустить функции Python, чтобы создать файл подключения к базе геоданных от имени администратора, использовать этот файл для подключения к базе геоданных и получения списка текущих подключений, а также для удаления подключения к базе геоданных, если необходимо.
- Создайте файл подключения базы данных с помощью функции CreateDatabaseConnection_management в окне Python. Сохраните имя пользователя и пароль в файле.
В данном примере файл подключения (saphana.sde) создан в папке пользователя dbconnections. Файл подключения создает подключение к базе данных spsap, под пользователем sde.
import arcpy arcpy.CreateDatabaseConnection_management ("/usr/dbconnections", "saphana.sde", "SAPHANA", "spsap", "DATABASE_AUTH", "sde", "thesdepwd", "SAVE_USERNAME")
- Запустите функцию ListUsers для получения списка всех текущих подключений к базе геоданных spsap.
Укажите файл подключения, который вы создали на предыдущем шаге.
##No need to import arcpy if you are running functions in the same Python window. import arcpy arcpy.ListUsers("/usr/dbconnections/saphana.sde")
Возвращается список подключений пользователей.
[user(ClientName=u'PC4', ConnectionTime=datetime.datetime(2018, 10, 18, 8, 30, 19), ID=18, IsDirecConnection=True, Name=u'PUBLISHER1')] [user(ClientName=u'PC25', ConnectionTime=datetime.datetime(2018, 10, 21, 14, 10, 43), ID=33, IsDirecConnection=True, Name=u'EDITOR2')] [user(ClientName=u'PC11', ConnectionTime=datetime.datetime(2018, 10, 22, 9, 18, 26), ID=39, IsDirecConnection=True, Name=u'READER5')] [user(ClientName=u'PCA2', ConnectionTime=datetime.datetime(2018, 10, 22, 11, 21, 2), ID=41, IsDirecConnection=True, Name=u'SDE')]
- Свяжитесь с пользователями и попросите их закрыть свои сеансы. Если вы не можете связаться с ними, и все-таки необходимо отключить их от базы геоданных, то перейдите к следующему шагу.
- Используйте информацию, полученную от функции ListUsers, чтобы определить, какое подключение следует удалить посредством функции DisconnectUser.
Укажите ID подключения, которое нужно удалить. Здесь удаляется подключение с ID 33:
##No need to import arcpy if you are running functions in the same Python window. import arcpy arcpy.DisconnectUser("/usr/dbconnections/saphana.sde",33)
Сеанс будет немедленно отключен от базы геоданных.