常用的大表复制技术
传统方法 建表然后insert into
create table CLW_TEMP1 ( DX_PROCESS_NO VARCHAR2(15),TELE_NUM VARCHAR2(11),OPER_CODE VARCHAR2(10),
DEPT_CODE VARCHAR2(8),DO_DEPT_CODE VARCHAR2(8),PLAN_ID NUMBER(8),ICC_ID VARCHAR2(25),PROCESS_DATE DATE);
insert into clw_temp1 select * from clw_Temp;
执行时间 56.891s
优化后的传统方法
Create table as …
CTAS的方法速度快是因为减少I/O
drop table clw_temp1;
create table clw_Temp1 as select * from clw_temp;
74.922
CTAS UNRECOVERABLE
UNRECOVERABLE 能减半建表的时间,同时能够减少资源占用 因为它可以越过redo log processing. drop table clw_temp1;
create table clw_Temp1 unrecoverable as select * from clw_temp;
26.531
CTAS PARALLEL
并行访问并不是degree越大越好的,下面的例子已经说明了这个问题 具体值和硬件和软件平台都有关系 也和oracle初始设置有关
PARALLEL_MIN_SERVERS PARALLEL_MAX_SERVERS
PARALLEL_AUTOMATIC_TUNING = TRUE
drop table clw_temp1;
create table clw_Temp1 parallel (degree 4) as select * from clw_temp;
49.797
drop table clw_temp1;
create table clw_Temp1 parallel (degree 2) as select * from clw_temp;
36.359 APPEND
Append 提示告诉Oracle 使用快速机制来插入数据,和nologging会有更好的效果
If a table or an index is specified with nologging, this hint applied
with an insert statement produces a direct path insert which reduces generation of redo.
insert /*+APPEND */ into clw_temp1 select * from clw_temp;
44.687
NOLOGGING
在归档的模式下是有用的 drop table clw_temp1;
create table clw_Temp1 as select * from clw_temp;
45.047
综合使用各种提示优化
Create table clw_temp1 as select * from clw_temp1 where rownum<1 nologging;
insert /*+APPEND parallel (degree 2) */ into clw_temp1 select * from clw_temp
38.922
从这里看出append 和nologging和parallel结合使用对效果提高是蛮大的
create table CLW_TEMP1 unrecoverable
parallel (degree 2) as select * from clw_temp nologging
14.797
看看用时14.797 堪称经典,与普通方法的执行时间相比,简直是天壤之别
导入导出技术
可以使用Oracle IMP/EMP
相关推荐
在本文中,我们将深入探讨Oracle复制表数据的两种主要方法,并结合提供的“测试插入.sql”文件,理解其在实际操作中的应用。 首先,让我们了解第一种方法:使用`INSERT INTO SELECT`语句。这种方法适用于将一个表的...
oracle复制表
多年前写的复制目标数据库指定表的数据到本地表。 程序丢了可惜,分享下。 执行存储过程,通过指定目标数据库登录信息,动态生成dblink,打开游标,按批次插入本地指定表中,每批次1万条数据。同步记录和日志信息写...
Oracle数据复制技术是实现分布式环境中数据同步与共享的重要手段,它不仅可以提高数据的可用性和安全性,还能有效地支持大规模企业的分布式计算环境。通过对Oracle数据复制技术的理解和应用,企业可以更好地应对日益...
Oracle数据库中的分区表是一种高级的表组织形式,它将大表分成多个较小的部分,每个部分称为一个分区,以提高查询性能和管理效率。当表的大小超过2GB时,官方推荐使用分区表,因为它们在处理大量数据时具有显著优势...
Oracle高级复制是Oracle数据库系统中的一种复杂的数据同步技术,它允许在不同的数据库之间实时或近实时地复制数据。这项技术对于分布式系统、灾难恢复、负载均衡以及数据分发等场景非常有用。以下是对Oracle高级复制...
3. **执行生成的语句**:生成的SQL语句可以直接复制并在Oracle环境中执行,或者将其保存到一个文件中批量执行。 #### 注意事项 - 在执行`ANALYZE TABLE`命令时,可能会消耗大量资源,特别是在大型表上。因此,在...
### Oracle 数据库对称复制实施手册 #### 一、引言 Oracle 数据库对称复制是一种高级特性,它允许在两个或多个站点之间双向同步数据。这种复制方式非常适合那些需要保持多个数据中心同步的企业级应用。本文档将...
Oracle 表删除大量数据后,即使表中只有几行记录,但用select count(*) from table 来查询发觉都不会马上出来,原因是该表的空间大了
- 数据定位技术:利用Oracle的元数据,DDS能够确定数据在表、索引和其他数据库对象中的位置,进行精确复制。 5. **SQL语句的过滤和转换** - DDS允许用户定义规则,过滤不希望复制的SQL语句,例如只复制特定表的...
Oracle高级复制是Oracle数据库系统提供的一种复杂的数据同步技术,它允许在不同的数据库之间实时或近实时地复制数据。本教程将详细介绍如何进行Oracle高级复制的配置。 首先,我们需要准备两个运行Oracle数据库的...
通过Oracle的流复制实现数据库之间的同步,是一种高效的数据同步机制,尤其在企业级应用中,对于数据一致性和实时性有着极高的要求。Oracle Streams作为Oracle数据库的一项重要特性,自Oracle9i版本开始引入,取代了...
总结起来,将Oracle表结构导出到Excel涉及SQL查询、数据复制以及在Excel中的粘贴操作。对于频繁的操作,可以通过编写VBA宏或使用专业工具来自动化这个过程,提高工作效率。在处理大数据量时,应考虑分批处理和优化...
更新冲突是异步复制中的一大挑战,当多个节点同时修改同一数据时,可能导致数据不一致。为了避免冲突,可以采取所有权模型或锁定策略,限制特定数据的更新权限至单一节点。 Oracle数据复制应用模型包括多种策略,...
2. **执行查询**:将上述SQL查询复制并在Oracle SQL*Plus或其他兼容的SQL工具中运行。 3. **查看结果**:查询执行后,结果将显示每个表空间的名称以及对应的DDL脚本。 #### 扩展应用 除了获取表空间的DDL脚本外,...
在开发、文档编写或分享数据库设计时,有时我们需要将Oracle表结构导出到更便于阅读和分享的格式,比如Microsoft Word文档。这个过程可以帮助团队成员更好地理解数据库结构,也可以作为备份或审计的参考。 "oracle...
### Oracle 11g 复制数据库:基于备份与活动数据库复制详解 #### 一、引言 在Oracle 11g R2中,通过RMAN(Recovery Manager)工具可以实现对现有数据库的复制操作。复制过程可以分为两种类型:基于备份的复制和...
Oracle GoldenGate是Oracle公司的一款高级数据复制解决方案,主要用于实现数据库的实时或近实时的数据同步,以支持灾难恢复、数据整合和大数据分析等场景。在Oracle GoldenGate 11版本中,它支持多种数据类型的复制...
我整理的oracle高级复制文档,包括advanced replication初步研究,Oracle 高级数据复制案例,Oracle数据库中高级复制的功能介绍,Oracle高级复制维护中要注意的方面,使用高级复制时清除Deferred Queue的办法
【Oracle数据库复制】是Oracle数据库管理系统提供的一种技术,旨在解决大量只读数据导致的性能问题。复制技术将数据从一个数据库复制到另一个物理位置的数据库,这样查询和统计操作可以在独立的服务器上进行,减轻主...