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 ...
随机推荐
- NAT集群部署solo之session server
author:JevonWei 版权声明:原创作品 使用Nginx做代理服务器,部署solo,使用session server做会话黏滞 拓扑图 环境 tomcatA 172.16.253.108 t ...
- Linux安装解压缩版jdk
#解压到指定目录 tar zxvf ./jdk-7-Linux-i586.tar.gz -C /usr/lib/jvm 配置环境变量 #vi /etc/profile 编辑文件,在最后添加: ex ...
- 深入理解JVM(八)——java堆分析
上一节介绍了针对JVM的监控工具,包括JPS可以查看当前所有的java进程,jstack查看线程栈可以帮助你分析是否有死锁等情况,jmap可以导出java堆文件在MAT工具上进行分析等等.这些工具都非 ...
- UIImageView动画制作
1.先初始化一个UIImageView的视图窗口 如:anima UIImageView *anima = [UIImageView alloc]initWithFrame(0,0,100,100); ...
- JavaScript学习日志(四):BOM
BOM的核心对象就是window,这一章没什么好说的,总结一些比较常用的: 1,a未定义,a; //报错window.a; //undefined 不能用delete删除全局变量 2,html5不支持 ...
- AJAX 处理xml 数据
//这个方式返回的得是 xml标准的对象,可以返回 xml字符串,前端js 使用转为xml function createXml(str){ if(document.all){//IE浏览器 va ...
- 换个角度审视NAT技术
NAT (Network address translation,网络地址转换 )是局域网连接到互联网的一个对接工作. 首先要知道NAT是一个技术或者说软件而不是协议 后面你会知道NAT 是偏应用层但 ...
- 封装bootstrap-treegrid组件
封装bootstrap-treegrid组件 阅读目录 一.开源的treegrid 1.组件效果预览 2.组件开源地址 二.封装treegrid 1.组件封装的必要性 2.组件封装代码示例 3.封 ...
- 手机设备访问PC页面如果跳转到手机页面?
//例如:iphone访问www.baidu.com自动跳转到wap.baidu.com,只需在pc端模版页面引入以下js代码//pc zhuan mobile var mobileAgent = n ...
- CentOS6.5下LNMP环境的搭建
#写的不好,大牛勿喷 #其实我很努力 OS:CentOS6.5 1.关闭SELinux,关闭防火墙 原因:1.SELinux确实可以提高服务器的安全性,但是对于服务器的性能存在一定的影响,同时它的复杂 ...