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


相关文章
|
1天前
|
存储 监控 Oracle
关系型数据库Oracle备份策略建议
【7月更文挑战第21天】
10 6
|
1天前
|
存储 Oracle 关系型数据库
|
1天前
|
监控 Oracle 关系型数据库
关系型数据库Oracle恢复测试
【7月更文挑战第20天】
16 7
|
1天前
|
运维 Oracle 关系型数据库
关系型数据库Oracle自动化备份
【7月更文挑战第21天】
10 3
|
2天前
|
存储 SQL Oracle
关系型数据库Oracle归档日志备份
【7月更文挑战第19天】
17 5
|
2天前
|
SQL Oracle 关系型数据库
关系型数据库Oracle备份工具
【7月更文挑战第19天】
16 4
|
1天前
|
存储 Oracle 安全
关系型数据库Oracle备份频率
【7月更文挑战第20天】
9 2
|
1天前
|
存储 Oracle 关系型数据库
关系型数据库Oracle备份策略
【7月更文挑战第20天】
10 2
|
2天前
|
存储 Oracle 关系型数据库
关系型数据库Oracle差异备份
【7月更文挑战第19天】
13 3
|
2天前
|
人工智能 Oracle 关系型数据库
Oracle数据库在哪些新兴领域有应用?
【7月更文挑战第21天】Oracle数据库在哪些新兴领域有应用?
9 1

推荐镜像

更多