您当前的位置: 首页 > 数据库教程 > Oracle教程 > oracle冷备份迁移数据库到其他机器步骤

oracle冷备份迁移数据库到其他机器步骤

作者:不详 来源:网络 发布时间: 2014-08-23 20:36 点击:
步骤很简单:关源库-拷贝到目标机器-启动到mount状态重命名-open数据库 登录源数据库所在主机 建立映射目录 192.168.1.2oradata 映射为 z: 盘 映射完毕后检查是否允许写入文件 需要注意关闭目标数据库位置服务器的防火墙 搜集源库信息 实例名、版本、块大孝表空间、数

oracle冷备份迁移数据库到其他机器步骤

  步骤很简单:关源库->拷贝到目标机器->启动到mount状态重命名->open数据库

  登录源数据库所在主机

  建立映射目录 192.168.1.2oradata 映射为 z: 盘

  映射完毕后检查是否允许写入文件

  需要注意关闭目标数据库位置服务器的防火墙

  搜集源库信息

  实例名、版本、块大孝表空间、数据文件

  select * from v$instance;

  select * from v$database;

  select * from v$tablespace;

  select * from v$datafile;

  在源库上整理需拷贝的文件

  执行文件cp.sql,其内容如下:

  set linesize 130 pagesize 2000

  set trimspool on

  set echo off

  set verify off

  set timing off

  set feedback off

  set head off

  set echo off

  spool cpfile.bat

  select 'copy '||name||' z:orcl'|| substr(name, instr(name, '', -1) + 1) cmd from v$controlfile

  union all

  select 'copy '||member||' z:orcl'|| substr(member, instr(member, '', -1) + 1) cmd from v$logfile

  union all

  select 'copy '||name||' z:orcl'|| substr(name, instr(name, '', -1) + 1) cmd from v$datafile

  union all

  select 'copy '||name||' z:orcl'|| substr(name, instr(name, '', -1) + 1) cmd from v$tempfile

  union all

  select 'copy '||value||' z:orcl'|| substr(value, instr(value, '', -1) + 1) cmd from v$parameter where name='spfile';

  spool off

  生成改名脚本

  执行文件ren.sql ,其内容如下:

  set linesize 130 pagesize 2000

  set trimspool on

  set echo off

  set verify off

  set timing off

  set feedback off

  set head off

  set echo off

  spool renfile.sql

  select 'ALTER DATABASE RENAME FILE '''||member||''' to ''d:oradataorcl'|| substr(member, instr(member, '', -1) + 1)||'''; ' cmd from v$logfile

  union all

  select 'ALTER DATABASE RENAME FILE '''||name||''' to ''d:oradataorcl'|| substr(name, instr(name, '', -1) + 1)||'''; ' cmd from v$datafile

  union all

  select 'ALTER DATABASE RENAME FILE '''||name||''' to ''d:oradataorcl'|| substr(name, instr(name, '', -1) + 1)||'''; ' cmd from v$tempfile;

  spool off

  create pfile from spfile;

  关闭源库

  host lsnrctl stop

  shutdown immediate

  将windows服务设置为手工启动(关键!!! 防止万一复制出现问题还可以重新复制一致的文件)

  拷贝控制文件、日志文件、数据文件,

  host cpfile.bat

  startup

  host lsnrctl start

  拷贝pfile、 tnsname.ora、 口令文件、renfile.sql

  在目标数据库修改参数文件中的控制文件内容

  配置启动参数文件pfile,修改控制文件位置及路径信息

  启动到mount状态

  sqlplus "/as sysdba"

  startup mount pfile=?/database/initorcl.ora

  修改文件位置

  SQL> @renfile.sql

  打开数据库

  create spfile from pfile;

  host lsnrctl start

  检查临时文件是否有

  连接测试

  参考命令:

  oradim -NEW -SID test -STARTMODE manual -PFILE "D:Oracleadmintestpfileinittest.ora"

  ALTER DATABASE RENAME FILE 'c:oracleproductoradataexample.dbf'

  TO 'c:oracleproductoradatademos.dbf'

  修改日志组位置

  ALTER DATBASE [database}

  RENAME FILE 'filename’[,'filename']…

  TO 'filename']…

  创建日志组

  ALTER DATABASE ADD LOGFILE GROUP 3

  ('$HOME/ORADATA/u01/log3a.rdo',

  '$HOME/ORADATA/u02/log3b.rdo')

  SIZE 1M;

  添加成员

  ALTER DATABASE ADD LOGFILE MEMBER

  '$HOME/ORADATA/u04/log1c.rdo' TO GROUP 1,

  '$HOME/ORADATA/u04/log2c.rdo' TO GROUP 2,

  '$HOME/ORADATA/u04/log3c.rdo' TO GROUP 3;

  删除日志组

  ALTER DATABASE DROP LOGFILE GROUP 3;

  删除成员

  ALTER DATABASE DROP LOGFILE MEMBER '$HOME/ORADATA/u04/log3c.rdo';

  清除日志

  ALTER DATABASE CLEAR LOGFILE '$HOME/ORADATA/u01/log2a.rdo';

  增加临时文件

  ALTER TABLESPACE temp ADD TEMPFILE '/oradata/temp03.dbf' SIZE 100M;

  删除临时文件:

  ALTER DATABASE TEMPFILE '/oradata/temp02.dbf' DROP INCLUDING DATAFILES;

  250数据库 245G 拷贝时间需要 9 小时
分享到:
本文"oracle冷备份迁移数据库到其他机器步骤"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4