您的位置:首页技术开发数据库教程 → oracle冷备份迁移数据库到其他机器

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

时间:2011/2/12 10:41:43来源:本站原创作者:佚名我要评论(0)

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

登录源数据库所在主机
建立映射目录 \\192.168.1.2\oradata\ 映射为 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:\oradata\orcl\'||  substr(member, instr(member, '\', -1) + 1)||'''; ' cmd  from v$logfile
union all
select 'ALTER DATABASE RENAME FILE '''||name||''' to ''d:\oradata\orcl\'||  substr(name, instr(name, '\', -1) + 1)||'''; ' cmd  from v$datafile
union all
select 'ALTER DATABASE RENAME FILE '''||name||''' to ''d:\oradata\orcl\'||  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:\Oracle\admin\test\pfile\inittest.ora"

ALTER DATABASE RENAME FILE 'c:\oracle\product\oradata\example.dbf'
TO 'c:\oracle\product\oradata\demos.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 PRKC-1002错误原因和解决方案oracle10g安装图解(win7)Oracle错误代码大全oracle查看实例名方法Oracle表空间恢复方案微软亚太研发集团总部大楼 扎根中国"硅谷"亚马逊网络服务推出Oracle RDS如何关闭oracle rac选项 make rac_off

文章评论
发表评论

热门文章 oracle10g安装图解(wi

最新文章 数据库流行度排行2019oracle10g安装图解(wi SQL2008全部数据导出导入两种方法SQL2005新建复制“找不到存储过程 错误:28Dos远程登录mysql数据库详细图文教程mysql怎么开启远程登录功能

人气排行 mysql自动定时备份数据库的最佳方法-支持wiVisual Foxpro 6.0安装向导图文教程SQL Server 2008 安装图文教程SQL2008全部数据导出导入两种方法SQL 2000/2005/2008 的收缩日志方法,和清理mysql出 Can't connect to MySQL server onoracle10g安装图解(win7)sql2005安装图解_(sql server2005)安装教程