手工转移数据库Step By Step

原创 2004年09月13日 18:21:00
 

手工转移数据库Step By Step

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

AuthorKamus

Mailkamus@itpub.net

Date2004-1

 

有时候我们会遇到这样的情况,现有的数据库要从一个机器转移到另外一个机器上,一般我们会使用导出,导入。但是如果数据库的数据非常多,数据文件尺寸很大,那么在导出导入的过程就很可能会出现问题,并且漫长的过程也是我们无法容忍的。在这种情况下,我们可以简单地使用操作系统的copy命令,直接进行数据库的转移。

以下示例均在Redhat Fedora Core 1上的Oracle<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />9.2.0.1中操作,其它操作系统和Oracle版本同样适用。

假设我们的数据库在服务器A上,$ORACLE_BASE/oracle$ORACLE_HOME/oracle/product/9.2.0。现在我们要将此数据库转移到服务器B上,并且新的$ORACLE_BASE/u01/oracle$ORACLE_HOME/u01/oracle/product/9.2.0SIDoralinux

操作步骤如下:

 

一.在服务器B上安装Oracle,安装过程中不要创建数据库。用户的profile直接从服务器Acopy过来即可,注意需要修改原先的$ORACLE_HOME到现在的位置。

二.如果服务器A上的Oracle使用的是spfile,那么根据此spfile创建pfile

create pfile from spfile

三.关闭服务器A上的数据库,shutdown immediate。如果数据库不允许关闭,那么可以使用联机备份,这种情况数据库必须处于archivelog模式,转移的原理和允许关闭的情况一样,此处不作讨论。

四.备份服务器A上的所有数据文件,包括以下:

a)         所有的datafile(临时文件可以不copy,比如temp01.dbf

b)        所有的online redo log

c)        所有的archive redo log

d)        所有的control file

e)         $ORACLE_HOME/dbs/init<SID>.ora(此文件是在上面第二步中创建的)

f)         $ORACLE_HOME/dbs/orapw<SID>(这是password file

g)        $ORACLE_HOME/network/listener.ora(这步可以省略,以后重新生成也可以)

h)        $ORACLE_BASE/admin/<SID>/下的所有目录,一般是udump, cdump, bdump(这步可以省略,以后手工创建目录也可以)

五.通过FTP或者别的工具将上述的备份文件,全部上传到服务器B的相应目录中。比如说原来在服务器A$ORACLE_BASE/oradata/<SID>/system01.dbf,现在就上传到服务器B$ORACLE_BASE/oradata/<SID>/system01.dbf,保证目录的逻辑结构一样,实际上物理结构已经发生了变化(A$ORACLE_BASE/oracle,而B上是/u01/oracle)。其它的文件均作相同处理,如果服务器B上还没有相应的目录,那么就手工创建。

六.编辑上传到服务器B上的init<SID>.ora文件,将其中涉及的目录结构全部改为B中目前的目录结构,比如本例中就是将/oracle改为/u01/oracle

七.在服务器B上,sqlplus “/ as sysdba”,提示进入空闲进程。

八.根据修改过的pfile创建spfilecreate spfile from pfile

九.启动数据库到mount状态,startup mount

十.修改control file中所有数据文件的位置,可以通过spool生成所有的SQL

SQL> alter database rename file '/oracle/oradata/oralinux/system01.dbf'

  2  to '/u01/oracle/oradata/oralinux/system01.dbf';

按照以上语法修改所有的数据文件位置。

十一.       此时数据库已经可以使用了,alter database open

十二.       将临时文件添加到TEMP表空间中:

alter tablespace TEMP add tempfile ‘'/u01/oracle/oradata/oralinux/temp01.dbf’ size 20M;

十三.       还有一些后续工作,包括更新数据库B上的监听配置文件(其实可以不用管,因为9i的实例已经可以自动注册到监听程序上了,如果是先起监听再起数据库,那么立刻就会注册,如果是先起数据库再起监听,那么会稍微有些延时才注册),修改/etc/oratab文件,以能够使用dbstartdbshut脚本。

 

这样数据库就算完全转移了,如果有什么问题,可以给我发邮件。


作者Blog:http://blog.csdn.net/Kamus/

数据库设计 Step by Step

Step by Step (1) 引言:一直在从事数据库开发和设计工作,也看了一些书籍,算是略有心得。很久之前就想针对关系数据库设计进行整理、总结,但因为种种原因迟迟没有动手,主要还是惰性使然。今天...
  • joeyon
  • joeyon
  • 2014年12月24日 11:26
  • 509

二维图像中Mat::setp、Mat::step1理解

一、前言        Mat中的step为构成图像的层次,考虑到Mat多应用于二维图像,本文讨论二维图像step的含义和应用。二维图像数据存储示意图如下:                      ...
  • AP1005834
  • AP1005834
  • 2017年02月01日 19:55
  • 723

Step.js 使用教程(附源码解析)

Step.js(https://github.com/creationix/step)是控制流程工具(大小仅 150 行代码),解决回调嵌套层次过多等问题。适用于读文件、查询数据库等回调函数相互依赖,...
  • zhangxin09
  • zhangxin09
  • 2013年10月25日 15:18
  • 8497

高次同余笔记(一):baby-step-giant-step算法

我们来看这个方程: a,b,p为常数且在int内。、p是质数。 这个怎么搞? 首先x的取值肯定在0到p-1之间。 暴搜?肯定超时啊。 优化暴搜?用meet-in-the-middle? ...
  • Quack_quack
  • Quack_quack
  • 2015年11月17日 00:35
  • 947

数据库设计 Step by Step (2)——数据库生命周期

转自:http://www.cnblogs.com/DBFocus/archive/2011/04/09/2010904.html 引言:数据库设计 Step by Step (1)得到这么多朋...
  • zhouhuakang
  • zhouhuakang
  • 2016年04月10日 16:16
  • 260

机器学习--线性回归R语言

回归分析就是利用样本,产生拟合方程,从而进行预测。简而言之,就是你用你手头上的数据进行模型的训练,然后用你得到的模型对于新数据进行预测。一元线性回归:例子:y...
  • dingchenxixi
  • dingchenxixi
  • 2016年01月20日 16:23
  • 3963

数据库设计 Step by Step (2)——数据库生命周期

引言:数据库设计 Step by Step (1)得到这么多朋友的关注着实出乎了我的意外。这也坚定了我把这一系列的博文写好的决心。近来工作上的事务比较繁重,加之我期望这个系列的文章能尽可能的系统、完整...
  • Beyond_cn
  • Beyond_cn
  • 2013年08月19日 19:30
  • 581

【Caffe细致入微】Solver_Step

void Solver::Step(int iters) 简单的说,这个函数就是核心的优化方法,不断通过前向和反向传播来更新参数的过程。 【重要变量】 int average_loss...
  • u012816621
  • u012816621
  • 2016年12月30日 11:47
  • 2186

数据库设计 Step by Step (2)——数据库生命周期

引言:数据库设计 Step by Step (1)——扬帆启航得到这么多朋友的关注着实出乎了我的意外。这也坚定了我把这一系列的博文写好的决心。近来工作上的事务比较繁重,加之我期望这个系列的文章能尽...
  • luoweifu
  • luoweifu
  • 2013年05月01日 07:56
  • 2643

稀疏表示step by step

稀疏表示step by step(1) 声明:本人属于绝对的新手,刚刚接触“稀疏表示”这个领域。之所以写下以下的若干个连载,是鼓励自己不要急功近利,而要步步为赢!所以下文肯定有所纰漏,敬请指出,我们...
  • LanQiuChaoRen
  • LanQiuChaoRen
  • 2014年07月28日 17:33
  • 631
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:手工转移数据库Step By Step
举报原因:
原因补充:

(最多只允许输入30个字)