oracle大数据量单表备份

本文介绍了一种当系统中表数据量超过10亿时的备份方案,包括准备工作如创建新表SQL、停止应用服务以降低数据库访问风险等步骤,并提到了rename和truncate操作的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统中有表过了10亿, 须对原表进行备份

前期:准备建新表sql,须由旧表结构更改(注意务必保留所有分区信息)
a. 停掉所有应用 (较关键,数据库访问量大时做rename等操作有风险)
b. rename old_table to new_talbe
c. 建新表

 

 

---

rename及trancate用时都比较少

转载于:https://www.cnblogs.com/vigarbuaa/archive/2012/06/30/2571468.html

### Oracle 格推荐的最大数据容量及性能考虑 在设计和部署Oracle数据库时,数据量是一个重要的考量因素。虽然理论上Oracle可以处理非常庞大的格,但在实际应用中为了保持最佳性能和服务质量,通常会遵循一些指导原则。 #### 推荐最大数据量范围 对于大多数应用场景来说,当一张数据记录数达到千万级至亿级时就应该开始评估分片策略[^1]。具体数值取决于业务需求、查询模式以及硬件条件等因素的影响。然而,在某些特殊情况下,如电信行业计费系统或大型互联网企业的日志存储等场景下,确实存在超过十亿条甚至更多记录的超大案例。 #### 性能影响因素分析 - **I/O操作效率**:随着数据的增长,磁盘读写次数增加,可能导致瓶颈现象。特别是在执行全扫描这样的高成本SQL语句时尤为明显。 - **索引维护开销**:大量数据意味着更频繁地更新B树结构或其他类型的索引文件,进而消耗额外的时间与空间资源。 - **锁竞争加剧**:并发事务增多容易引发行级锁定冲突,降低整体吞吐率并延长响应时间。 - **备份恢复难度加大**:更大的数据集不仅增加了日常备份所需时间和带宽,而且一旦发生故障后的快速恢复也变得更加困难。 针对上述挑战,建议采取如下措施: ```sql -- 创建分区以改善大规模数据管理 CREATE TABLE sales ( prod_id NUMBER(6), cust_id NUMBER, time_id DATE, channel_id CHAR(1), promo_id NUMBER(6), quantity_sold NUMBER(3,0), amount_sold NUMBER(10,2) ) PARTITION BY RANGE (time_id)( PARTITION Q1 VALUES LESS THAN(TO_DATE('01-APR-2023','DD-MON-YYYY')), PARTITION Q2 VALUES LESS THAN(TO_DATE('01-JUL-2023','DD-MON-YYYY')) ); ``` 通过合理规划物理布局(例如利用分区功能)、优化访问路径(比如创建覆盖索引),再加上定期监控调整参数设置等方式都可以有效缓解因海量数据带来的负面影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值