Oracle非分区表的重组

news/2024/11/23 1:53:12/

Oracle非分区表

一、概念

非分区表(Non-partitioned table)是指在创建表时没有使用分区(Partitioning)功能进行数据划分的表。分区表是将表中的数据按照某个特定的列或表达式进行划分,并存储在不同的分区中。而非分区表则没有进行这样的划分,所有的数据存储在一个统一的存储空间中。

非分区表相对于分区表而言,没有分区带来的额外管理和维护的复杂性,因此在某些场景下更加简单和适用。以下是一些非分区表的特点和使用场景:

  1. 简单管理:非分区表不需要定义分区策略、分区键等参数,不需要对分区进行维护,因此管理起来更加简单。

  2. 查询灵活性:由于所有数据都存储在一个统一的存储空间中,查询时不需要指定特定的分区或分区条件,因此查询语句可以更加简洁和灵活。

  3. 数据迁移和备份:非分区表的数据迁移和备份相对较为简单,不需要考虑多个分区之间的数据迁移和备份。

  4. 小规模数据集:非分区表适用于小规模的数据集,当数据量较小且不需要按照特定的列进行分区时,非分区表是一个简单且有效的选择。

然而,非分区表也有其局限性。当数据量非常大,或者需要按照某个特定的列进行数据划分以提高查询性能时,分区表可能更加适合。此外,分区表还提供了更好的数据管理和维护选项,比如可以根据需求对某个特定的分区进行备份、压缩、重建等操作。

二、演示

比如现在是自己定义的一个用户DOG,我现在要查询Dog用户的数据存放在哪些表空间当中。

-- 查询dog用户的数据存放在哪个空间中
SELECT segment_name,tablespace_name,extents,blocks FROM dba_segments WHERE owner = 'DOG'
SEGMENT_NAMETABLESPACE_NAMEEXTENTSBLOCKS
EMPLOYEESSYSTEM18
BIN$/PVtIp3yUWbgUBGsAgACNg==$0USERS18
BIN$/PVtIp3zUWbgUBGsAgACNg==$0USERS18
ORDERSUSERS18
CUSTOMERSUSERS18

我这个是模拟的数据,要知道当你接手之前的老的数据,很有可能一个用户名下面全部都是在system中的,这也就是导致系统表空间增长的过于太快了。

-- 查询哪些段是表,哪些段是索引
SELECT object_id,object_name,object_type,status,created FROM dba_objects WHERE owner = 'DOG'
OBJECT_IDOBJECT_NAMEOBJECT_TYPESTATUSCREATED
75079EMPLOYEESTABLEVALID2023/5/30 15:50
75105CUSTOMERSTABLEVALID2023/5/31 10:53
75104ORDERSTABLEVALID2023/5/31 10:53
75187pk_emp1INDEXVALID2023/5/31 13:14

这里能够查看到哪些是索引,哪些是表。

知道索引还不够, 还想知道这些索引是基于哪些表上的。


-- 索引是基于哪些表
SELECT index_name,table_name,tablespace_name,status FROM dba_indexes WHERE owner = 'DOG'
INDEX_NAMETABLE_NAMETABLESPACE_NAMESTATUS
pk_emp1EMPLOYEESUSERSVALID

valid:有效的, 这个时候的索引是有效的。

然后开始迁移表,将dog下的EMPLOYEES这个表吧从系统空间移出去。


ALTER TABLE DOG.EMPLOYEES move tablespace users;> OK
> 时间: 0.05s

然后在查询一下:


SELECT segment_name,tablespace_name,extents,blocks FROM dba_segments WHERE owner = 'DOG'

这个时候,空间已经变了

SEGMENT_NAMETABLESPACE_NAMEEXTENTSBLOCKS
EMPLOYEESUSERS18

这个时候我们基本上已经迁移成功了,但是会遇到一个很大的问题

还记得我们这个表是有索引的吗?


SELECT index_name, table_name, uniqueness, status FROM all_indexes WHERE owner = 'DOG'
INDEX_NAMETABLE_NAMEUNIQUENESSSTATUS
pk_emp1EMPLOYEESNONUNIQUEUNUSABLE

UNUSABLE:这个时候,这个表之前设置的索引已经是无效的了,你要是这个时候当任务完成的时候,麻烦就大了。

之后要是用DDL语句重新使这个索引生效。

Oracle11g我用的是此版本,9i版本移动索引请使用下面


ALTER INDEX dog.pk_emp1 REBUILD TABLESPACE INDX;
> ORA-01418: specified index does not exist,oracle会一直报错这个,当你使用11g的版本的时候

oracle11g版本请使用下列sql


alter index DOG."pk_emp1" rebuild;

这样子才会使得索引重建。

INDEX_NAMETABLE_NAMETABLESPACE_NAMESTATUS
pk_emp1EMPLOYEESUSERSVALID

最终完成了表空间的迁移, 以及索引的迁移。

迁移前和迁移后一毛一样。
oracle数据库表的迁移也不过如此。


http://www.ppmy.cn/news/118057.html

相关文章

【网络】新华三H3C交换机 抓包|H3C交换机文档

目录 前言 H3C交换机抓包: H3C简单FTP上传和下载文件 流镜像配置命令 2.1.1 mirror-to cpu 2.1.2 mirror-to interface 相关命令 更多ACL例子 ACL显示和维护 删除ACL 删除规则 删除classer 清楚统计信息 H3C交换机文档下载地址 前言 术语: ACL: 访问控…

133、H3C交换机恢复出厂和各种基本配置

一、不知道密码如何恢复出厂设置 1、 开机启动,Ctrl+B进入bootrom菜单,选择恢复出厂设置 2、用com线连上电脑,用超级终端进入,然后重启电脑,看提示按ctrl+b进入bootrom模式,然后按照菜单提示删除flash中的.cfg文件,然后重启就可以了。或者进入后键入命令 reset save …

rrpp协议如何修改_H3C 中低端以太网交换机 可靠性典型配置指导-6W100

1RRPP典型配置指导(支持保护VLAN) 为了兼容不支持保护VLAN配置的RRPP版本,在使用旧版本配置文件启动设备后,RRPP域保护所有的VLAN。 城域网和企业网大多采用环网来构建以提高可靠性,但环上任意一个节点发生故障都会影响业务。环网采用的技术一般是RPR或以太网环。RPR需要专用…

[华三] IPv6技术白皮书(V1.00)

IPv6技术白皮书(V1.00) http://www.h3c.com/cn/d_200802/605649_30003_0.htm H3C S7500E IPv6技术白皮书 关键词:IPv6,隧道 摘 要:本文介绍了IPv6的产生背景、技术要点和组网策略。 缩略语: 缩略语 英文全名 中文解释 ND Neighbour Discovery Protocol 邻居发现协议 PMT…

Cisco策略路由双地址双出口+NAT

环境描述:使用设备为Cisco2621XM NE-1E模块,该配置拥有两个FastEthernet以及一个Ethernet端口。  现使用Ethernet 1/0 端口连接内部局域网,模拟内部拥有100.100.23.0 255.255.0.0 与100.100.24.0 255.255.0.0 两组客户机情况下基于原地址 …

H3C技术--登录

1.1 登录以太网交换机方法简介 H3C S7500E 系列以太网交换机的登录,可以通过以下几种方式实现: ? 通过Console 口进行本地登录 ? 通过以太网端口利用Telnet 进行本地或远程登录 ? 通过Console 口利用Modem 拨号进行远程登录 ? 通过NMS(Ne…

H3C交换机web管理配置

1、下载一个超级终端到PC机上 由于工作环境不能联网的环境下,下载了好几个超级终端才能用。 2、超级终端连接有很多教程 但是有一个重要的事情:在COM1属性的端口设置里面,将(位/(B))设置为9600 进去之后点击超级终端…

H3C 7503 和 7502 MSTP+VRRP配置实例

直接贴配置 [S7503]dis ver H3C Comware Platform Software Comware software, Version 3.10, Release 3132P02 Copyright(c) 2004-2006 Hangzhou Huawei-3Com Tech. Co., Ltd. All rights reserved. H3C S7503 uptime is 0 week, 0 day, 22 hours, 15 minutes SRPG 0: uptime…