sys_spacequota 扩展插件介绍
插件sys_spacequota简介
sys_spacequota可以对指定表空间的大小进行限额,一旦大于该限额,例如对此表空间里的数据进行insert, update, copy to,
select into, create index操作将会被警告或终止(默认为0表示警告,警告或者终止可以通过GUC参数spacequota.fullwarningtype = 0/1来配置)。
表空间限额基本语法
查询限额信息:
select * from sys_space_quota;
检查表空间的限额:
space_quota_check();
设置或更改表空间限额, 可调用 set_space_quota(oid, quota)方法,quota的单位为字节。
set_space_quota(oid, quota)
参数
oid:表空间的oid值。
quota:设置的表空间限额值。
删除表空间限额, 可调用 remove_space_quota(oid)方法。
remove_space_quota(oid)
参数
oid:表空间的oid值。
插件使用说明
测试环境:V008R006C007B0012
[
](javascript:void(0)
需要创建扩展
create extension sys_spacequota;
CREATE EXTENSION
开关:创建扩展后,再开启参数开关,限额功能生效
alter system set spacequota.enable = on ;
ALTER SYSTEM
TEST=# call sys_reload_conf();
sys_reload_conf
-----------------
t
(1 row)
创建测试使用的限额表空间
TEST=# CREATE TABLESPACE ttspace location '/home/kingbase7/tbl_user';
CREATE TABLESPACE
TEST=# select spcname,oid from sys_tablespace;
spcname | oid
-------------+-------
sys_default | 1663
sys_global | 1664
sysaudit | 1986
ttspace | 27158
设置表空间限额
TEST=# select set_space_quota(27158,100);
set_space_quota
-----------------
(1 row)
在设置限额的表空间上创建表
TEST=# create table ttw (id int) tablespace ttspace;
CREATE TABLE
[
](javascript:void(0)
1.spacequota.fullwarningtype参数默认设置为0,插入数据有警告,但是数据插入成功。
[
](javascript:void(0)
TEST=# show spacequota.fullwarningtype;
spacequota.fullwarningtype
----------------------------
0
(1 row)
TEST=# insert into ttw select generate_series(1,10000);
WARNING: user's disk space quota exceeded
INSERT 0 10000
TEST=#
TEST=# select count(*) from ttw;
count
-------
10000
(1 row)
尝试多次插入数据均有警告,但是数据插入成功了。
TEST=# insert into ttw select generate_series(1,10000);
WARNING: user's disk space quota exceeded
INSERT 0 10000
TEST=#
TEST=# select count(*) from ttw;
count
-------
20000
(1 row)
TEST=# insert into ttw select generate_series(1,10000);
WARNING: user's disk space quota exceeded
INSERT 0 10000
TEST=# select count(*) from ttw;
count
-------
30000
(1 row)
TEST=# insert into ttw select generate_series(1,10000);
WARNING: user's disk space quota exceeded
INSERT 0 10000
TEST=# select count(*) from ttw;
count
-------
40000
(1 row)
[
](javascript:void(0)
2.spacequota.fullwarningtype参数设置为1时,需要手工执行space_quota_check()检查表空间限额,如果sys_space_quota视图中current_size超出quota值,则再次插入报错,禁止插入数据
[
](javascript:void(0)
TEST=# alter system set spacequota.fullwarningtype=1;
ALTER SYSTEM
TEST=# call sys_reload_conf();
sys_reload_conf
-----------------
t
(1 row)
查看此参数已经设置为1,1的含义不是警告,而是报错
TEST=# show spacequota.fullwarningtype;
spacequota.fullwarningtype
----------------------------
1s
(1 row)
检查表空间限额,判断是否full
TEST=# call space_quota_check();
可以看到is_full字段是t,表示检查限额后,系统识别表空间已满
TEST=# select * from sys_space_quota;
spcname | quota | current_size | is_full
---------+-------+--------------+---------
ttspace | 100 | 8210 | t
(1 row)
检查表空间限额后,再次插入数据报错,禁止插入
TEST=# insert into ttw select generate_series(1,100);
ERROR: user's disk space quota exceeded
truncate 表后再检查限额
TEST=# truncate ttw;
TRUNCATE TABLE
call space_quota_check();
查看表空间限额配置,current_size空间已经释放
TEST=# select * from sys_space_quota;
spcname | quota | current_size | is_full
---------+-------+--------------+---------
ttspace | 120 | 30 | f
(1 row)
[
](javascript:void(0)
从以下结果中我们能看出,当执行完 space_quota_check(),检查空间后,再次插入数据触发表空间限额上限,才会告警,
当spacequota.fullwarningtype设置为1后,提示error,禁止插入,数据没有插入到表中。
[
](javascript:void(0)
TEST=# insert into ttw select generate_series(1,100);
INSERT 0 100
TEST=# insert into ttw select generate_series(1,100);
INSERT 0 100
插入数据库数据,查询表空间限额不变
TEST=# select * from sys_space_quota;
spcname | quota | current_size | is_full
---------+-------+--------------+---------
ttspace | 100 | 30 | f
(1 row)
执行检查表空间限额函数后,再次查询视图,current_size有变化
TEST=# call space_quota_check();
CALL
TEST=# select * from sys_space_quota;
spcname | quota | current_size | is_full
---------+-------+--------------+---------
ttspace | 100 | 8210 | t
(1 row)
此时,再次insert数据报错
TEST=# insert into ttw select generate_series(1,100);
ERROR: user's disk space quota exceeded
[
](javascript:void(0)
sys_spacequota 扩展插件介绍的更多相关文章
- vs2010(vs2012)好用的扩展插件介绍
一直以来只使用番茄vs助手(https://www.wholetomato.com/downloads/default.asp)辅助写代码,也都忘了是谁介绍的,不过确实好用. 相比原始的vs,它提供了 ...
- vscode简单使用介绍及个人常用扩展插件
vscode全称Visual Studio Code 是微软开发一款IDE,官方地址 vscode 作为一款前端编辑器功能很强大,灵活,可以根据个人喜好选择扩展插件,而且还支持多种开发语言, 关于v ...
- Sharepoint 2013列表视图和字段权限扩展插件(免费下载)!
记得2014年春节期间,有博客园的网友通过QQ向我咨询Sharepoint 2013列表视图和字段权限扩展,因为之前他看到我博客介绍Sharepoint 2010列表视图和字段的权限控制扩展使用,问有 ...
- ExtJS4.2学习(13)基于表格的扩展插件---rowEditing
鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-24/182.html --------------- ...
- 常用网站开发类Firefox扩展插件 (转)
作为一个 Web 开发人员,你几乎没有理由不喜欢Firefox,因为在Firefox下有很多专门针对开发的扩展插件,非常好用,这里就介绍一些常用的针对网站开发的FireFox扩展,供Web开发人员参考 ...
- 100个精选zencart扩展插件
100个精选zencart扩展插件 特别推荐 1. 数据库备份 2. 产品横向布局. 3. 邮件订阅Newsletter Subscribe. 4. google 翻译google_translate ...
- JMeter 线程组之Stepping Thread Group插件介绍
线程组之Stepping Thread Group插件介绍 by:授客 QQ:1033553122 测试环境 apache-jmeter-2.13 插件: https://jmeter-plu ...
- jenkins 插件介绍
1.jenkins 利用maven编译,打包,所需插件:Maven Integration: Maven集成插件这个插件提供了Jenkins和Maven的深度集成,无论是好还是坏:项目之间的自动触发取 ...
- jira 插件介绍地址
1. 官方的 介绍地址 http://confluence.gjingao.com/pages/viewpage.action?pageId=328170 序号 插件名称 功能概要 供应商 资源 10 ...
- jupyter notebook设置主题背景,字体和扩展插件
windows上安装Anaconda (IPython notebook) Anaconda是一个包与环境的管理器,一个Python发行版,以及一个超过1000多个开源包的集合.它是免费和易于安装的, ...
随机推荐
- Centos7虚拟机安装后的环境配置工作
虚拟机安装配置 选择[基础设施服务器],勾选:开发工具和调试工具 关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld. ...
- ORACLE ROLLUP和CUBE介绍
http://blog.csdn.net/wanghai__/article/details/4817920 ------------------ ROLLUP,是GROUP BY子句的一种扩展,可以 ...
- jsp中无法识别EL表达式问题
今天在开发系统时需要在JSP中遍历List<javabean>,其中用到了EL表达式:${item.value} 页面死活不出数据,只显示表达式本身:${item.value}. 页面代码 ...
- Apipost参数描述的填写和参数描述库的使用
请求参数的描述填写 对于header.query以及form-data和urlencode的body参数,我们在如下地方填写参数描述: 如图中所示,对于一个填写过的参数,我们可以在新建接口可以通过点击 ...
- 谈谈Tomcat占用cpu高的问题
目录 问题现场 线程死锁 vs 线程死循环 排查Java进程导致CPU持续高的方法 Tomcat的CPU占用高的原因总结 问题现场 测试环境tomcat进程占用CPU一直持续99%,但是通过jstac ...
- 【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
问题描述 PHP应用突然遇见了500 The page cannot be displayed because an internal server error has occurred.错误,但是如 ...
- 【Azure 应用服务】Azure Data Factory中调用Function App遇见403 - Forbidden
问题描述 在Azure Data Factory (数据工厂)中,调用同在Azure中的Function App函数,却出现403 - Forbidden错误. 截图如下: 问题解答 访问Azure ...
- 【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
问题描述 在Azure App Service for Windows的环境中,部署.NET应用,其中使用了 SAP NetWeaver RFC函数 (需要加载 sapnwrfc.dll).详细的错误 ...
- 【Azure Redis 缓存】遇见Azure Redis不能创建成功的问题:至少一个资源部署操作失败,因为 Microsoft.Cache 资源提供程序未注册。
问题描述 在中国区微软云上创建Redis失败.收到的错误消息为: { "code": "DeploymentFailed", "message&quo ...
- C++ 模板的笔记1
C++模板的笔记1 C++ 函数模板 函数模板的定义 函数模板是一种可以生成不同类型函数的函数声明.函数模板的参数类型不是固定的,而是在调用时由实参类型推导出来. 语法: template <t ...