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

除了控制文件的路径是正常的,其他的文件路径都需要修改,将原来的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
数据库装载完毕。
数据库已经打开。
时间: 2024-10-13 10:48:35

Oracle 11g 数据库迁移的相关文章

Oracle 11g数据库详解(2015-1-18更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

装完了Oracle 11g数据库,忘了给scott账户解锁

这时可以在sql plus工具里(开始|所有程序|<Oracle-Home>|应用程序开发|SQL Plus),也可以在控制台通过命令行给scott账户解锁. 在第一种情况下,以system账户+自己安装时设置的密码,登录SQL Plus,然后使用命令"alter user scott account unlock;"来解锁.解完以后,使用下面的命令来查看:"select username,account_status from dba_users;",

在Windows 10上安装Oracle 11g数据库出现的问题及解决

在Windows 10上安装Oracle 11g数据库,并且很多次出现过:当安装的进度条进行到快要结束的时候弹出一个提示框.如下: [Java(TM)2 Platform Standard Edition binary 已停止工作:出现了一个问题,导致程序停止正常工作.如果有可用的解决方案,Windows 将关闭程序并通知你]的错误提示信息. 最后,发现是因为jdk的安装路径含有中文才导致这一致命的错误,接下来我是这样做的: 1.将整个jdk文件夹移动到某一英文路径. 2.修改环境变量中的系统变

完美完全卸载Oracle 11g数据库

Oracle 11g可在开始菜单中卸载,然后同时需要删除注册表中相关内容. 操作系统:windows10专业版. 卸载步骤: 1.停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止. 2.在开始菜单中,找到Universal Installer,运行Oracle Universal Installer,单击卸载产品. 3.在产品清单窗口中,单击全部展开,除了OraDb11g_home1外,勾选其他项目,单击删除. 注意下右图中的不能勾上,否则不会弹出直接

Oracle 11g数据库详解(2015-02-28更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

VS2010 VS2012 如何连接Oracle 11g数据库

VS2010 VS2012 如何连接Oracle 11g数据库 http://jingyan.baidu.com/article/1876c852b9049d890b137622.html

【Oracle】Windows 7下完全卸载Oracle 11g数据库

闲来无事,想把Oracle 11g重装一下,记录如下:   (1)首先在服务中停止所有的Oracle服务:   (2)开始 -> 程序 -> Oracle-OraDb11g_home1 -> Oracle Installation Products -> Universal Installer,单击“卸载产品”-“全部展开”,然后选中除“OraDb11g_home1”外的全部目录,进行删除:   (3)删除注册表: HKEY_LOCAL_MACHINE\SOFTWARE\ORACL

Oracle 11g数据库的部署

一.前言 最近要准备考试了,准备温习下Oracle数据库的相关知识,那么学习Oracle的前提肯定是部署了,目前主流Oracle版本为11g,那么接下来我们就先来一起看下,如何部署Oracle已经对数据库的监听开启与启动数据库等操作 二.安装Red Hat Enterprise Linux 5.8操作系统的注意事项 安装要求: 防火墙的配置选项:禁用 SElinux配置:禁用 默认安装:软件开发 由于系统部署简单,这里就不再阐述了,有疑问的,麻烦大家自行百度一下! 三.前置条件的准备 Oracl

Oracle 11g数据库的安装

Oracle 11g数据库的安装 1.安装虚拟机,使用vmware或者virtualbox,运行内存配置为4G,硬盘自动扩展.(cpu虚拟化不需要开启) 2.安装操作系统,现在安装的OS版本是Oracle Enterprise Linux 6.5(与Red Hat Enterprise Linux 6.5基本相同),不需要再安装过程 中创建账户,以后可以自定义来添加用户和组.(oinstall和dba组分别作为oracle用户的组主和附属组)安装过程不再赘述. 3.创建相应的路径/u01/app