常见问题
可以,在 Oracle 中创建或升级地理数据库后,可以撤消 Oracle PUBLIC 角色对以下包的执行权限:
如果撤消该权限,则 Oracle 管理员必须将所有这些包的执行权限显式授予 SDE 用户和 CTXSYS 用户(Oracle Text 组件所有者),以及使用 ArcGIS 连接到 Oracle 实例的每个用户。
要从撤消公众对包的权限,请在 SQL*Plus 中以 Oracle SYS 用户身份执行以下 SQL 语句:
SQL> REVOKE EXECUTE ON dbms_lock FROM public; 撤消成功。 SQL> REVOKE EXECUTE ON dbms_pipe FROM public; 撤消成功。 SQL> REVOKE EXECUTE ON dbms_lob FROM public; 撤消成功。 SQL> REVOKE EXECUTE ON dbms_sql FROM public; 撤消成功。 SQL> REVOKE EXECUTE ON dbms_utility FROM public; 撤消成功。 SQL> REVOKE EXECUTE ON utl_raw FROM public; 撤消成功。
撤消公共角色的权限后,SYS 用户必须将包的执行权限授予 SDE 用户和 CTXSYS 用户。
SQL> GRANT EXECUTE ON dbms_lock TO sde; 授予成功。 SQL> GRANT EXECUTE ON dbms_pipe TO sde; 授予成功。 SQL> GRANT EXECUTE ON dbms_lob TO sde; 授予成功。 SQL> GRANT EXECUTE ON dbms_sql TO sde; 授予成功。 SQL> GRANT EXECUTE ON dbms_utility TO sde; 授予成功。 SQL> GRANT EXECUTE ON utl_raw TO sde; 授予成功。 SQL> GRANT EXECUTE ON dbms_lock TO ctxsys; 授予成功。 SQL> GRANT EXECUTE ON dbms_pipe TO ctxsys; 授予成功。 SQL> GRANT EXECUTE ON dbms_lob TO ctxsys; 授予成功。 SQL> GRANT EXECUTE ON dbms_sql TO ctxsys; 授予成功。 SQL> GRANT EXECUTE ON dbms_utility TO ctxsys; 授予成功。 SQL> GRANT EXECUTE ON utl_raw TO ctxsys; 授予成功。
如果 SDE 用户没有执行 sys.dbms_pipe 包的显式权限,则尝试启动 ArcSDE 服务会失败,以下错误消息会写入 ArcSDE 错误日志:
错误: SQL Stmt: 必须直接为 SDE DBA 用户授予所需的 Oracle 内置包 DBMS_PIPE 执行权限,而不仅仅是授予他们具有执行访问权限的角色。
对于使用 ArcSDE 应用程序服务器或直接连接连接到地理数据库的个人用户,SYS 用户必须显式授予用户对包的权限。 同样,使用 SQL*Plus,以 SYS 用户身份连接,并向所需用户授予每个包的执行权限。
SQL> GRANT EXECUTE ON dbms_lock TO tom; 授予成功。 SQL> GRANT execute ON dbms_pipe TO tom; 授予成功。 SQL> GRANT EXECUTE ON dbms_lob TO tom; 授予成功。 SQL> GRANT EXECUTE ON dbms_sql TO tom; 授予成功。 SQL> GRANT EXECUTE ON dbms_utility TO tom; 授予成功。 SQL> GRANT EXECUTE ON utl_raw TO tom; 授予成功。
对连接到地理数据库的每个用户重复这些命令。
注: 不支持将这些包的执行权限授予数据库角色,然后将该角色授予用户。 由于 SDE 本身具有依赖于这些 Oracle 包的包,因此在执行 Oracle 存储的过程或包时,通过角色授予的权限不适用。 有关其他详细信息,请参阅 Oracle 文档。
向每个用户授予包的执行权限后,请重新编译 SDE 和 CTXSYS 对象。 在 SQL*Plus 中以 SYS 用户身份连接并编译 SDE 和 CTXSYS 方案。
SQL> EXEC dbms_utility.compile_schema( 'SDE' ); PL/SQL 步骤成功完成。 SQL> EXEC dbms_utility.compile_schema( 'CTXSYS' ); PL/SQL 步骤成功完成。
获取来自 ArcGIS 专家的帮助
下载 Esri 支持应用程序