数据库与linux中quota的作用
linux命令,quota 命令显示磁盘使用情况和限额。缺省情况下,或者带 -u 标志,只显示用户限额。quota 命令报告 /etc/filesystems 文件中列出的所有文件系统的限额。如果 quota 命令以非零状态退出,一个或多个文件系统超过限额。
https://blog.csdn.net/tete2csdn/article/details/77481806
数据库中
一、解决问题:
解决表空间很大,总显示空间不足的问题
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 <password>
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 <password>
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;
数据库与linux中quota的作用的更多相关文章
- Linux中各个目录作用
对于linux新手来说,最感到迷惑的问题之一就是文件都存在哪里呢?特别是对于那些从windows转过来的新手来说,linux的目录结构看起来有些奇怪哦.比如没有C盘,没有分盘符,一大堆不知道用途的文件 ...
- Linux中常用目录作用
Linux一般相应的文件都会会放在相应的目录下.这样更有利于文件的查找. 1.可以在家目录root或home,以及temp目录下随便放东西. 2.根目录下的bin和sbin,usr目录下的bin和sb ...
- Postgres数据库在Linux中优化
I/O 优化1 打开 noatime nodirtime,async 方法: 修改 /etc/fstab stat 命令查看 2 调整预读方法: 查看 sudo blockdev --getra /d ...
- linux中export的作用
设置环境变量. 为什么设置环境变量?---->全局使用. 不设置环境变量会怎么样?->只有当前shell中能够调用,其他的shell不能调用. 设置了之后呢?->全局都能调用.
- Postgres数据库在Linux中的I/O优化
I/O 优化1 打开 noatime方法: 修改 /etc/fstab2 调整预读方法: 查看 sudo blockdev --getra /dev/sda 设置 sudo blockdev --se ...
- 如丝般顺滑地从Windows迁移SQLServer数据库到Linux
老鸟看过菜鸟的上一篇<MSSQL On Linux备份与还原>文章后,很满意,但是还是忍不住发问:"这篇文章讲的是MSSQL在Linux系统上的备份与还原,如果我之前是Windo ...
- linux中bin与sbin目录的作用及区别介绍
linux中bin与sbin目录的作用及区别介绍 本文介绍下,linux中的二个主要目录:bin与sbin,它们的作用与区别,学习linux的朋友可以参考下 在linux系统中,有两个重要的目录:bi ...
- Linux中常用头文件的作用--转
http://blog.sina.com.cn/s/blog_5c93b2ab0100q62k.html 1. Linux中一些头文件的作用: <assert.h>:ANSI C.提供断言 ...
- linux中常用的60个命令及作用详解
Linux 必学的 60 个命令 Linux 提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在 Linux 系统上工作离不开使用系统 ...
随机推荐
- SmartBinding工作原理分析
关于kbmMW SmartBinding,我翻译了作者写的几篇文章,其强大的绑定机制,将可视控制与各种数据源灵活绑定在一起,实现了类似DBEdit数据敏感控件的效果,可以及大的减少我们的代码,实现界面 ...
- 【Mysql MHA】CentOS7.6+Mysql8.0.16 入坑
1.防火墙 firewall-cmd --add-port=/tcp --permanent firewall-cmd --reload 2.SELINUX sed -i 's/SELINUX=enf ...
- 剑指Offer编程题(python)——链表
1.从尾到头打印链表 #输入一个链表,按链表值从尾到头的顺序返回一个ArrayList.class ListNode: def __init__(self, x): self.val = x self ...
- 使用Python进行3DES加密-pyDes
pyDes.py源码 ############################################################################# # Documenta ...
- 部署logstash节点
.部署Logstash节点 1.查看系统环境: [root@Logstash ~]# hostname Logstash [root@Logstash ~]# cat /etc/redhat-rele ...
- 注册emf package并读取EMF文件
/** * 读EMF文件 * * @param uri * @return */ public static Resource readEMFFile(URI uri) { ResourceSet r ...
- 11 - Vue模板语法
Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据. 所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML ...
- JQuery实践--实用工具函数
实用工具函数,$命名空间的一系列函数,但不操作包装集.它要么操作除DOM元素以外的Javascript对象,要么执行一些非对象相关的操作. JQuery的浏览器检测标志可在任何就绪处理程序执行之前使用 ...
- PHP mysqli_close() 函数
关闭先前打开的数据库连接: <?php $con=mysqli_connect("localhost","my_user","my_passwo ...
- C# 使用多线程,在关闭窗体时 怎么关闭窗体的所有线程,使程序退出。
this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: Application.Exit(); 强制所有消息中止,退出 ...