ITPub博客

首页 > 数据库 > Oracle > WindowsServer 2012数据库迁移记录

WindowsServer 2012数据库迁移记录

原创 Oracle 作者:你好我是李白 时间:2020-06-10 17:45:00 0 删除 编辑

情景

Windows Server迁移到WIndows Server
数据量3T,归档每小时30G左右。
网络100Mbps
存储,源库IP-SAN存储,目标端SSD。
迁移方式:RMAN

迁移

1.全量备份
由于有一个bigfile表空间2.8T,备份时间非常缓慢,可以使用以下命令加快bigfile表空间备份:
/* 注意通道,资源充足开足够并行度,下面为示例,以实际为准
RMAN> backup as compressed backupset section size 100M tablespace users format '/rman/user_%d_%T_%s_%p.bak';
/* 如果可以,尽量不用bigfile表空间,备份恢复的时候会很难受。
2.传输基础备份到目标端
网络映射磁盘到目标端,然而,网速与磁盘写入速度都是龟速,500G压缩过的备份集,传输了10个小时。
3.目标端安装数据库软件
最好版本与源端相同,如果涉及升级,再进行升级。
3.目标端创建实例服务
oradim -NEW -SID <sid> -STARTMODE manual -PFILE "D:\ORADATA\PFILE.ORA"
使用sqlplus启动实例到nomount,恢复控制文件,然后mount,恢复数据文件
不同目录使用SET NEWNAME FOR与switch datafile all即可。
4.源端再次备份增量归档,传输,恢复
backup as compressed backupset archivelog from sequence <sequence#> format '/rman/arch_%d_%T_%s_%p';
5.源端最后备份一次增量以及current redo log
传输恢复,最后的redo log使用sqlplus恢复
SQL > recover database using backup controlfile until cancel;
d:\oradata\redo08.log
6.redo log rename
将所有redo log进行rename
ALTER DATABASE RENAME FILE '' TO '';
7.打开数据库,处理临时表空间
SQL> alter database open resetlogs;
SQL> CREATE TEMPORARY TABLESPACE TEST_TEMP TEMPFILE 'E:\ORADATA\TEMP01.DBF' SIZE 30G AUTOEXTEND OFF;
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEST_TEMP;
SQL> SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';
/* 删除原来temp表空间
SQL> DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
8.建立监听,保证数据库注册到监听
netca
lsnrctl status
9.如果有windows防火墙,注意设置出站规则,入站规则,放开监听端口。
10.查看alert日志是否有错误
有之前建立的索引采用nologging,导致有索引块损坏,需要重建索引。
ALTER INDEX <index_name> REBUILD ONLINE PARALLEL 8 NOLOGGING LOCAL;
ALTER INDEX <index_name> noparallel;

总结

Windows Server需要注意,使用起来并不是很友好,不是很方便,希望以后带宽能提高到至少1000Mbps,磁盘给个足足的SSD吧~

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31439444/viewspace-2697464/,如需转载,请注明出处,否则将追究法律责任。

下一篇: ASM磁盘组限制
全部评论
让生活更美好。

注册时间:2017-02-28

  • 博文量
    80
  • 访问量
    40007