传输表空间
2016-06-12 15:24
316 查看
查看平台和终端位(本例是模拟同平台,不需查,为了说明异平台下的不同)
一检查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;
一检查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;
相关文章推荐
- 自定义漂亮的Android SeekBar样式
- Apche Httpd安装与配置
- 用JS获取地址栏参数的方法(超级简单)
- 正则
- Struts2的标签,valueStack,$ ,# ,% 的问题
- 【设计模式】单例模式
- aws:使用xshell工具root用户登录EC2
- PLA算法---C++
- 6、AngularJs的模块化开发
- 大端模式与小端模式
- MFC 简单绘制直角坐标系
- CSS的定位即position属性的值有4种:static,relative,absolute,fixed
- opencv 图像叠加ROI & 图像混合
- Android WebView加载空白
- 关于数据库灾备的重要性
- Delphi Modbus RTU CRC16校验码
- 实验七——Web应用测试(bookstore项目上完成)
- [Effective JavaScript 笔记]第3章:使用函数--个人总结
- 通用数据授权方案
- 微信网页开发之创建Controller(三)