分享
 
 
 

使用rman复制数据库

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

--------------------------------------------

实验环境:windows + oracle 10.1.0.2.0

原数据库:ning[归档模式] 复制数据库:test

Author:NinGoo 2005-3-27

-------------------------------------------

在同一台server上使用rman的Duplicate Database创建复制数据库。

1. 创建新的instance

准备好相应的目录结构

E:\oracle\product\10.1.0\admin\test\bdump

E:\oracle\product\10.1.0\admin\test\cdump

E:\oracle\product\10.1.0\admin\test\create

E:\oracle\product\10.1.0\admin\test\pfile

E:\oracle\product\10.1.0\admin\test\scripts

E:\oracle\product\10.1.0\admin\test\udmp

创建参数文件inittest.ini(可使用原库的pfile进行修改),主要参数如下:

db_name=test

background_dump_dest=E:\oracle\product\10.1.0\admin\test\bdump

core_dump_dest=E:\oracle\product\10.1.0\admin\test\cdump

user_dump_dest=E:\oracle\product\10.1.0\admin\test\udump

control_files='E:\oracle\oradata\test\control01.ctl','E:\oracle\oradata\test \control02.ctl','E:\oracle\oradata\test \control03.ctl'

DB_FILE_NAME_CONVERT=('E:\oracle\oradata\ning','E:\oracle\oradata\test')

LOG_FILE_NAME_CONVERT=('E:\oracle\oradata\ning','E:\oracle\oradata\test')

置于E:\oracle\product\10.1.0\admin\test\pfile或者E:\oracle\product\10.1.0\db_1\database即可。

使用oradim创建新的instance

c:\>oradim -new -sid test

例程已创建。

使用orapwd创建password文件

c:\>orapwd file=E:\oracle\product\10.1.0\db_1\database\PWDtest.ora password=test entries=10

配置好监听和tnsnames,然后使用sqlplus测试连接

c:\>sqlplus /nolog

SQL*Plus: Release 10.1.0.2.0 - Production on 星期日 3月 27 21:01:13 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

SQL> conn sys@test as sysdba

请输入口令:

已连接到空闲例程。

2.使用rman备份原库

RMAN> connect target sys/ning@ning

连接到目标数据库: NING (DBID=1141544503)

正在使用目标数据库控制文件替代恢复目录

RMAN> backup full database tag 'fullbk' format 'e:\oracle\oraback\full%u_%s_%p';

启动 backup 于 27-3月 -05

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

输入数据文件 fno=00001 name=E:\ORACLE\ORADATA\NING\SYSTEM01.DBF

输入数据文件 fno=00002 name=E:\ORACLE\ORADATA\NING\UNDOTBS01.DBF

输入数据文件 fno=00004 name=E:\ORACLE\ORADATA\NING\USERS01.DBF

输入数据文件 fno=00003 name=E:\ORACLE\ORADATA\NING\SYSAUX01.DBF

输入数据文件 fno=00005 name=E:\ORACLE\ORADATA\NING\TEST01.DBF

通道 ORA_DISK_1: 正在启动段 1 于 27-3月 -05

通道 ORA_DISK_1: 已完成段 1 于 27-3月 -05

段 handle=E:\ORACLE\ORABACK\FULL03GGCQA4_3_1 comment=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:45

通道 ORA_DISK_1: 启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

备份集中包括当前控制文件

在备份集中包含当前的 SPFILE

通道 ORA_DISK_1: 正在启动段 1 于 27-3月 -05

通道 ORA_DISK_1: 已完成段 1 于 27-3月 -05

段 handle=E:\ORACLE\ORABACK\FULL04GGCQBH_4_1 comment=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:09

完成 backup 于 27-3月 -05

3.使用rman复制数据库

c:\>rman target sys/ning@ning AUXILIARY sys/test@test

恢复管理器: 版本10.1.0.2.0 - Production

opyright (c) 1995, 2004, Oracle. All rights reserved.

连接到目标数据库: NING (DBID=1141544503)

已连接到备用数据库: test (未装载)

RMAN> DUPLICATE TARGET DATABASE TO 'test';

启动 Duplicate Db 于 27-3月 -05

使用通道 ORA_AUX_DISK_1

内存脚本的内容:

{

set until scn 169960;

set newname for datafile 1 to

"E:\ORACLE\ORADATA\TEST\SYSTEM01.DBF";

set newname for datafile 2 to

"E:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF";

set newname for datafile 3 to

"E:\ORACLE\ORADATA\TEST\SYSAUX01.DBF";

set newname for datafile 4 to

"E:\ORACLE\ORADATA\TEST\USERS01.DBF";

set newname for datafile 5 to

"E:\ORACLE\ORADATA\TEST\TEST01.DBF";

restore

check readonly

clone database

;

}

正在执行内存脚本

正在执行命令: SET until clause

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 27-3月 -05

使用通道 ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集

通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件

正将数据文件00001恢复到E:\ORACLE\ORADATA\TEST\SYSTEM01.DBF

正将数据文件00002恢复到E:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF

正将数据文件00003恢复到E:\ORACLE\ORADATA\TEST\SYSAUX01.DBF

正将数据文件00004恢复到E:\ORACLE\ORADATA\TEST\USERS01.DBF

正将数据文件00005恢复到E:\ORACLE\ORADATA\TEST\TEST01.DBF

通道 ORA_AUX_DISK_1: 已恢复备份段 1

段句柄 = E:\ORACLE\ORABACK\FULL03GGCQA4_3_1 标记 = FULLBK

通道 ORA_AUX_DISK_1: 恢复完成

完成 restore 于 27-3月 -05

sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "test" RESETLOGS ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 454

LOGFILE

GROUP 1 'E:\oracle\oradata\test\redo01.log' SIZE 10 M ,

GROUP 2 'E:\oracle\oradata\test\redo02.log' SIZE 10 M ,

GROUP 3 'E:\oracle\oradata\test\redo03.log' SIZE 10 M

DATAFILE

'E:\ORACLE\ORADATA\TEST\SYSTEM01.DBF'

CHARACTER SET ZHS16GBK

内存脚本的内容:

{

switch clone datafile all;

}

正在执行内存脚本

数据文件 2 已转换成数据文件副本

输入数据文件副本 recid=1 stamp=554071105 文件名=E:\ORACLE\ORADATA\TEST\UNDOTBS01

.DBF

数据文件 3 已转换成数据文件副本

输入数据文件副本 recid=2 stamp=554071105 文件名=E:\ORACLE\ORADATA\TEST\SYSAUX01.

DBF

数据文件 4 已转换成数据文件副本

输入数据文件副本 recid=3 stamp=554071105 文件名=E:\ORACLE\ORADATA\TEST\USERS01.D

BF

数据文件 5 已转换成数据文件副本

输入数据文件副本 recid=4 stamp=554071105 文件名=E:\ORACLE\ORADATA\TEST\TEST01.DB

F

内存脚本的内容:

{

set until scn 169960;

recover

clone database

delete archivelog

;

}

正在执行内存脚本

正在执行命令: SET until clause

启动 recover 于 27-3月 -05

使用通道 ORA_AUX_DISK_1

正在开始介质的恢复

存档日志线程 1 序列 16 已作为文件 E:\ORACLE\ARCH\ARC00016_0553949015.001 存在于

磁盘上

存档日志文件名 =E:\ORACLE\ARCH\ARC00016_0553949015.001 线程 =1 序列 =16

完成介质的恢复

完成 recover 于 27-3月 -05

内存脚本的内容:

{

shutdown clone;

startup clone nomount ;

}

正在执行内存脚本

数据库已卸载

Oracle 例程已关闭

已连接到备用数据库 (未启动)

Oracle 例程已启动

系统全局区域总计 142606336 字节

Fixed Size 787848 字节

Variable Size 116390520 字节

Database Buffers 25165824 字节

Redo Buffers 262144 字节

sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "test" RESETLOGS ARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 454

LOGFILE

GROUP 1 'E:\oracle\oradata\test\redo01.log' SIZE 10 M ,

GROUP 2 'E:\oracle\oradata\test\redo02.log' SIZE 10 M ,

GROUP 3 'E:\oracle\oradata\test\redo03.log' SIZE 10 M

DATAFILE

'E:\ORACLE\ORADATA\TEST\SYSTEM01.DBF'

CHARACTER SET ZHS16GBK

内存脚本的内容:

{

catalog clone datafilecopy "E:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF";

catalog clone datafilecopy "E:\ORACLE\ORADATA\TEST\SYSAUX01.DBF";

catalog clone datafilecopy "E:\ORACLE\ORADATA\TEST\USERS01.DBF";

catalog clone datafilecopy "E:\ORACLE\ORADATA\TEST\TEST01.DBF";

switch clone datafile all;

}

正在执行内存脚本

已将数据文件副本列入目录

数据文件副本 filename=E:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF recid=1 stamp=5540716

73

已将数据文件副本列入目录

数据文件副本 filename=E:\ORACLE\ORADATA\TEST\SYSAUX01.DBF recid=2 stamp=55407167

3

已将数据文件副本列入目录

数据文件副本 filename=E:\ORACLE\ORADATA\TEST\USERS01.DBF recid=3 stamp=554071673

已将数据文件副本列入目录

数据文件副本 filename=E:\ORACLE\ORADATA\TEST\TEST01.DBF recid=4 stamp=554071673

数据文件 2 已转换成数据文件副本

输入数据文件副本 recid=1 stamp=554071673 文件名=E:\ORACLE\ORADATA\TEST\UNDOTBS01

.DBF

数据文件 3 已转换成数据文件副本

输入数据文件副本 recid=2 stamp=554071673 文件名=E:\ORACLE\ORADATA\TEST\SYSAUX01.

DBF

数据文件 4 已转换成数据文件副本

输入数据文件副本 recid=3 stamp=554071673 文件名=E:\ORACLE\ORADATA\TEST\USERS01.D

BF

数据文件 5 已转换成数据文件副本

输入数据文件副本 recid=4 stamp=554071673 文件名=E:\ORACLE\ORADATA\TEST\TEST01.DB

F

内存脚本的内容:

{

Alter clone database open resetlogs;

}

正在执行内存脚本

数据库已打开

完成 Duplicate Db 于 27-3月 -05

4.检查复制库的状态

C:\>sqlplus /nolog

SQL*Plus: Release 10.1.0.2.0 - Production on 星期日 3月 27 21:05:52 2005

Copyright (c) 1982, 2004, Oracle. All rights reserved.

SQL> conn sys@test as sysdba

请输入口令:

已连接。

SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS

---------------- ------------

test OPEN

然后去掉inittest.ora的DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT参数,再使用该文件生成spfile

SQL> create spfile from pfile='E:\oracle\product\10.1.0\db_1\database\inittest.ora';

文件已创建。

===============================================================

参考文章:

Oracle® Database Backup and Recovery Advanced User's Guide 10g Release 1 (10.1) Part Number B10734-01

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有