zoukankan      html  css  js  c++  java
  • 避免因为Arcgis Server服务设置不当导致Oracle Process溢出的方法

    我之前写过一篇文章《arcsoc进程无限增长导致oracle processes溢出》(见链接:https://www.cnblogs.com/6yuhang/p/9379086.html),后来我觉得没有说清楚,所以有了这一篇文章。

    1、问题说明

    对于ORACLE数据库,若用户密码已过期(即account_status为' EXPIRED'),当过期之后首次登陆数据库时(若登陆成功,会创建服务端process进程),数据库会要求首先设置新的密码,否则无法创建新的会话(session),如下图:

    若Arcgis Server地图服务的数据源是oracle,当用户密码已过期,在地图服务实例新建一个数据库连接后,由于未首先设置新的密码,当前的连接会一直"挂起"在设置新密码的状态。如果service服务还配置了多实例、高隔离等,那么每一个实例在连接数据库时,都会重复上述的过程,即创建了server process,但该process会一直"挂起" 。随着用户请求次数的增多,会导致server process很快超过数据库所设置的processes参数。

    2、调整方法

    2.1 检查是否有用户密码过期

    以sys用户登陆,执行如下的匿名存储过程,检查疑似密码已过期的用户。

    declare

    tcgs number;

    begin

    dbms_output.enable(1000000000);

    dbms_output.put_line('检查如下用户,他们的密码已过期且用户下存在图层:');

    for u in (select username from dba_users where account_status = 'EXPIRED')

    loop

    execute immediate 'select count(1) from dba_tab_columns where data_type in (''ST_GEOMETRY'' ,''SDO_GEOMETRY'') and owner=:1' into tcgs using u.username;

    if tcgs > 0 then

    dbms_output.put_line(u.username);

    end if;

    end loop;

    end;

    2.2 调整地图服务配置

    调整每个服务的配置信息,具体如下:

    1. 将空间实例可持续运行的最长时间由1800s降低到600s

    1. 将实例的隔离级别设置为"低隔离性",如下图:

    1. 可适当降低"每台计算机上最大实例数"。

    2.3 将数据库专有连接模式改为共享连接模式

        以sys用户登陆,执行如下的命令。

        alter system set dispatchers='(PROTOCOL=TCP)(DISPATCHERS=3)' scope=both;

     alter system set max_dispatchers = 10 scope=both;

     alter system set shared_servers = 10 scope=both;

     alter system set max_shared_servers = 40 scope=both;

     alter system set shared_server_sessions = 100 scope=both;

    2.4 使用户密码永不过期

    如果管理上允许设置用户密码永不过期,可以sys用户登陆,执行如下命令:

    alter profile default limit password_life_time unlimited;

  • 相关阅读:
    Springmvc全局异常处理
    SpringMVC异常处理一
    [GDB7] gdb 的学习
    《Python 第七章》更加抽象
    python问题:IndentationError:expected an indented block错误解决
    [C/C++] C++ 类的学习
    [GCC6] gcc 的学习
    [Python] 列表 list
    [python] 循环与轻量级 pass, del, eval
    《Python 第八章》异常
  • 原文地址:https://www.cnblogs.com/6yuhang/p/12045711.html
Copyright © 2011-2022 走看看