有关transport tablespace的测试全过程
transport tablespace 测试全过程,数据库oracle9.2.0.4,操作系统平台hp11i,16个cpu,16g内存
1.建立测试表空间
create tablespace tts_test datafile '/dev/vgjs03/rjsdata00274' size 2046m reuse extent management local uniform size 1m;
2.建立测试表
create table tts_test(
a number(10),
b number(10)
)tablespace tts_test;
3.往测试表中灌数据
variable i number;
begin
for i in 1..30000 loop
insert into tts_test(a,b)
values(i,i+1);
end loop;
commit;
end;
/
4.检测测试表空间的完整性
execute dbms_tts.transport_set_check('tts_test', true);
若报过程dbms_tts.transport_set_check不存在,则用sys的数据库用户执行脚本"$ORACLE_HOME/rdbms/admin/dbmsplts.sql"建立之.
5.将要测试的表空间改为只读
alter tablespace tts_test read only;
6.导出元数据
exp \'sys/password@cntjs as sysdba\' transport_tablespace=y tablespaces=tts_test file=tts.dmp log=tts_e.log
7.使用dd命令拷贝出裸设备的数据
dd if=/dev/vgjs03/rjsdata00274 of=raw_device ibs=1024 obs=1024
8.删除测试的表空间
drop tablespace tts_test including contents;
9.使用dd命令将7中拷贝出的文件重新拷到裸设备中
dd if=raw_device of=/dev/vgjs03/rjsdata00274 ibs=1024 obs=1024
10.使用imp导入测试表空间
imp \'sys/password@cntjs as sysdba\' transport_tablespace=y tablespaces=tts_test file='/oracle_export/changqr/tts.dmp' datafiles='/dev/vgjs03/rjsdata00274' tts_owners=supp fromuser=supp touser=supp log=tts_i.log
11.将测试表空间改为可读写
alter tablespace tts_test read write;
以上步骤,已经在江苏数据库上测试通过.
关键点:
1.一定要保证所要导出表空间中数据的完备性,具体定义参见oracle的官方文档.
2.在表空间改为只读后明确有几个用户的数据在此表空间上.
阅读(1184) | 评论(0) | 转发(0) |