手机
当前位置:查字典教程网 >编程开发 >Oracle教程 >oracle冷备份迁移数据库到其他机器步骤
oracle冷备份迁移数据库到其他机器步骤
摘要:步骤很简单:关源库->拷贝到目标机器->启动到mount状态重命名->open数据库登录源数据库所在主机建立映射目录192.168.1.2o...

步骤很简单:关源库->拷贝到目标机器->启动到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冷备份迁移数据库到其他机器步骤】相关文章:

oracle 存储过程和函数例子

Oracle去掉特殊字符的具体方法

oracle增加表空间大小两种实现方法

oracle 创建表空间步骤代码

关闭Oracle死锁进程的具体步骤

oracle分布式数据解决方案

Oracle SQL tuning 数据库优化步骤图文教程

oracle数据库如何导出并重新导入

Oracle数据库基本常用命令汇总

浅谈Oracle数据库的建模与设计

精品推荐
分类导航