当前位置: 首页 > 图文教程 > 数据库 > Oracle > 使用Oracle 10g Data Pump重组表空间

Oracle
常见的一些Oracle初学者的问题
ORACLE认证系统概述
数据库考试简介:Oracle认证
Oracle认证基础知识介绍
ADO连接Oracle Access示例及记录集处理源码
SQL Server和MySQL的安全性分析
用Oracle和SQL Server数据库组合利弊分析
Oracle 11g分区功能新革命
Flashback Query 恢复误删除的数据
基于Oracle高性能动态SQL程序开发
怎样在Oracle 9i中正确的转换时区
Oracle 10g导出的数据库能否导入Oracle 9i?
增加Distinct后查询效率反而提高
Oracle限制返回结果集的大小
Java语言数据库操作的基本流程
美国甲骨文(ORACLE)公司入驻渝中区大都会商厦
RHEL AS4上安装oracle 10R2 的方法
DB中如何查询Table占用空间的大小
编写高质量高性能的MySQL语法
Oracle数据库自动备份的具体实现步骤

使用Oracle 10g Data Pump重组表空间


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 282 ::
收藏到网摘: n/a

Oracle 10g版本对数据输入与输出的操作功能进行重新设计,在输入或输出工作中增加断开和连接的功能。对这些功能做微小改动,就可利于DBA表空间的操作。

作为整体单元输出表空间

过去的输出和输入功能有3种模式:依赖于对象输出,如索引的单个表格;输出某个用户所有的对象;输出整个数据库。但是表空间是一个难于处理的问题。不同用户的对象存储在给定的表空间中,但是某些对象可能存储在其它表空间。

因此,唯一的解决方法则是使用查询数据字典查找列表及其从属主,然后使用“table-mode export”输出单个整体单元。

Oracle 10g版本中,由于包含输出“Data Pump”(expdp),可以直接从表空间输出所有对象。TABLESPACES参数允许指定需要输出的表空间。

TABLESPACES=name [,...]

如果数据库继承很多基于字典的表空间,以上方法显得更加非常有用。并且,可在本地重新创建表空间而减少碎片,然后再重新导入内容。

在输入时重命名数据文件名

如果将数据库从一平台转移到另一平台,在数据文件导入之前,DBA需要预先创建表空间。为什么呢?因为在转储文件中包含原始数据库操作系统格式的数据文件路径,将转储文件输入到其他操作系统时,则有可能产生错误。

在Oracle 10g版本的输入(impdp)功能,其REMAP_DATAFILE参数可重命名数据文件,以消除以上问题。其格式如下:

REMAP_DATAFILE=source_datafile:target_datafile

这一选项只作用于FULL输入,并且指定的userID必须为IMP_FULL_DATABASE。

输入时更改表空间名称

Impdp功能允许向不同的表空间加载对象。在10g版本出现以前,这一操作非常复杂。首先,因为没有写操作权限,必须移除原始表空间的限额,然后再设置表空间。

再输入过程中,原始表空间中的对象可以存储在设置后的表空间中。当任务完成后,必须进行将表空间恢复到原来状态。

在10g输入中,REMAP_TABLESPACE参数设置使得这一工作大大简化。只需要对目标表空间进行限额,而不需要其他条件。设置参数的格式如下:

REMAP_TABLESPACE=source_tablespace:target_tablespace