最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle用户对表空间配额quota说明

来源:动视网 责编:小采 时间:2020-11-09 12:02:14
文档

Oracle用户对表空间配额quota说明

Oracle用户对表空间配额quota说明:解决表空间很大,总显示空间不足的问题ORA-01536:space quota exceeded for table space 一、解决问题: 解决表空间很大,总显示空间不足的问题ORA-01536:space quota exceeded for table space 'AAA '二、三个解决办法: (
推荐度:
导读Oracle用户对表空间配额quota说明:解决表空间很大,总显示空间不足的问题ORA-01536:space quota exceeded for table space 一、解决问题: 解决表空间很大,总显示空间不足的问题ORA-01536:space quota exceeded for table space 'AAA '二、三个解决办法: (


解决表空间很大,总显示空间不足的问题ORA-01536:space quota exceeded for table space

一、解决问题:

解决表空间很大,总显示空间不足的问题
ORA-01536:space quota exceeded for table space 'AAA '
二、三个解决办法:
(1) alter user USERNAME quota 100M on TABLESPACENAME;
(2) alter user USERNAME quota unlimited on TABLESPACENAME;
(3) grant unlimited tablespace to USERNAME;
quota是为了限制用户对表空间的使用
比如你限制用户a在tablespace a中的quota为10m,当用户a在tablespace a中的数据量达到10m后,无论你的tablespace a中有多少空间,a都无法再使用tablespace a 了。
所以你需要
alter user a quota 1000M on a;
alter user a quota unlimited on a;
grant unlimited tablespace to a
你可以查询dba_ts_quotas来获取相关信息

二、Quota 说明

配额大小指的是用户指定使用表空间的的大小。在1.1 节里提到,默认情况下,用户对所有表空间都是没有配额的,即不受空间的限制。 查看几个用户的创建脚本来验证一下:

CREATE USER SYSTEM

IDENTIFIED BY

DEFAULT TABLESPACE SYSTEM

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

-- 2 Roles for SYSTEM

GRANT AQ_ADMINISTRATOR_ROLE TO SYSTEM WITH ADMIN OPTION;

GRANT DBA TO SYSTEM WITH ADMIN OPTION;

ALTER USER SYSTEM DEFAULT ROLE ALL;

-- 5 System Privileges for SYSTEM

GRANT GLOBAL QUERY REWRITE TO SYSTEM;

GRANT CREATE MATERIALIZED VIEW TO SYSTEM;

GRANT CREATE TABLE TO SYSTEM;

GRANT UNLIMITED TABLESPACE TO SYSTEM WITH ADMIN OPTION;

GRANT SELECT ANY TABLE TO SYSTEM;

CREATE USER DAVE

IDENTIFIED BY

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

-- 2 Roles for DAVE

GRANT CONNECT TO DAVE;

GRANT RESOURCE TO DAVE;

ALTER USER DAVE DEFAULT ROLE ALL;

-- 1 System Privilege for DAVE

GRANT UNLIMITED TABLESPACE TO DAVE;

从这2个脚本来看,默认情况下,都会对用户赋 unlimited tablespace 的权限。这是是在创建的时候指定的,当我们的用户创建好之后,我们也可以修改用户的配额。

有关用户的配额的操作说明

1. 创建用户时,,指定限额

SQL> conn / as sysdba;

Connected.

SQL> create user anqing identified by anqing default tablespace users temporary tablespace temp quota 10M on users;

User created.

查询用户配额的信息:

SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='ANQING';

TABLESPACE_NAME USERNAME MAX_BYTES

------------------------------ ---------- ----------

USERS ANQING 10485760

2.更改用户的表空间限额:

不对用户做表空间限额控制:

SQL> grant unlimited tablespace to anqing;

Grant succeeded.

这种方式是全局性的. 即修改用户多所有表空间的配额。

如果我们想改某个具体的,即针对用户的某个特定的表空间,可以使用如下SQL:

SQL> alter user anqing quota unlimited on users;

User altered.

查看配额:

SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='ANQING';

TABLESPACE_NAME USERNAME MAX_BYTES

------------------------------ ---------- ----------

USERS ANQING -1

这时候max_bytes 为-1,即不受限制。

3. 回收用户对表空间的配额:

同样两种方式,

全局:

SQL> revoke unlimited tablespace from anqing;

Revoke succeeded.

在查看配额,已经没有了相关信息:

SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='ANQING';

no rows selected

针对某个特定的表空间:

SQL> alter user anqing quota 0 on users;

User altered.

文档

Oracle用户对表空间配额quota说明

Oracle用户对表空间配额quota说明:解决表空间很大,总显示空间不足的问题ORA-01536:space quota exceeded for table space 一、解决问题: 解决表空间很大,总显示空间不足的问题ORA-01536:space quota exceeded for table space 'AAA '二、三个解决办法: (
推荐度:
标签: 用户 说明 oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top