• catalog连接数据库与sde权限问题


    1、在catalog中sde连接上空间数据库后,能看到很多其他用户的数据

    问题在于建立SDE用户的时候赋予了DBA角色和GRANT SELECT ANY TABLE TO "SDE" WITH ADMIN OPTION;,如果把这两项权限撤销,则不会出现以上的问题.

    revoke SELECT ANY TABLE from sde;

    revoke dba from sde;

    查看SDE用户的权限:
    select privilege from dba_sys_privs where grantee='SDE' 
    union 
    select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='SDE' ); 

    ESRI的工程师安装以后,只有如下15个权限:

    1 ADMINISTER DATABASE TRIGGER
    2 CREATE CLUSTER
    3 CREATE INDEXTYPE
    4 CREATE LIBRARY
    5 CREATE OPERATOR
    6 CREATE PROCEDURE
    7 CREATE PUBLIC SYNONYM
    8 CREATE SEQUENCE
    9 CREATE SESSION
    10 CREATE TABLE
    11 CREATE TRIGGER
    12 CREATE TYPE
    13 CREATE VIEW
    14 DROP PUBLIC SYNONYM
    15 UNLIMITED TABLESPACE

    而一般我们自己安装的时候,则权限多了不少。执行一下revoke SELECT ANY TABLE from sde就OK了。

    2、修改SDE权限造成无法在ArcMap中绘制图形的解决办法

    默认情况下,SDE管理用户的权限是非常大的,所以经常我们会修改SDE用户权限,但因此也会造成一些图形绘制问题,在些进行介绍。

    出错类型:

    SDE.cq: 基础 DBMS 错误 [ORA-29900: 运算符连接不存在
    ORA-06540: PL/SQL: 编译错误
    ORA-06553: PLS-907: 无法加载库单元 SDE.ST_DOMAIN_OPERATORS (由 SDE.ST_ENVINTERSECTS 引用)

    如下图所示:

    产生原因:

    SDE用户在升级数据库后,权限被注销,如:SELECT ANY TABLE权限被取消

    Oracle能够自动标记某些软件包,功能,和触发器无效的基于数据库对象性质的自动验证,但ST_GEOMETRY是基于这些非法对象无法编译因而产生绘制错误。

    解决办法:

    这个问题可以通过重新编译数据包,解决触发,并标记为无效的功能。这可以通过以下SQL命令以SYSDBA用户,重复为每个用户模式数据库执行相同的步骤。

    Exec dbms_utility.compile_schema( 'SDE', compile_all => FALSE );

    得即高歌失即休,多愁多恨亦悠悠。今朝有酒今朝醉,明日愁来明日愁
  • 相关阅读:
    csp-s考试总结
    一种贪心
    P2463 [SDOI2008]Sandy的卡片
    P3294 [SCOI2016]背单词
    *UOJ#164. 【清华集训2015】V
    P5503 [JSOI2016]灯塔
    *P3515 [POI2011]Lightning Conductor
    P4585 [FJOI2015]火星商店问题
    求最短路必经边
    P1903 [国家集训队]数颜色 / 维护队列
  • 原文地址:https://www.cnblogs.com/gotoschool/p/15304872.html
Copyright © 2020-2023  润新知