You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle 19c中DBMS_RANDOM是否默认安装?含报错排查及查询方法咨询

问题分析与解决

DBMS_RANDOM包是否需要手动安装?

DBMS_RANDOM是Oracle 19c的内置标准系统包,默认随数据库安装完成,不需要手动安装。你的预生产环境报错并非因为包未安装,而是另有原因。

报错原因说明

你遇到的ORA-00904: "DBMS_RANDOM"."STRING": invalid identifier错误,大概率是当前用户缺少对DBMS_RANDOM包的EXECUTE权限。Oracle中若包不存在,报错信息会提示"package does not exist",而ORA-00904属于标识符无效,通常是权限不足导致无法识别对象。

查询已安装包的SQL语句

要确认DBMS_RANDOM包的存在状态,可执行以下SQL:

  • 若拥有DBA权限,查询全量数据库对象:
SELECT object_name, object_type, status 
FROM dba_objects 
WHERE object_name = 'DBMS_RANDOM' 
  AND object_type IN ('PACKAGE', 'PACKAGE BODY');
  • 若无DBA权限,查询当前用户可访问的对象:
SELECT object_name, object_type, status 
FROM all_objects 
WHERE object_name = 'DBMS_RANDOM' 
  AND object_type IN ('PACKAGE', 'PACKAGE BODY');

正常情况下,结果会显示包的STATUS为VALID,说明包已正常安装且可用。

权限检查与修复方案

  1. 检查当前用户是否拥有DBMS_RANDOM的EXECUTE权限:
SELECT privilege, grantor 
FROM dba_tab_privs 
WHERE grantee = '你的用户名' 
  AND table_name = 'DBMS_RANDOM';
  1. 若未返回结果,联系DBA执行授权语句(需直接授予用户权限,角色授予的权限在PL/SQL块中可能不生效):
GRANT EXECUTE ON SYS.DBMS_RANDOM TO 你的用户名;

内容的提问来源于stack exchange,提问作者Jorge Vega Sánchez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:09:59