企业如何通过vue小程序开发满足高效运营与合规性需求
316
2024-01-03
这篇文章主要介绍“怎么用冷拷贝表空间的形式进行Oracle部分数据迁移”,在日常操作中,相信很多人在怎么用冷拷贝表空间的形式进行Oracle部分数据迁移问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用冷拷贝表空间的形式进行Oracle部分数据迁移”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
需求说明:用户的一套双活复制系统,主机为生产节点,备机为备份节点,但是备机中有其他应用建立的用户和数据。要求对备机的数据进行一次全同步,将主机的若干个用户的数据迁移到备机,rowid需要保持一致,不允许停机,不允许动备机其他的用户。
限制条件:1、主备机环境一致(操作系统版本,数据库版本,安装路径,字符集,数据块大小等)
2、主机表空间在exp过程中需要read-only。
方法步骤:
1、首先在主机检查表空间的自包含性
SQL> EXECUTE SYS.DBMS_TTS.TRANSPORT_SET_CHECK(USERS,TRUE);
PL/SQL procedure successfully completed.
查看结果
SQL> select * from sys.transport_set_violations;
no rows selected
如果没有数据则说明该表空间是自包含的。如果有数据那么说明不是自包含的,需要进行处理。但是,如果关联的表空间也在迁移范围内,不自包含也可以。
2、查询主机用户所在表空间
select username,default_tablespace from dba_users where username=xxx;
3、查询表空间下的datafiles
select file_name from dba_data_files where tablespace_name = xxx;
4、将主机表空间离线
alter tablespace XXX read only;
5、取主机当前SCN作为断点(双活复制系统使用)
select to_char(current_scn,XXXXXXXXXXXX) from v$database;
6、执行exp脚本
exp transport_tablespace=y tablespaces=xxx,yyy,zzz file=e:\0711\45.dmp
7、将exp导出的文件和表空间对应的datafile文件拷贝到备机(此时主机表空间已经可以read write)
8、备机删除表空间和数据文件
drop tablespace XXX including contents;
如果备机没有相应的用户,那么需要进行创建
9、将datafile覆盖到备机相同路径
10、执行imp脚本
imp transport_tablespace=y datafiles=D:\app\Administrator\oradata\xxx,D:\app\Administrator\oradata\xxx,D:\app\Administrator\oradata\xxx,D:\app\Administrator\oradata\xxx,D:\app\Administrator\oradata\xxx,D:\app\Administrator\oradata\xxx,D:\app\Administrator\oradata\xxx,D:\app\Administrator\oradata\xxx,D:\app\Administrator\oradata\xxx tablespaces=xxx,yyy,zzz file=E:\0711\45.dmp
11、最后记得将备机表空间也恢复到read write状态
alter tablespace XXXX read write
12、其他应用的相关处理
到此,关于“怎么用冷拷贝表空间的形式进行Oracle部分数据迁移”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~