ORACLE 本地冷迁移
需求:把oracle数据库的数据文件,redo文件,控制文件迁移到本地的其它目录。
1.测试环境:
操作系统redhat 6.3,数据库oracle 11.2.0.1.0
[root@dbtest1 ~]# uname -a
Linux dbtest1 2.6.-.el6.x86_64 # SMP Wed Jun :: EDT x86_64 x86_64 x86_64 GNU/Linux SQL> select * from v$version; BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1. - 64bit Production
PL/SQL Release 11.2.0.1. - Production
CORE 11.2.0.1. Production
TNS for Linux: Version 11.2.0.1. - Production
NLSRTL Version 11.2.0.1. - Production
源数据文件位置:/home/data/oracle/dbtest/
目标数据文件位置:/oracle_data/
2.关闭数据库监听,禁止外部访问数据库
-bash-4.1$ lsnrctl stop LSNRCTL for Linux: Version 11.2.0.1. - Production on -DEC- :: Copyright (c) , , Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=dbtest)))
The command completed successfully
3.关闭oracle数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
4.备份pfile,spfile,控制文件(至少备份一个)
-bash-4.1$ cd /$ORACLE_HOME/dbs
-bash-4.1$ cp initdbtest.ora initdbtest.ora.
-bash-4.1$ cp spfiledbtest.ora spfiledbtest.ora.
-bash-4.1$ cd /home/data/oracle/dbtest/
-bash-4.1$ cp control01.ctl control01.ctl.
5.更新pfile,从spfile创建pfile
SQL> create pfile='$ORACLE_HOME/dbs/initdbtest.ora' from spfile='$ORACLE_HOME/dbs/spfiledbtest.ora';
注:默认位置的话,可以直接使用create pfile from spfile来创建的,创建后检查一下时间戳来确认。
6.修改pfile中的控制文件的位置
把/home/data/oracle/dbtest/control01.ctl修改为/oracle_data/control01.ctl
-bash-4.1$ cd /$ORACLE_HOME/dbs/
-bash-4.1$ ls
hc_dbtest.dat initdbtest.ora initdbtest.ora. init.ora lkDBTEST orapwdbtest spfiledbtest.ora spfiledbtest.ora.
-bash-4.1$ cat initdbtest.ora |grep control
*.control_files='/home/data/oracle/dbtest/control01.ctl','/home/app/ora11g/flash_recovery_area/dbtest/control02.ctl'
使用vi编辑该文件
-bash-4.1$ cat initdbtest.ora |grep control
*.control_files='/oracle_data/control01.ctl','/home/app/ora11g/flash_recovery_area/dbtest/control02.ctl'
注:如果有多个要修改的话,方法是一样的。
7.复制源数据目录下的文件,包括控制文件,数据文件和redo文件
-bash-4.1$ cp /home/data/oracle/dbtest/* /oracle_data/
8.使用pfile来启动数据库到mount状态
SQL> startup pfile='$ORACLE_HOME/dbs/initdbtest.ora' mount
ORACLE instance started. Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
Database mounted.
9.重命名数据文件,redo文件的位置
SQL> ALTER DATABASE RENAME FILE '/home/data/oracle/dbtest/redo01.log' to '/oracle_data/redo01.log'; Database altered. SQL>ALTER DATABASE RENAME FILE '/home/data/oracle/dbtest/system01.dbf' to '/oracle_data/system01.dbf'; Database altered. ......
10. 打开数据库
SQL> alter database open; Database altered.
11.检查数据文件,redo等文件位置是否正确
SQL> select file_name from dba_data_files; FILE_NAME
--------------------------------------------------------------------------------
/oracle_data/users01.dbf
/oracle_data/undotbs01.dbf
/oracle_data/sysaux01.dbf
/oracle_data/system01.dbf
/oracle_data/laputa_dat.dbf
/oracle_data/laputa_idx_01.dbf rows selected. SQL> select file_name from dba_temp_files; FILE_NAME
--------------------------------------------------------------------------------
/oracle_data/temp01.dbf SQL> select name from v$controlfile; NAME
--------------------------------------------------------------------------------
/oracle_data/control01.ctl
/home/app/ora11g/flash_recovery_area/dbtest/control02.ctl SQL> select member from v$logfile; MEMBER
--------------------------------------------------------------------------------
/oracle_data/redo03.log
/oracle_data/redo02.log
/oracle_data/redo01.log
12.同步spfile到新的文件(简化写法)
SQL> create spfile from pfile; File created.
13.重启一次数据库确认一切正常
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down. SQL> startup
ORACLE instance started. Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
Database mounted.
Database opened.
SQL>
14.开启数据库监听
-bash-4.1$ lsnrctl start
注意问题:
1.在rename文件的时候,如果涉及到的文件比较多,建议把语句放在一个sql文件中,然后再在sqlplus中执行,否则可能会导致语句在中间断裂(一条语句被命令行看成2行,会报错)。如果发生了语句的断裂,重新把语句放在sql文件中执行即可,这些rename语句重复执行会报错,但是不影响最终的结果。
2.迁移redo文件可以在线执行,用添加redo group,删除redo group的办法。
3.非系统表空间可以在不关闭数据库的方法迁移,对表空间进行offline,移动对应数据文件,rename数据文件,online表空间。
ORACLE 本地冷迁移的更多相关文章
- 数据迁移_把RAC环境备份的数据,恢复到另一台单机Oracle本地文件系统下
数据迁移_把RAC环境备份的数据,恢复到另一台单机Oracle本地文件系统下 作者:Eric 微信:loveoracle11g 1.创建pfile文件 # su - ora11g # cd $ORAC ...
- OpenStack虚拟机冷迁移与热迁移
一.虚拟机迁移分析 openstacvk虚拟机迁移分为冷迁移和热迁移两种方式. 1.1冷迁移: 冷迁移(cold migration),也叫静态迁移.关闭电源的虚拟机进行迁移.通过冷迁移,可以选择将关 ...
- vsphere 虚拟机的迁移,冷迁移,vmotion(热迁移)
备注:(理论部分参考王春海老师的课程) 一.概述 1.vsphere数据中心当处于某种目的进行维护时,需要将某台主机上运行或关闭的虚拟机,迁移到其他主机上,这个时候就需要使用迁移 2.可以使用冷迁移或 ...
- openstack热迁移和冷迁移
转自: http://www.cnblogs.com/pycode/p/6494848.html 迁移类型: *非在线迁移 (有时也称之为‘迁移’).也就是在迁移到另外的计算节点时的这段时间虚拟机实例 ...
- 使用SSMS 2014将本地数据库迁移到Azure SQL Database
使用SQL Server Management Studio 2014将本地数据库迁移到Azure SQL Database的过程比较简单,在SSMS2014中,有一个任务选项为“将数据库部署到Win ...
- OpenStack的Resize和冷迁移代码解析及改进
原文:http://www.hengtianyun.com/download-show-id-79.html OpenStack的Resize(升级)功能,我们可以改变虚拟机的CPU核数.内存及磁盘大 ...
- MS SQL到Oracle的数据迁移笔记
MS SQL到Oracle的数据迁移笔记 一.任务背景 旧系统使用MS SQL Server数据库,新系统使用Oracle数据库,现在需要将旧系统中的数据迁移到新系统中,旧数据按照约定的规则转换后,能 ...
- oracle 数据库数据迁移解决方案
大部分系统由于平台和版本的原因,做的是逻辑迁移,少部分做的是物理迁移,接下来把心得与大家分享一下 去年年底做了不少系统的数据迁移,大部分系统由于平台和版本的原因,做的是逻辑迁移,少部分做的是物理迁 ...
- 【openstack N版】——云主机调整大小\冷迁移
一.先决条件 云主机冷迁移,即:将一台云主机从一个计算节点上,迁移到另外一个计算节点上.因为环境原因,所以我们需要准备两个计算节点. 1.1准备环境 在控制节点上,安装一个计算节点 #在控制节点安装n ...
随机推荐
- 16汇编第十讲完结Call变为函数以及指令的最后讲解
16汇编完结Call变为函数以及指令的最后讲解 学了10天的16位汇编,这一讲就结束了,这里总结一下昨天的LOOP指令的缺陷,因为lOOP指令的缺陷,所以我们都改为下面的汇编代码使用了,自己去写,其中 ...
- java多线程设计模式
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt220 java多线程设计模式 java语言已经内置了多线程支持,所有实现Ru ...
- 多线程编程学习四(Lock 的使用).
一.前言 本文要介绍使用Java5中 Lock 对象,同样也能实现同步的效果,而且在使用上更加方便.灵活,主要包括 ReentrantLock 类的使用和ReentrantReadWriteLock ...
- 第1阶段——uboot分析之仿照bootm制作hello命令(7)
仿照bootm命令生成来制作一个hello命令,功能:打印出hello,world!和参数值 1.点击New File ,创建cmd_hello.c将./common/cmd_bootm.c的头文件复 ...
- 团队作业8——第二次项目冲刺(Beta阶段)5.21
1.当天站立式会议照片 会议内容: 本次会议为第三次会议 本次会议在陆大楼2楼召开,本次会议内容: ①:检查总结第二次任务完成情况 ②:布置第三次任务的详细分工 ③:规定完成时间是在第四次任务之前 ④ ...
- 201521123113 《Java程序设计》第5周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. -继承设计的技巧 1.将公共操作和属性放在父类 2.不要使用protected修 ...
- 201521123052 《Java程序设计》 第14周学习总结
1. 本周学习总结 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 在自己建立的数据库上执行常见SQL语句(截图) - ...
- 201521123057《Java程序设计》第14周学习总结
0. 本周课程设计发布 Java课程设计 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 数据库基本操作(目前为止主要介绍了表的基本操作) 创建表 CREATE ...
- 201521123008 《Java程序设计》第十四周学习总结
1. 本周学习总结 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 在自己建立的数据库上执行常见SQL语句(截图) - ...
- Linux系统文件与目录权限管理
Linux文件目录权限管理 一.Linux文件属性及权限 1.Linux文件及目录权限及属性说明 (1)权限及属性说明 (2)文件权限说明 三种权限说明:r 读 read w 写 write x ...