我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle 11g 数据库迁移

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle 11g 数据库迁移

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

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

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

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'

查看文件路径:

SQL> select name from v$controlfile;
NAME
---------------------------------------------------------
F:\APP\ADMINISTRATOR\ORADATA\AGRISK\CONTROL01.CTL
F:\APP\ADMINISTRATOR\ORADATA\AGRISK\CONTROL02.CTL
F:\APP\ADMINISTRATOR\ORADATA\AGRISK\CONTROL03.CTL
SQL> select name from v$datafile;
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
SQL> select name from v$tempfile;
NAME
---------------------------------------------------------
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\TEMP01.DBF
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\AGRISK_TEMP.DBF
SQL> select member from v$logfile;
MEMBER
---------------------------------------------------------
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO03.LOG
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO02.LOG
D:\APP\ADMINISTRATOR\ORADATA\AGRISK\REDO01.LOG

停止数据库:

SQL> shutdown immediate;

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

SQL> startup mount;


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

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';
数据库已更改。


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

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


重启数据库:

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
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进行配置。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle 11g 数据库迁移

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle数据库怎么迁移

oracle 数据库迁移是一个涉及评估、数据迁移、架构转移、验证和切换等步骤的多项任务。选择合适的工具并制定详细计划至关重要,测试和验证确保迁移的成功,请联系专业人士以获得支持。Oracle数据库迁移如何进行Oracle数据库迁移?Or
oracle数据库怎么迁移
2024-05-30

oracle怎么做数据库迁移

oracle 数据库迁移涉及六个步骤:准备源数据库并创建临时表空间。创建结构相似的目标数据库并分配权限。使用数据泵导出和导入数据。验证数据并调整数据类型和约束。重新创建索引和约束并优化目标数据库。切换到目标数据库并验证连接性和数据可用性。如
oracle怎么做数据库迁移
2024-05-21

sqlserver 数据库迁移

数据迁移  业务情景    客户环境是系统A的1.0版本,开发环境是系统A的2.0版本。2.0版本对于数据库有部分变更(主要是新增表和字段,不涉及字段删除和变更)。这个时候需要在客户环境安装数据库2.0(表结构、存储过程都是用的2.0),但是数据
sqlserver 数据库迁移
2019-04-26

mysql数据库迁移

目录 背景迁移数据库 背景 公司有个项目,刚开始数据量不是大的时候,数据库和服务上的所有应用数据都放在一个旧小盘中,随着项目数据的增长,旧的磁盘被占满了,导致系统无法写入数据,我和同事排查了很长时间,最终确定是磁盘被占满导致的一
2023-08-23

oracle数据库怎么迁移到另一个数据库

Oracle数据库迁移到另一个数据库通常需要使用数据迁移工具或者手动迁移的方式。下面是一些迁移Oracle数据库的常用方法:使用Oracle Data Pump导出和导入数据:使用expdp命令将源数据库中的数据导出到一个数据文件中:exp
oracle数据库怎么迁移到另一个数据库
2024-05-07

oracle数据库迁移相关SQL语句

数据库迁移常见的一种方式是使用命令将某个用户的所有数据导出,再将其导入新用户中。     创建用户需要DBA权限。 sqlplus /nologconn /as sysdba 1、创建用户及授权,一般都是需要新建表空间和临时表空间 ----删除用户drop u
oracle数据库迁移相关SQL语句
2016-12-17

编程热搜

目录