Oracle 10g R2特性之数据仓库和集成特性(五)

 
   | |

导读:本文主要介绍Oracle 10g R2特性之数据仓库和集成特性并列举了一些相关实例。

关键词:Oracle 10g R2 数据仓库 集成

正在加载数据...

在某个时刻,您决定将分区Y03Q2移动到另一个表空间 (TRANSY03Q2),该表空间可能位于一个不同类型的磁盘(一个慢一点、便宜一点的磁盘)上。为此,请首先确认您可以联机重新定义该表:

  begin
  dbms_redefinition.can_redef_table( 
  uname        => ’ARUP’,  
  tname        => ’TRANS’, 
  options_flag => dbms_redefinition.cons_use_rowid, 
  part_name    => ’Y03Q2’); 
  end;
  /

  此处没有输出,因此您确认可以联机重新定义该表。接下来,创建一个临时表保存该分区的数据:

  create table trans_temp
  (
  trans_id        number,
  trans_date date,
  txn_type varchar2(1),
  acc_no number,
  tx_amt number(12,2),
  status varchar2(1)
  )
  tablespace transy03q2
  /

  请注意,由于表TRANS进行了范围分区,因此您已经将该表定义为未分区表。该表在所需的表空间TRANSY03Q2中创建。如果表TRANS包含一些本地索引,则表示您已经对表TRANS_TEMP 创建了这些索引(当然是创建为未分区索引)。

  现在,您就可以启动重新定义过程:

  begin
  dbms_redefinition.start_redef_table( 
  uname        => ’ARUP’,  
  orig_table   => ’TRANS’, 
  int_table    => ’TRANS_TEMP’, 
  col_mapping  => NULL, 
  options_flag => dbms_redefinition.cons_use_rowid, 
  part_name    => ’Y03Q2’); 
  end;
  /

  该调用有几个注意事项。第一,将参数col_mapping设置为NULL;在单个分区重新定义中,该参数没有意义。第二,一个新参数part_name指定了要重新定义的分区。第三,注意其中没有 COPY_TABLE_DEPENDENTS 参数,该参数也没有意义,原因是表本身无法更改;只移动分区。

  如果该表很大,此操作可能持续很长时间;因此请在操作过程中对它进行同步。

  begin
  dbms_redefinition.sync_interim_table( 
  uname      => ’ARUP’,  
  orig_table => ’TRANS’, 
  int_table  => ’TRANS_TEMP’, 
  part_name  => ’Y03Q2’); 
  end;
  /

  最后,使用以下代码完成该过程

  begin
  dbms_redefinition.finish_redef_table( 
  uname      => ’ARUP’,  
  orig_table => ’TRANS’, 
  int_table  => ’TRANS_TEMP’, 
  part_name  => ’Y03Q2’); 
  end;

  此时,分区Y03Q2位于表空间TRANSY03Q2中。如果该表存在任何全局索引,则它们将被标记为UNUSABLE并且必须被重新构建。

  单个分区重新定义对于跨表空间移动分区(一个常见的信息生命周期管理任务)很有用。但显而易见,其中存在几个限制。例如,您无法在重新定义过程中更改分区方法(即从范围更改为散列)或更改表的结构。

  逐块地删除表

  您注意到过删除一个分区的表需要多长时间吗?这是因为每个分区都是一个必须删除的段。在Oracle数据库10g第2版中,当您删除分区的表时,分区将逐个被删除。由于每个分区是单独删除的,因此所需的资源要比删除整个表少。

  要演示这个新行为,您可以使用10046跟踪跟踪该会话。

  alter session set events ’10046 trace name context forever, level 12’;

  然后,删除该表。如果查看跟踪文件,则将看到分区表删除的代码:

  delete from tabpart$ where bo# = :1
  delete from partobj$ where obj#=:1
  delete from partcol$ where obj#=:1
  delete from subpartcol$ where obj#=:1

  请注意,分区是按顺序删除的。该方法最大限度地降低了删除过程中的资源使用率并增强了性能。


Oracle 10g R2特性之数据仓库和集成特性
 Oracle 10g R2特性之数据仓库和集成特性(五)
 Oracle 10g R2特性之数据仓库和集成特性(四)
 Oracle 10g R2特性之数据仓库和集成特性(三)
 Oracle 10g R2特性之数据仓库和集成特性(二)
 Oracle 10g R2特性之数据仓库和集成特性(一)

 
来源:iTbulo    
 
 
 
 
 

Oracle数据仓储与商业智能

 
距甲骨文顺利收购Sun微系统已经有一个多月的时间了,但貌似到现在为止,最新的数据仓库策略还是很不明朗。
 
还需要更多的理由来证明数据仓库市场中的竞争还像原来一样激烈吗?这个观点怎样呢:很多厂家正在免费开放他们的分析型数据库,虽然有一些附加条件。
 
云计算和相关的“数据云”适合分布式数据和分布式企业。创业和那些喜欢研究样机的人也将受益于云模型。
 
面向列的分析型数据库越来越引起人们的注意。简明扼要地说,面向列的数据库将行分解成多个数据元素,并且储存的数据库元素对应于所有的行。
 
OBIEE使得构造流感监控仪表盘变得更加容易。Kaleida从Oracle的Discoverer产品转向OBIEE,前者可以生成一个比较仪表盘,但是不易于使用。

热门技术手册排行

 

在本次的技术手册中,我们为您提供了PL/SQL的基础知识以及专家指导,包括了PL/SQL中的数据类型简介、PL/SQL函数与触发器以及PL/SQL中的存储过程等,相信您无论是高手还是菜鸟都可以获得有帮助的信息。

 

本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。专家为你一一指点迷津,最终让你登上成功的宝座。

 

要成为一名DBA,你需要具备哪些素质?DBA的薪酬待遇如何?DBA的职业道路究竟可以走向何方?我们将在本次的技术手册中为您一一解答。

 

在本次技术手册中,我们将对SQL Server存储过程的调试进行详细的介绍,包括了基础的调试方法和在调试过程中出现的T-SQL性能问题和解决方法。

 

本技术专题主要围绕sql server设计这个话题展开,侧重介绍了sql server集簇索引的设计、如何创建sql server索引、如何优化索引、索引的能与不能、处理sql server 2000索引碎片技巧以及维护sql server索引以实现查询优化等等。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录