视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
oracle冷备份迁移数据库到其他机器步骤
2020-11-09 13:46:18 责编:小采
文档


步骤很简单:关源库-拷贝到目标机器-启动到mount状态重命名-open数据库 登录源数据库所在主机 建立映射目录 192.168.1.2oradata 映射为 z: 盘 映射完毕后检查是否允许写入文件 需要注意关闭目标数据库位置服务器的防火墙 搜集源库信息 实例名、版本、块大

  步骤很简单:关源库->拷贝到目标机器->启动到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;

  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 小时

下载本文
显示全文
专题