资讯动态

如何解决Oracle用户无法创建表_RESOURCE角色与QUOTA限额配置

发布时间:2026/9/12 20:20:29 来源:尧图企业网站定制
ORA-01950错误源于用户在目标表空间无配额即使有CREATE TABLE权限也无法建表需DBA执行ALTER USER ... QUOTA ... ON tablespace授予配额或谨慎使用UNLIMITED TABLESPACE权限。ORA-01950no privileges on tablespace 错误怎么修用户执行 create table 报这个错不是权限没给全而是表空间配额quota根本没设哪怕有 create table 权限也白搭。oracle 默认不给任何表空间的写入额度必须显式授权。检查当前用户在目标表空间的配额SELECT tablespace_name, bytes/1024/1024 AS mb FROM dba_ts_quotas WHERE username YOUR_USER;若查不到记录说明完全没配额若 bytes 为 0等同于禁止写入授予配额必须由 DBA 执行ALTER USER your_user QUOTA 100M ON users;users 是常见默认表空间名按实际替换想不限制大小用 UNLIMITED TABLESPACE 系统权限但慎用——它绕过所有表空间配额控制安全策略上通常被禁用RESOURCE 角色到底给不给 CREATE TABLE 权限RESOURCE 角色本身不包含 CREATE TABLE它只带 CREATE CLUSTER、CREATE SEQUENCE 等一堆“资源类”对象权限建表权限得靠 CREATE TABLE 单独授或通过 CONNECT 显式配额组合实现。验证方法SELECT privilege FROM dba_sys_privs WHERE grantee RESOURCE AND privilege LIKE %TABLE%; —— 结果为空常见误解以为加了 RESOURCE 就能建表其实只是凑够了“能建序列能建触发器”这类配套权限主权限还得另加生产环境建议拆开授权先给 CREATE TABLE再按需配 QUOTA避免把 RESOURCE 当万能钥匙乱授用 DEFAULT TABLESPACE 但没配 QUOTA 依然失败即使用户指定了 DEFAULT TABLESPACE users且建表语句没写 TABLESPACE 子句Oracle 仍会检查该表空间上的配额。没配 ≠ 自动允许。 知网AI智能写作 知网AI智能写作写文档、写报告如此简单

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价