加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle 11g 数据库迁移

发布时间:2020-12-12 14:38:24 所属栏目:百科 来源:网络整理
导读:由于服务器更换,或者硬盘损坏等问题,在有些场景下,我们需要对数据库进行迁移。 Oracle 数据库有多种备份方式,如果可以停机,建议最好使用冷备的方式,直接迁移数据文件,这样效率会比较高。 由于两台主机都是Windows server,为了方便直接使用复制文件的

由于服务器更换,或者硬盘损坏等问题,在有些场景下,我们需要对数据库进行迁移。

Oracle 数据库有多种备份方式,如果可以停机,建议最好使用冷备的方式,直接迁移数据文件,这样效率会比较高。

由于两台主机都是Windows server,为了方便直接使用复制文件的方式,由于特殊原因,迁移前的数据目录和迁移后的数据目录是不一致的。直接迁移数据后,启动会报如下错误:

SQL>startup
ORACLE例程已经启动。
TotalSystemGlobalArea1071333376bytes
FixedSize1334380bytes
VariableSize301990804bytes
DatabaseBuffers754974720bytes
RedoBuffers13033472bytes
数据库装载完毕。
ORA-01157:无法标识/锁定数据文件1-请参阅DBWR跟踪文件
ORA-01110:数据文件1:'D:APPADMINISTRATORORADATAAGRISKSYSTEM01.DBF'

查看文件路径:

SQL>selectnamefromv$controlfile;
NAME
---------------------------------------------------------
F:APPADMINISTRATORORADATAAGRISKCONTROL01.CTL
F:APPADMINISTRATORORADATAAGRISKCONTROL02.CTL
F:APPADMINISTRATORORADATAAGRISKCONTROL03.CTL
SQL>selectnamefromv$datafile;
NAME
---------------------------------------------------------
D:APPADMINISTRATORORADATAAGRISKSYSTEM01.DBF
D:APPADMINISTRATORORADATAAGRISKSYSAUX01.DBF
D:APPADMINISTRATORORADATAAGRISKUNDOTBS01.DBF
D:APPADMINISTRATORORADATAAGRISKUSERS01.DBF
D:APPADMINISTRATORORADATAAGRISKAGRISK.DBF
SQL>selectnamefromv$tempfile;
NAME
---------------------------------------------------------
D:APPADMINISTRATORORADATAAGRISKTEMP01.DBF
D:APPADMINISTRATORORADATAAGRISKAGRISK_TEMP.DBF
SQL>selectmemberfromv$logfile;
MEMBER
---------------------------------------------------------
D:APPADMINISTRATORORADATAAGRISKREDO03.LOG
D:APPADMINISTRATORORADATAAGRISKREDO02.LOG
D:APPADMINISTRATORORADATAAGRISKREDO01.LOG

停止数据库:

SQL>shutdownimmediate;

将原主机上oradata目录下实例的文件全部拷贝到迁移后的主机对应目录。然后在新的主机上以mount方式启动数据库实例:

SQL>startupmount;


除了控制文件的路径是正常的,其他的文件路径都需要修改,将原来的错误路径D盘改为F盘:

SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKSYSTEM01.DBF'to'F:APPADMINISTRATORORADATAAGRISKSYSTEM01.DBF';
数据库已更改。
SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKSYSAUX01.DBF'to'F:APPADMINISTRATORORADATAAGRISKSYSAUX01.DBF';
数据库已更改。
SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKUNDOTBS01.DBF'to'F:APPADMINISTRATORORADATAAGRISKUNDOTBS01.DBF';
数据库已更改。
SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKUSERS01.DBF'to'F:APPADMINISTRATORORADATAAGRISKUSERS01.DBF';
数据库已更改。
SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKAGRISK.DBF'to'F:APPADMINISTRATORORADATAAGRISKAGRISK.DBF';
数据库已更改。
SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKTEMP01.DBF'to'F:APPADMINISTRATORORADATAAGRISKTEMP01.DBF';
数据库已更改。
SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKAGRISK_TEMP.DBF'to'F:APPADMINISTRATORORADATAAGRISKAGRISK_TEMP.DBF';
数据库已更改。
SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKREDO01.LOG'to'F:APPADMINISTRATORORADATAAGRISKREDO01.LOG';
数据库已更改。
SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKREDO02.LOG'to'F:APPADMINISTRATORORADATAAGRISKREDO02.LOG';
数据库已更改。
SQL>alterdatabaserenamefile'D:APPADMINISTRATORORADATAAGRISKREDO03.LOG'to'F:APPADMINISTRATORORADATAAGRISKREDO03.LOG';
数据库已更改。


确认修改成功后,启动数据库:

SQL>alterdatabaSEOpen;
数据库已更改。


重启数据库:

SQL>shutdownimmediate;
数据库已经关闭。
已经卸载数据库。
ORACLE例程已经关闭。
SQL>startup
ORACLE例程已经启动。
TotalSystemGlobalArea1071333376bytes
FixedSize1334380bytes
VariableSize301990804bytes
DatabaseBuffers754974720bytes
RedoBuffers13033472bytes
数据库装载完毕。
数据库已经打开。

查看监听端口。如果没有配置netca网络监听端口,需要使用系统自带的Net Cofiguration Assistant进行配置。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读