Oracle 已存在数据的大表 改 分区表
创建表,插入测试数据
-- Create table
create table LXW_TEST
(
CDATE DATE,
T1 NUMBER,
T2 VARCHAR2(2)
)
;
insert into lxw_test
(cdate, t1, t2)
values
(to_date('2020-07-01','yyyy-mm-dd'), 1, '01');
insert into lxw_test
(cdate, t1, t2)
values
(to_date('2020-07-02','yyyy-mm-dd'), 2, '02');
查看数据


具体操作
-- 根据原表结构创建分区表
create table LXW_TEST_2
(
CDATE DATE,
T1 NUMBER,
T2 VARCHAR2(2)
)
partition by range (cdate) ---分区的依据字段
INTERVAL (NUMTOYMINTERVAL(1,'MONTH')) --自动增加分区的间隔
(
partition p1 values less than (to_date('2020-08-01', 'yyyy-mm-dd'))
)
tablespace tablespace_lxw
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table LXW_TEST
is '测试表';
--交换分区
alter table LXW_TEST_2 exchange partition p1 with table LXW_TEST;
--分区重命名
alter table LXW_TEST rename to LXW_TEST_temp;
alter table LXW_TEST_2 rename to LXW_TEST;
--所有索引重建
查询数据看一下

看一下分区信息

插入几条数据
insert into lxw_test
(cdate, t1, t2)
values
(to_date('2020-08-01', 'yyyy-mm-dd'), 3, '03');
insert into lxw_test
(cdate, t1, t2)
values
(to_date('2020-09-02', 'yyyy-mm-dd'), 4, '04');
insert into lxw_test
(cdate, t1, t2)
values
(to_date('2020-10-01', 'yyyy-mm-dd'), 5, '05');
查询数据

查看分区信息

Oracle 已存在数据的大表 改 分区表的更多相关文章
- Oracle大表改为分区表及表空间切换方案
Oracle大表改为分区表及表空间切换方案 一. 背景 由于之前数据库表和索引放在一个表空间导致表空间数据文件增长太快,文件数量即将达到Oracle表空间的限制,需要对表(没有分 ...
- ORACLE中如何找出大表分布在哪些数据文件中?
ORACLE中如何找出大表分布在哪些数据文件中? 在ORACLE数据中,我们能否找出一个大表的段对象分布在哪些数据文件中呢? 答案是可以,我们可以用下面脚本来找出对应表的区.段分别位于哪些数据文件 ...
- 记一次oracle单表改分区表 一波三折
业务上要把单表还差分区表 ```SQL> @seg gwx.aopen SEG_MB OWNER SEGMENT_NAME SEG_PART_NAME SEGMENT_TYPE SEG_TABL ...
- Oracle中创建千万级大表归纳
从一月至今,我总共归纳了三种创建千万级大表的方案,它们是: 下面是这三种方案的对比表格: # 名称 地址 主要机制 速度 1 在Oracle中十分钟内创建一张千万级别的表 https://www.cn ...
- Oracle SQL性能优化 - 根据大表关联更新小表
需求: 小表数据量20w条左右,大表数据量在4kw条左右,需要根据大表筛选出150w条左右的数据并关联更新小表中5k左右的数据. 性能问题: 对筛选条件中涉及的字段加index后,如下常规的updat ...
- MSSQL 将大表改成已分区表
--select * from sys.partition_functions --select * from sys.partition_range_values use [UpdateLog] g ...
- ORACLE数据库,数据量大,转移数据到备份表语句
INSERT INTO TEMP_BUS_TRAVEL_INFO ( SELECT * FROM BUS_TRAVEL_INFO t ') SELECT COUNT(*) FROM TEMP_BUS_ ...
- 记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案(转)
问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务 ...
- oracle 数据库误删数据,误删表的恢复
1.某表的数据误删了,那么可以查询这个表某一时间节点之前的数据,并放到一个新建的表里. create table temptable as select * from t_billdefi as O ...
- Oracle优化:千万级大表逻辑判断的累赘
insert into pntmall_point_detail(PNTMALL_PNT_ID,PNTMALL_PNT_DT,PNTMALL_VALIDITY,PNTMALL_LASTUPDATEDT ...
随机推荐
- NC207781 迁徙过程中的河流
题目链接 题目 题目描述 牛市的幸存的先民在流星雨之后就忍痛离开了这片土地,选择迁徙,在迁徙的途中,他们需要渡过一条河.因为牛市的树木在流星雨中被严重破坏,所以他们只造出了一艘小船,船太小了,一次只能 ...
- Java 封装、继承、多态的理解
更好的阅读体验:Java 封装.继承.多态的理解 1.封装 封装:就是隐藏对象的属性和实现细节,仅对外提供公共访问方式.让使用者知道的才暴露出来,不需要让使用者知道的全部隐藏起来 封装的好处:避免使用 ...
- 2023sdut_python实验
7-1 sdut-温度转换 n = input() n = float(n) c = 5.0*(n-32.0)/9.0 print("%.2f" %(c)) #其中,c为变量 ...
- 我的小程序之旅三:微信小程序登录流程设计
登录时序图 获取小程序的AppID和AppSecret 一.微信获取登录用户的openId 1.wx.login() { "code": "192038921jkjKHW ...
- Node.JS http server
一.自动更新刷新 http server browser-sync dist --files "**/*" 二.http-server 三.webpack-dev-server的c ...
- 【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
通过PSLIST查看Windwos中的进程信息及线程信息 一:下载PSLIST小工具:https://docs.microsoft.com/en-us/sysinternals/downloads/p ...
- OPPO 自研大规模知识图谱及其在数智工程中的应用
导读:OPPO 知识图谱是 OPPO 数智工程系统小布助手团队主导.多团队协作建设的自研大规模通用知识图谱,目前已达到数亿实体和数十亿三元组的规模,主要落地在小布助手知识问答.电商搜索等场景. 本文主 ...
- C++ //常用集合算法 //set_intersection //求俩个容器的交集 //set_union //求两个容器的并集 //set_difference //求两个容器的差集
1 //常用集合算法 2 //set_intersection //求俩个容器的交集 3 //set_union //求两个容器的并集 4 //set_difference //求两个容器的差集 5 ...
- sort自定义排序字符串('1-1','2-1','3-2'此类)
对数组排序 ['2-3','2-1','1-4','3-2','1-1','2-2','3-1'] 直接使用原生sort 对对象排序 [{a:'2-3'},{a:'2-1'},{a:'1-4'},{a ...
- YAML 语法简介与 C# 操作示例
〇.简介 YAML(Yet Another Markup Language)另一种标记语言. YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用.YAML 的语法比较简洁直观, ...