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

Oracle 21C中HR用户遇ORA-01950表空间权限问题求助

解决ORA-01950: no privileges on tablespace 'USERS'及HR用户权限问题

1. 确认HR用户的表空间配额

以SYS用户执行以下SQL,检查HR在USERS表空间的配额情况:

SELECT username, tablespace_name, max_bytes, status 
FROM dba_ts_quotas 
WHERE username = 'HR';

如果结果无USERS表空间记录,或max_bytes为0,说明配额未正确配置。

2. 重新分配USERS表空间配额

执行以下语句为HR分配配额,二选一即可:

  • 分配无限配额:
ALTER USER HR QUOTA UNLIMITED ON USERS;
  • 分配固定大小配额(示例为100MB):
ALTER USER HR QUOTA 100M ON USERS;

3. 验证并补充必要权限

系统权限检查

以SYS用户执行,确认HR拥有必要的系统权限:

SELECT privilege 
FROM dba_sys_privs 
WHERE grantee = 'HR';

需确保包含CREATE TABLE(已具备),若需操作其他用户的表,需额外授予INSERT ANY TABLE、UPDATE ANY TABLE等权限(按需分配)。

对象权限检查

若HR需操作其他用户的表,需明确授予对象权限,示例:

GRANT INSERT, UPDATE, ALTER TO HR ON [目标用户名].[目标表名];

注:HR自行创建的表默认拥有全部操作权限,无需额外授权

4. 确认默认表空间配置

检查HR的默认表空间是否为USERS:

SELECT username, default_tablespace 
FROM dba_users 
WHERE username = 'HR';

若默认表空间非USERS,执行以下语句修改:

ALTER USER HR DEFAULT TABLESPACE USERS;

5. 测试验证

切换至HR用户,执行以下操作验证:

CREATE TABLE test_quota (id NUMBER);
INSERT INTO test_quota VALUES (1);
UPDATE test_quota SET id = 2;
ALTER TABLE test_quota ADD name VARCHAR2(20);
SELECT * FROM test_quota;

所有操作成功则问题解决。

内容的提问来源于stack exchange,提问作者kiran Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 21:17:31