ArcSDE9.3.1怎么使用命令Kill直连

30 篇文章 18 订阅
12 篇文章 0 订阅

大家都知道ArcSDE的连接有服务连接和直连,从目前ArcGIS产品的不断升级和进化,直连以其出色的性能往往被Esri所推荐,所以现在大多数用户也经常使用直连。


那么如果在一个生产线中,需要将直连用户给kill掉该怎么办呢?


大家都知道ArcSDE命令有一个sdemon,这个命令就是对服务的管理,启动、暂停、关闭、KILL,但是ArcSDE9.3.1之前,KILL命令只支持清除服务连接,对直连无效,直到ArcSDE10才可以使用该命令KILL直连,那么对这两个不同版本的产品我们应该怎么操作呢?

----------------------------------ArcSDE9.3.1----------------------

因为直连,我们不需要服务来管理,但是他是数据库的一个连接,所以我们可以查找数据库的session信息,进行KILL。

首先查看直连连接信息

C:\Users\Administrator>sdemon -o info -I users -i sde:oracle11g:orcl -p sde -s lish

ArcSDE Instance sde:oracle11g:orcl Registered Server Tasks on lish at Thu Feb 09 14:22:37 2012
------------------------------------------------------------------------------
S-ID  S-PID  User    Conn  Client Machine:OS                Started
----- ----- -------- ---- -------------------------------- -------------------
133   8268  SDE       DC  lish:Win32                       Thu Feb 09 14:22:37
131   2928  TEST      DC  lish:Win32                       Thu Feb 09 14:22:23

我们也可以查看SDE用户下的Process_information表

SQL> select SDE_ID,SERVER_ID from process_information where DIRECT_CONNECT='Y';

    SDE_ID  SERVER_ID
---------- ----------
       131       2928
从上面信息可以看出S-ID就是SDE_ID,S-PID就是SERVER_ID

我们查看Session信息

SQL> select SID,SERIAL#,PROCESS from v$session where USERNAME='TEST';

       SID    SERIAL# PROCESS
---------- ---------- ------------------------
        96        765 2928:1564
这里面还可使用因为Process的形式为XXXX:YYYY,对“:”前面的XXXX就等于S-PID(Server_ID)
所以我们也可以使用这种方式获得SID和SERIAL#信息

获得了这两个信息,我们就可以将对应的Session给KILL掉了

SQL> alter system kill session'96,765' immediate;

系统已更改。
使用这种方法就可以将直连给KILL掉了。

----------------------------------ArcSDE10-------------------------

一下为处理过程,在ArcSDE10中,首先我们需要查看一下连接信息

C:\Users\Administrator>sdemon -o info -I users -i sde:oracle11g:orcl -p sde -s lish

ArcSDE Instance sde:oracle11g:orcl Registered Server Tasks on lish at Thu Feb 09 14:08:27 2012
------------------------------------------------------------------------------
S-ID  S-PID  User    Conn  Client Machine:OS                Started
----- ----- -------- ---- -------------------------------- -------------------
116   2928  TEST      DC  lish:Win32                       Thu Feb 09 11:53:25
128   7488  SDE       DC  lish:Win32                       Thu Feb 09 14:08:28
因为使用命令本身就是一个直连,所以我们只对S-ID=116进行处理。

直接使用命令进行KILL

C:\Users\Administrator>sdemon -o kill -t 116 -i sde:oracle11g:orcl -u sde -p sde

ArcSDE Instance sde:oracle11g:orcl Process Management on lish at Thu Feb 09 14:08:38 2012
-------------------------------------------------------------------------
Kill Server Task 116?     ARE YOU SURE (Y/N)?: y
Insufficient permissions, Unable to kill server 116
提示没有足够的权限。

C:\Users\Administrator>sqlplus sys/oracle@orcl as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 2月 9 14:08:52 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> grant alter system to sde;

授权成功。

SQL> grant select_catalog_role to sde;

授权成功。
直连需要对sde额外赋予ALTER SYSTEM和SELECT_CATALOG_ROLE的权限

C:\Users\Administrator>sdemon -o kill -t 116 -i sde:oracle11g:orcl -u sde -p sde

ArcSDE Instance sde:oracle11g:orcl Process Management on lish at Thu Feb 09 14:09:41 2012
-------------------------------------------------------------------------
Kill Server Task 116?     ARE YOU SURE (Y/N)?: y

C:\Users\Administrator>
赋完权限即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值