通过shell检查分区表中是否含有默认分区(r2笔记87天)
时间:2022-05-04
本文章向大家介绍通过shell检查分区表中是否含有默认分区(r2笔记87天),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在大数据量的系统中,分区表是很常见的,分区有多种类型,可以根据业务来选择自己需要的分区,不过为了数据的兼容性,需要考虑对于分区表设定一个默认的表分区,如果数据在插入表分区的时候,没有符合条件的分区,就会插入默认的表分区中。 这个可以根据自己的需要来设定,如果确实对数据有严格的要求,甚至可以要求不加入默认的分区。 以下的脚本会去"扫描"分区的信息,如果检测到没有默认的分区,就会生成对应的脚本。 可以根据自己的情况来决定是否需要加入分区。
sqlplus -s $1/$2@$SH_DB_SID <<EOF
set head off
set pages 100
set linesize 200
/* bad performance
select name,Count(*)from user_part_key_columns where object_type='TABLE' and name in
(
select table_name from user_tables where partitioned='YES'
minus
(select distinct table_name
from user_tab_partitions where partition_name like '%MAX%'
)
)
group by name;
*/
select 'alter table '||table_name||' add partition PMAXVALUE values less than ('||
decode(col_count, 1, 'MAXVALUE',
2,'MAXVALUE,MAXVALUE',
3,'MAXVALUE,MAXVALUE,MAXVALUE',
4,'MAXVALUE,MAXVALUE,MAXVALUE,MAXVALUE','partition out of range')||');'
from
(
(
select t1.table_name,count(t2.name) col_count from user_tables t1,user_part_key_columns t2
where t1.partitioned='YES'
and t1.table_name=t2.name
and t2.object_type='TABLE'
group by t1.table_name
)
minus
(
select t2.name table_name,count(t2.name)col_count
from user_tab_partitions t1,user_part_key_columns t2
where t1.partition_name like '%MAX%'
and t1.table_name=t2.name
and t2.object_type='TABLE'
group by t2.name
)
)
/
EOF
exit
简单运行一下,可以看到有一些分区表是灭有默认的分区的。可以根据自己的情况来定夺。
[ora11g@rac1 dbm_lite]$ ksh getmaxpar.sh system oracle
alter table LOGMNRC_GSBA add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNRC_GSII add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNRC_GTCS add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNRC_GTLO add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNRP_CTAS_PART_MAP add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_ATTRCOL$ add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_ATTRIBUTE$ add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_CCOL$ add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_CDEF$ add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_COL$ add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_COLTYPE$ add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_DICTIONARY$ add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_DICTSTATE$ add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_ENC$ add partition PMAXVALUE values less than (MAXVALUE);
alter table LOGMNR_ICOL$ add partition PMAXVALUE values less than (MAXVALUE);
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 03Python List不得不知的操作之改、查
- 04Python基础之字符串Str
- 05Python元组tuple的个性
- Tkinter Canvas
- Python实现最小二乘法
- 一个简单的例子学明白用Python插值
- python 类class基础简明笔记
- 数据离散化及其KMeans算法实现的理解
- [tensorflow损失函数系列]sparse_softmax_cross_entropy_with_logits
- 怎样将Anaconda设置为国内的镜像
- Python实现KMeans算法
- Python面向对象编程
- HTML和CSS常见问题整理
- Nginx Linux详细安装部署教程
- Linux基础知识(1)