ORACLE 10G 的数据迁移
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
Oracle 10G 的数据迁移方案
3.将文件ts1_ts2.dmp转移到远程系统中,放在目录/u01/dumps下(用文件传输的方法如FTP或rcp)。
4.在目标数据库中创建一个目录对象。
CREATE DIRECTORY dump_dir
AS '/u01/dumps';
5.使用数据泵导入工具将该文件导入到该数据库中。
impdp lora/lora123 DIRECTORY=dump_dir DUMPFILE=ts1_ts2.dmp
如果
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
空间内的数据量相对较小,则Lora可以只用一条命令执行上面的所有步骤:
impdp lora/lora123 DIRECTORY=dump_dir NETWORK_LINK='srcdb' TABLESPACES=(ts1,ts2)
这条命令使用数据泵导入工具将通过数据库链接srcdb(在以前的章节中已讨论过)检索到的数据加载到表中。但是,由于网络带宽通常是受到限制的,因此这种方法可能比使用导出/传输/导入周期方法要慢一些。
如果只需将特定的表或表集合进行转移,那么Lora可以在expdp命令中使用TABLES=子句来只下载特定的表或表集合。
拖出表空间
作为第三种选择,Lora建议使用Oracle数据库10g中的新工具,它简化了可移动表空间的移动方法,因此只涉及执行一个打包过程。在这种方法中,用户利用所提供的DBMS_STREAMS_TABLESPACE_ADM包从源系统中"拖?quot;表空间。这个包使用数据泵转移表空间并将数据文件转换成目标系统的格式。它还自动执行任何所需的字节顺序变换。
下面给出在最简单的情况下使用这种方法的过程--涉及单个简单表空间(更复杂的情况在下一节介绍)。如果一个表空间只有一个数据文件,则这个表空间称为简单表空间。Lora演示了DBMS_STREAMS_TABLESPACE_ADM包中 PULL_SIMPLE_TABLESPACE过程的
使用方法
消防栓的使用方法指针万用表的使用方法84消毒液使用方法消防灭火器使用方法铁材计算器使用方法
:
1.在存放数据文件的目录所在的(远程)数据仓库数据库中创建一个目录对象。
CREATE DIRECTORY dbf_dir AS '/u01/oradata/dw';
2.设置远程数据库中的表空间TS1为只读。
ALTER TABLESPACE TS1 READ ONLY;
剩下的一些步骤在本地(数据集市)数据库中完成。
3.创建一个连接到远程(数据仓库)数据库(在Lora的例子中是dwdb)的数据库链接。
CREATE DATABASE LINK dwdb USING 'dwdb';
4.创建一个数据文件将被转移到其中的目录对象。
CREATE DIRECTORY dbf_dir AS '/u01/oradata/mart';
5.从远程数据库中拖出表空间。
BEGIN
DBMS_STREAMS_TABLESPACE_ADM
.PULL_SIMPLE_TABLESPACE (
tablespace_name => 'TS1',
database_link => 'dwdb',
directory_object => 'DBF_DIR',
conversion_extension => 'linux'
);
END;
该操作在后台完成了许多步骤:设置源表空间为只读;用数据泵导出工具进行一次表空间的元数据转储;用DBMS_FILE_TRANSFER包移动数据文件和转储的文件;把源表空
该操作还在与数据文件相同的目录下创建一个名为ts1_01.plg的日志文件。如果执行该过程返回错误信息,则检查该文件的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
可能有助于找到错误的原因。
拖出多个表空间
上面的例子针对的是单个简单表空间的情况。但如果Lora想移动一组表空间,或者一些
表空间的数据文件多于一个,该怎么办呢,在这种情况下,她可以使用同一个包中的另一个过程PULL_TABLESPACES。代码
清单
安全隐患排查清单下载最新工程量清单计量规则下载程序清单下载家私清单下载送货清单下载
2给出的例子说明Lora如何转移两个表空间TS7和TS8,而不管它们有多少个数据文件。
该过程要求以VARCHAR2数据类型给出表空间名和目录名。代码清单2中第2行到第5行展示出了这些变量的声明,第10行到第13行展示出这些变量被赋值给相应的表空间名和目录名。由于定义了两个目录,因此第一个文件在第一个目录中创建,下一个文件在第二个目录中创建,第三个文件再次在第一个目录中创建,如此等等。这些操作通过数据泵作业来执行,作业名在第17行指定。如果需要的话,源系统字节顺序的数据文件会自动转换为目标系统的字节顺序。在目标数据库中创建的新文件获得linux扩展名,如第21行代码所示。处理过程记录在由目录对象LOG_DIR指定的目录中的ts7_ts8.log日志文件中(第14行)。
这种方法的优点显而易见。从一个系统把一个表空间转移到另一个系统所需的所有操作任务都封装在一个程序单元中,并且细节对用户完全透明。甚至把文件从源系统转移到目标系统的工作也在这个过程中通过所提供的DBMS_FILE_TRANSFER包来完成。用户简单地用表空间名调用该过程,表空间就会在本地数据库中被刷新。他们不必操心底层的细节(如操作系统),因为文件转移过程自动转换文件。这种方法有什么不好的地方吗,会上Lora讲到,它的主要缺点就是将各个功能封装在一个单一的过程内,这可能会掩盖某一步产生的错误,使问题的诊断变得很复杂。手工转移一个表空间的方法要求各条命令都是透明的,因而其好处是用户能够看到每一步操作的结果。
会议结束
针对Acme的数据仓库/数据集市体系结构,Lora提出了几种移动
第一种可选方法是使用可移动表空间,它能移动完整的表空间集合(不仅包括表,还包括索引、物化视图和其他对象)。通常它还是这三种方法中最快的一种。但是,它的一个主要缺点是对指定的表空间必须在复制文件时设置为只读。
第二种方法是使用数据泵,它对表空间是否为只读没有要求。当只需要移动指定的表而不是整个表空间时,这种方法很有用。
最后一种方法是拖出表空间,该方法把可移动表空间方法的所有步骤组合成一步操作。用这种方法复制数据非常简单,但要想调整每个具体步骤以便进行性能优化时,它为数据库管理员提供的灵活性太少。
在会议结束时,高级管理层对Lora表示感谢,而Lora也感谢高级管理层对Acme银行迁移到Oracle数据库10g的支持,因为这使得不同的数据移动方法都成为可行的。