Oracle 11g 数据库迁移

简介:

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

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

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

1
2
3
4
5
6
7
8
9
10
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1071333376 bytes
Fixed Size                  1334380 bytes
Variable Size             301990804 bytes
Database Buffers          754974720 bytes
Redo Buffers               13033472 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1:  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSTEM01.DBF'

查看文件路径:

1
SQL>  select  name from  v $controlfile;
1
2
3
4
5
NAME
---------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\AGRISK\CONTROL01.CTL
F:\APP\ADMINISTRATOR\ORADATA\AGRISK\CONTROL02.CTL
F:\APP\ADMINISTRATOR\ORADATA\AGRISK\CONTROL03.CTL
1
SQL>  select  name from  v $datafile;
1
2
3
4
5
6
7
NAME
---------------------------------------------------------
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSTEM01.DBF
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSAUX01.DBF
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\UNDOTBS01.DBF
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\USERS01.DBF
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK.DBF
1
SQL>  select  name from  v $tempfile;
1
2
3
4
NAME
---------------------------------------------------------
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\TEMP01.DBF
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK_TEMP.DBF
1
SQL>  select  member from  v $logfile;
1
2
3
4
5
MEMBER
---------------------------------------------------------
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO03.LOG
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO02.LOG
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO01.LOG

停止数据库:

1
SQL>  shutdown  immediate;

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

1
SQL> startup  mount ;


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSTEM01.DBF'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSTEM01.DBF' ;
数据库已更改。
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSAUX01.DBF'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\SYSAUX01.DBF' ;
数据库已更改。
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\UNDOTBS01.DBF'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\UNDOTBS01.DBF' ;
数据库已更改。
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\USERS01.DBF'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\USERS01.DBF' ;
数据库已更改。
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK.DBF'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK.DBF' ;
数据库已更改。
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\TEMP01.DBF'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\TEMP01.DBF' ;
数据库已更改。
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK_TEMP.DBF'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK_TEMP.DBF' ;
数据库已更改。
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO01.LOG'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO01.LOG' ;
数据库已更改。
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO02.LOG'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO02.LOG' ;
数据库已更改。
SQL> alter database rename  file  'D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO03.LOG'  to  'F:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO03.LOG' ;
数据库已更改。


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

1
2
SQL> alter database  open ;
数据库已更改。


重启数据库:

1
2
3
4
SQL>  shutdown  immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
1
2
3
4
5
6
7
8
9
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1071333376 bytes
Fixed Size                  1334380 bytes
Variable Size             301990804 bytes
Database Buffers          754974720 bytes
Redo Buffers               13033472 bytes
数据库装载完毕。
数据库已经打开。

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


 本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/1952754


相关文章
|
27天前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
151 64
|
17天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
25 7
|
17天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
21 6
|
17天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
17 5
|
23天前
|
算法 大数据 数据库
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
33 3
|
24天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
26天前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
25 1
|
8天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
23 4
|
6天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
19 1
|
15天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
81 1

推荐镜像

更多