RSS订阅
RSS订阅TT数据库

Oracle: 用数据交换方式把表数据迁移到分区表实例(二)

2008-8-27  选择字号:  | |
打印本文章

导读:本文介绍了在Oracle中用数据交换方式把数据迁移到分区表的实例。

关键词:Oracle Oracle数据迁移 表数据迁移到分区表

正在加载数据...

  --进行数据交换


alter table kingstar.EMP_partition exchange partition emp_max with table kingstar.emp; 

  --查分区表数据 

 select * from kingstar.EMP_partition; 
  1 1  蔡浪 D 0 2008-8-1 12:22:13 1000.00 1000.00 10 
  2 2  蔡星 D 1 2008-9-1 13:23:12 5000.00 5000.00 10 


  --查源表数据已被清空  

 select * from kingstar.emp; 
  --往源表插数据,索引失效 
  insert into kingstar.emp values (1,’ 蔡浪’,’D’,0,to_date(’20080801 12:22:13’,’yyyymmdd hh24:mi:ss’),1000,1000,10); 
  insert into kingstar.emp values (2,’ 蔡星’,’D’,1,to_date(’20080901 13:23:12’,’yyyymmdd hh24:mi:ss’),5000,5000,10); 
  第 1 行出现错误: 
  ORA-01502: 索引 ’KINGSTAR.PK_EMP’ 或这类索引的分区处于不可用状态 

  --索引重建


alter index kingstar.pk_emp rebuild ; 


  --再插入数据可以完成  


 insert into kingstar.emp values (1,’ 蔡浪’,’D’,0,to_date(’20080801 12:22:13’,’yyyymmdd hh24:mi:ss’),1000,1000,10); 
  insert into kingstar.emp values (2,’ 蔡星’,’D’,1,to_date(’20080901 13:23:12’,’yyyymmdd hh24:mi:ss’),5000,5000,10); 

  --查询数据    


 select * from kingstar.emp; 
  1 1  蔡浪 D 0 2008-8-1 12:22:13 1000.00 1000.00 10 
  2 2  蔡星 D 1 2008-9-1 13:23:12 5000.00 5000.00 10 


  --拆分分区,只能将一个分区插成两个分区,并且指定插分后的第一个分区的内容如to_date(’200809’,’YYYYMM’)就是该分区emp_200808存放200808这个月数据

  --也就是相当于定义分区时的 partition emp_200808 values less then(to_date(’200809’,’yyyymm’))

  


-- into (partition emp_200810,partition emp_maxes); 指定拆分出来的less than 的分区名字和maxvalue的分区名字
alter table kingstar.emp_partition split partition emp_max at(to_date(’200809’,’YYYYMM’)) into (partition emp_200808,partition emp_max); 
  alter table kingstar.emp_partition split partition emp_max at(to_date(’200810’,’YYYYMM’)) into (partition emp_200809,partition emp_max); 
  alter table kingstar.emp_partition split partition emp_max at(to_date(’200811’,’YYYYMM’)) into (partition emp_200810,partition emp_upper); 
  alter table kingstar.emp_partition split partition emp_upper at(to_date(’200812’,’YYYYMM’)) into (partition emp_200811,partition emp_max); 

  --查询分区数据  


select * from  kingstar.emp_partition partition(emp_200808); 
  1 1  蔡浪 D 0 2008-8-1 12:22:13 1000.00 1000.00 10 

  --修改分区名字


alter table kingstar.emp_partition rename partition emp_max to emp_upper;


Oracle: 用数据交换方式把表数据迁移到分区表
 Oracle: 用数据交换方式把表数据迁移到分区表实例(一)
 Oracle: 用数据交换方式把表数据迁移到分区表实例(二)

原文出处:http://blog.chinaunix.net/u1/47353/showart_371162.html
来源:BLOG    作者:loncai    
我已经进行了升级。我的数据库大小为200gb,并且不支持升级到10g)。O/S在HP-UX上。你能告诉我最好的升级方法是进行手动升级处理还是用导入/导出到新的Oracle数据库中?
如何逻辑迁移Oracle数据库?在环境为OS:Windows Server2003、Oracle:Oracle10.2.0.1.0中,作者详细介绍逻辑(exp\imp)迁移到Oracle数据库的方法和步骤。
SQL*Loader,是Oracle数据库系统提供的一个数据移植工具,它提供了一个命令行的方式,可以让用户成批的向Oracle数据库中装入大量数据。
数据库的的所在系统为AIX5.3,数据库的备份通过Tivoli Storage Manage软件把数据库数据、归档日志备份到带库中。
我的两个Oracle很相似,一个在我的医院,一个在我家里。在空余时间里对所有的工作都进行了data.dmp处理。请问我能用什么命令来导入并写入我医院那个Oracle库里的表?

本专题介绍了SQL Server服务代理相关方面的知识,包括SQL Server服务代理基础知识的概述、消息类型、契约、队列、服务和路由、SEND命令和RECEIVE命令、性能方面的改进以及对运行状况的监控等等。

无论你是否计划将SQL Server数据库转换服务(DTS)包迁移到SQL Server集成服务(SSIS)或在SQL Server 2005里运行DTS包,都需要专家的一些建议。这一指南主要是包括SSIS的相关基础知识、技巧帮助你进行SSIS调整,还介绍了SSIS有经验的一些用户的具体信息等等。

子查询是一个嵌套在SELECT、INSERT、UPDATE 或DELETE语句,或者另一个子查询里的查询。一个子查询可以返回一行或多行结果给父查询。标量子查询是只返回一个值的查询:只有一个字段的一行记录。标量子查询可以在SQL语句的大多数位置,其中你可以使用一个表达式或一个实际值。
最新更新
专家答疑
技巧
Michael Hillenbrand
你能解释一下数据库公程师、数据库架构师以及数据库管理员之间有什么区别吗?数据库管理员:这是目前最普遍使用的对从事数据库相关的工作的人的头衔。数据库管理员是指……
Brian Peasland
对5GB大小的Oracle 7.3存档或删除的最佳办法是什么?为了便于管理机构查询,这些数据至少需要再用20年的时间。我们担心将来我们不能对它重新获取并迁入一个更新的……
Rudy Limeback
如何创建一个约束限制2007年1月1日之前的日期被录入?用CHECK约束就可以。如下面的示例……