传输表空间

来源:互联网 发布:淘宝手机端链接从哪找 编辑:程序博客网 时间:2024/06/15 21:07
查看平台和终端位(本例是模拟同平台,不需查,为了说明异平台下的不同)
一检查endianess


SQL> SELECT d.platform_name, endian_format FROM v$transportable_platform tp, v$database d WHERE tp.platform_name = d.platform_name;


PLATFORM_NAME                                                                                         ENDIAN_FORMAT
----------------------------------------------------------------------------------------------------- --------------
Linux x86 64-bit                                                                                      Little


1创建一个表空间
SQL> create tablespace tts datafile '/oradata/orcl/tts01.dbf' size 100m autoextend on;


2创建一个用户、授权


SQL> create user abc identified by abc;




 grant connect,resource to abc;


3指定默认表空间


alter user abc default tablespace tts;


4.建个表插入数据
create table ttt(id int);
insert into ttt values(1);
insert into ttt values(2);
commit;



二、检查自包含 (可能有分区表不是默认表空间,其他表空间有定义约束、存在视图等)
connect / as sysdba


第二个参数true 检查constraints


 execute dbms_tts.transport_set_check('TTS',true);



SQL> select * from transport_set_violations;


no rows selected


三、将该表空间设置只读


SQL> alter tablespace tts read only;


四、导出(用数据泵模拟)


create DIRECTORY tranp_dir as '/home/oracle/pump';
grant read,write on directory tran_dir to public;

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

expdp system/oracle directory=tranp_dir dumpfile=tts.dmp transport_tablespaces=tts


由于是测试环境,本机既是是源端又是目标端。将tts对应的数据文件/oradata/orcl/tts01.dbf拷贝一份放到/oradata/下。

使用命令


drop tablespace tts including contents and datafiles;

这是测试环境。正常的环境应该是将tts01.dbf和tts.dmp传输到目标机上
五、转换(本例实验不需要,可略过。)
如目标端是LINUX 32位
RMAN> convert tablespace 'REPOSIT'
2> to platform="Linux IA (32-bit)"
3> db_file_name_convert='/oradata/orcl/tts01.dbf',
4> '/tmp/tts01.dbf';
将/tmp/tts01.dbf 和tts.dmp放到相应位置

六、导入
正常环境应该创建用户abc,授权,建导入目录等再执行导入。
impdp system/oracle dumpfile=tts.dmp directory=tranp_dir transport_datafiles='/oradata/tts01.dbf'

impdp sys/oracle dumpfile=tts.dmp directory=tranp_dir transport_datafiles='/oradata/orcl/tts02.dbf' remap_schema=abc:abc

conn abc/abc

select * from ttt;

0 0
原创粉丝点击