oracle连接管理,管理 Oracle 中的连接

编程入门 行业动态 更新时间:2024-10-25 06:22:02

<a href=https://www.elefans.com/category/jswz/34/1770041.html style=oracle连接管理,管理 Oracle 中的连接"/>

oracle连接管理,管理 Oracle 中的连接

在 Standard 或 Advanced 许可等级下可用。

作为地理数据库管理员,可能偶尔需要查看哪些用户连接到了地理数据库以及哪些连接锁定了资源。甚至可能还需要移除某些连接。例如,某位编辑者可能未关闭编辑会话,这将锁定编辑会话中的数据且使其他编辑者无法对其进行访问。如果建立到地理数据库的连接的数量受限,则可能需要断开某一位未能注销的用户的连接,以释放连接。或者您可能希望每一位用户均进行注销,以便对数据库应用修补程序、恢复数据库或压缩地理数据库。

如果用户处于离开状态而不能注销,您可以地理数据库管理员身份通过 ArcGIS Desktop 或 ArcPy 函数连接至地理数据库并删除用户连接。警告:

在断开用户连接时请谨慎操作。Esri 建议您避免断开活动会话,特别是已连接用户正在进行编辑时。只有处于打开状态但当前未使用的会话(例如,某个会话整个周末都处于打开状态)、正在锁定某个对象的孤立会话或者处于死锁情况的会话可以断开连接。

要断开用户与 Oracle 中地理数据库的连接,必须将地理数据库管理员添加到 DBA 角色或授予 ALTER SYSTEM 和 SELECT_CATALOG_ROLE 权限。

首先确定哪些用户连接到了地理数据库。然后根据需要移除连接。识别并移除 ArcMap 中的连接

您可以在 ArcMap 中以地理数据库管理员的身份连接至地理数据库,以从地理数据库管理对话框中查看并移除连接。启动 ArcMap 或 ArcCatalog。

以地理数据库管理员身份连接到地理数据库。

右键单击目录树中的数据库连接,指向管理,然后单击管理地理数据库。

单击连接选项卡。

将显示当前连接到地理数据库的所有会话的列表。您的会话以斜体文本显示。

请联系各个用户并要求其关闭其对话。如果您无法联系到用户且仍需要断开他们与地理数据库的连接,则可继续执行下一步骤。

右键单击要从地理数据库移除的指定用户会话,然后单击断开连接。

该会话将立即与地理数据库断开连接。使用 ArcPy 识别并移除连接

您可以运行 Python 函数,为地理数据库管理员创建地理数据库连接文件,使用该连接文件连接到地理数据库,然后获取当前所有地理数据库连接的列表,并根据需要从地理数据库移除连接。通过在 Python 窗口中运行 CreateDatabaseConnection_management 函数来创建数据库连接。与文件一起保存用户名和密码。

在本例中,将在临时文件夹中创建连接文件 (oragdb.sde)。以 sde 用户身份登录,连接到 spora 数据库。

import arcpy

arcpy.CreateDatabaseConnection_management ("c:\\temp", "oragdb.sde", "ORACLE", "spora", "DATABASE_AUTH", "sde", "mysdepwd", "SAVE_USERNAME")

运行 ListUsers 函数以获取当前到 spora 数据库的所有连接的列表。

指定在上一步中创建的连接文件。

##No need to import arcpy if you are running functions in the same Python window. import arcpy

arcpy.ListUsers("c:\\temp\oragdb.sde")

返回用户连接的列表。

[user(ClientName=u'PC4', ConnectionTime=datetime.datetime(2014, 2, 18, 8, 30, 19),

ID=18, IsDirecConnection=True, Name=u'publisher1')]

[user(ClientName=u'PC25', ConnectionTime=datetime.datetime(2014, 2, 21, 14, 10, 43),

ID=33, IsDirecConnection=True, Name=u'editor2')]

[user(ClientName=u'PC11', ConnectionTime=datetime.datetime(2014, 2, 22, 9, 18, 26),

ID=39, IsDirecConnection=True, Name=u'reader5')]

[user(ClientName=u'PCA2', ConnectionTime=datetime.datetime(2014, 2, 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("c:\\temp\oragdb.sde",33)

该会话将立即与地理数据库断开连接。

更多推荐

oracle连接管理,管理 Oracle 中的连接

本文发布于:2024-02-17 06:46:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1693074.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:oracle   Oracle

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!