分享
 
 
 

如何移动Oracle数据库的表空间

王朝oracle·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在使用Oracle数据库的过程中,经常会碰到将数据库中的数据从一个数据库移动到另一个数据库的情况,假如移动的数据量不是太大,我们可以使用EXPORT/IMPORT将数据进行导出/导入。但假如需要搬移的数据量非常庞大,则用这种方法进行数据移动非常缓慢。

在Oracle8i版本中,提供了可以对表空间进行移动的方法,通过搬移表空间可大大降低数据迁移的速度,提高工作效率。

对表空间进行移动时应注重以下几点:(1)源数据库和目标数据库必须在相同硬件平台上。例如我们可以在Sun Solaris平台的Oracle数据库之间搬移表空间,也可以在windows 2000平台的Oracle数据库之间搬移表空间,但是不能在Sun Solaris/Windows 2000之间搬移表空间。(2)源数据库和目标数据库的字符集和民族字符集必须相同。(3)不能将表空间搬移到具有同名表空间的目标数据库中。(4)在Oracle8i之间搬移表空间时,源数据库和目标数据库的数据块尺寸一定要相同。

下面我们以Oracle8i(8.1.5) for Windows 2000为例说明移动表空间的具体方法。

一、检查要移动的表空间

当搬移表空间时,假如被搬移表空间中的数据没有和其它表空间中的数据有参照关系,则可直接对此表空间进行搬移;假如被搬移表空间中的数据与其它表空间中的数据有参照关系,那么在移动表空间时,凡与被移动表空间有参照关的表空间也应进行搬移,否则移动到目的地的表空间中的数据是不完整的。例如表空间local包含了表A1,而表空间local2包含了表A1的索引IDX_A1,此时假如要搬移表空间local,则也应同时搬移表空间local2,此时我们称表空间local、local2为自包含的。在进行表空间搬移之前,可以用下列方法查看被搬移的表空间是否为自包含表空间。

SQLexecute dbms_tts.transport_set_check(ts_list='local',

incl_constraints=TRUE);

参数ts_list用于指定要搬移的表空间,incl_constraints用于指定是否检查完整性约束。

执行完过程dbms_tts.transport_set_check之后,系统将违反自包含表空间的信息存入临时表transport_set_violations。查询该表时,假如没有返回任何信息,说明表空间是自包含的,否则会返回非自含表空间的原因,见下图:

二、导出表空间信息

为保持数据文件的一致性,在导出自包含表空间数据字典信息之前,应首先将自包含表空间转变为只读状态,作用是使表空间信息不会发生变化。

SQLalter tablespace local read only;

SQLalter tablespace local2 read only;

将表空间设置为只读关态时,会在表空间数据文件上发出检查点,并且其内容不会发生任何变化,此时就可以导出表空间信息了。导出表空间仅仅是导出与其相关的数据字典信息,而不是导出表空间的任何数据,使用如下操作系统命令可导出表空间local和local2的信息。

D:\EXP transport_tablespace=y tablespaces=local,local2 file=

expdat.dmp

用户名:internal/oracle@test as sysdba

参数:transport_tablespace搬移表空间选项,Y表示导出表空间信息;tablespaces用于指定要导出的表空间;file用于指定存放导出信息的文件。

导出表空间信息之后,使用操作系统命令将表空间数据文件和导出文件(expdat.dmp)复制到目标数据库所在机器相应的目录中。

三、导入表空间

在将表空间数据文件和导出文件复制到目标数据库所在机器之后,就可以将表空间信息导入到目标数据库中了。导入自包含表空间实际是将数据字典信息从导出文件装载到目标数据中,如表空间名称、表空间所对应数据文件以及数据对象名称等。具体的操作系统命令如下:

D:\IMP transport_tablespace=y datafiles= 'd:\localdb\local1.dbf'

,'d:\localdb\local2.dbf’

用户名:internal/oracle@test as sysdba

当执行完上述命令之后,会将表空间local和local2及其所包含的所有数据对象信息导入到目标数据库中。

注重:在Oracle8.1.5中搬移表空间时,源表空间中存放的所有数据对象的所有者在目标数据库中必须存在,假如不存在,则应在导入表空间之前建立相应的用户,然后再导入表空间。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有