用rman复制数据库实验笔记

上一篇 / 下一篇  2008-01-19 20:31:57 / 个人分类:oracle相关

网上这种例子很多,最近继续学习rman中,因此,决定今天练练rman命令.实验用RMAN从xp(主机A)上复制数据库到另一台win2003(主机B)上。数据库名称erp(版本9201).

借鉴于:http://billing.itpub.net/post/740/8487,我的具体操作如下:
1、在A主机作RMAN备份:

RMAN> configure channel device type disk format 'c:\rman_bk_%d%t.bak';

RMAN> configure controlfile autobackup on;

RMAN> backup database;

启动 backup 于 19-1月 -08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动 full 数据文件备份
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00012 name=D:\ORACLE\ORADATA\ERP\ERP.DBF
输入数据文件 fno=00001 name=D:\ORACLE\ORADATA\ERP\SYSTEM01.DBF
输入数据文件 fno=00013 name=D:\ORACLE\ORADATA\ERP\ERP_NEW.DBF
输入数据文件 fno=00014 name=D:\ORACLE\ORADATA\ERP\UNDOTBS2.DBF
输入数据文件 fno=00005 name=D:\ORACLE\ORADATA\ERP\EXAMPLE01.DBF
输入数据文件 fno=00009 name=D:\ORACLE\ORADATA\ERP\USERS01.DBF
输入数据文件 fno=00011 name=D:\ORACLE\ORADATA\ERP\KENAN.DBF
输入数据文件 fno=00010 name=D:\ORACLE\ORADATA\ERP\XDB01.DBF
输入数据文件 fno=00006 name=D:\ORACLE\ORADATA\ERP\INDX01.DBF
输入数据文件 fno=00003 name=D:\ORACLE\ORADATA\ERP\CWMLITE01.DBF
输入数据文件 fno=00004 name=D:\ORACLE\ORADATA\ERP\DRSYS01.DBF
输入数据文件 fno=00007 name=D:\ORACLE\ORADATA\ERP\ODM01.DBF
输入数据文件 fno=00008 name=D:\ORACLE\ORADATA\ERP\TOOLS01.DBF



2、复制RMAN文件到C:盘
  从A主机目录D:\oracle\ora92\database中复制autotrace产生的控制文件到B主机的D:\oracle\ora92\database

  在d盘的D:\oracle\admin\目录下建erp目录,并在该目录下建bdump,cdump,udump,否则数据库启动关闭时找不到目录会很慢.

以下在B主机进行
3、产生口令文件

D:\>orapwd file=d:\oracle\ora92\database\PWDerp.ora password=sys entries=5

4、设置注册表的HKEY_LOCAL_MACHINE,SOFTWARE,ORACLE,HOME0,节点下,加入键值oracle_sid为erp。(如果已经有一个数据库了,这里一般有值的)

   因为这台机器已经有了一个数据库,监听器已经存在了。所以不需要配置监听,只需要在tnsnames.ora文件中添加:
 erp =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 134.98.104.10)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = erp)
    )
  )

5、建服务:


D:\>oradim -startup -sid erp -usrpwd sys -starttype srvc -pfile d:\oracle\ora92\
database\initerp.ora

6、启动RMAN进行恢复



D:\>rman targetsys/sys@erp

恢复管理器: 版本9.2.0.1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

连接到目标数据库: erp(未安装)

RMAN> startup nomount;-- 前面建实例时已经启动,这里可以不要

数据库已经启动

RMAN> set dbid=4179740679

正在执行命令: SET DBID

RMAN> restore controlfile from autobackup;

启动 restore 于 19-1月 -08

使用通道 ORA_DISK_1
通道 ORA_DISK_1: 寻找以下日期的自动备份: 20080119
通道 ORA_DISK_1: 已找到的自动备份: c-4179740679-20080119-03
通道 ORA_DISK_1: 从自动备份复原控制文件已完成
正在复制控制文件
输出文件名=D:\ORACLE\ORADATA\ERP\CONTROL01.CTL
输出文件名=D:\ORACLE\ORADATA\ERP\CONTROL02.CTL
输出文件名=D:\ORACLE\ORADATA\ERP\CONTROL03.CTL
完成 restore 于 19-1月 -08

RMAN> alter database mount;

数据库已加载

RMAN> restore database;

启动 restore 于 19-1月 -08

使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE\ORADATA\ERP\SYSTEM01.DBF
正将数据文件00003恢复到D:\ORACLE\ORADATA\ERP\CWMLITE01.DBF
正将数据文件00004恢复到D:\ORACLE\ORADATA\ERP\DRSYS01.DBF
正将数据文件00005恢复到D:\ORACLE\ORADATA\ERP\EXAMPLE01.DBF
正将数据文件00006恢复到D:\ORACLE\ORADATA\ERP\INDX01.DBF
正将数据文件00007恢复到D:\ORACLE\ORADATA\ERP\ODM01.DBF
正将数据文件00008恢复到D:\ORACLE\ORADATA\ERP\TOOLS01.DBF
正将数据文件00009恢复到D:\ORACLE\ORADATA\ERP\USERS01.DBF
正将数据文件00010恢复到D:\ORACLE\ORADATA\ERP\XDB01.DBF
正将数据文件00011恢复到D:\ORACLE\ORADATA\ERP\KENAN.DBF
正将数据文件00012恢复到D:\ORACLE\ORADATA\ERP\ERP.DBF
正将数据文件00013恢复到D:\ORACLE\ORADATA\ERP\ERP_NEW.DBF
正将数据文件00014恢复到D:\ORACLE\ORADATA\ERP\UNDOTBS2.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=C:\RMAN_BK_ERP644425982.BAK tag=TAG20080119T151301 params=NULL
通道 ORA_DISK_1: 恢复完成
完成 restore 于 19-1月 -08
RMAN> recover database;

启动 recover 于 19-1月 -08
使用通道 ORA_DISK_1

正在开始介质的恢复

无法找到存档日志
存档日志线程 =1 序列=125
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 01/19/2008 16:54:08
RMAN-06054: media recovery requesting unknown log: thread 1 scn 9424770

RMAN> alter database open resetlogs;

数据库已打开

7、在sqlplus中,建临时表空间,并把默认临时表空间切为新建的表空间,删除原来的临时表空间


D:\>sqlplus/nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 1月 19 17:40:10 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn / as sysdba
已连接。
SQL> CREATE TEMPORARY TABLESPACE TEMP1 TEMPFILE
  2    'D:\ORACLE\ORADATA\ERP\temp01.dbf'SIZE 300M AUTOEXTEND OFF
  3  EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 1M;

表空间已创建。

SQL> alter system default temporary tablespace temp1;
alter system default temporary tablespace temp1
             *
ERROR 位于第 1 行:
ORA-02065: 非法的 ALTER SYSTEM 选项


SQL> alter database default temporary tablespace temp1;

数据库已更改。

SQL> drop tablespace temp;

SQL> create spfile from pfile;
文件已创建。

SQL> startup force;
ORACLE 例程已经启动。

Total System Global Area  160504432 bytes
Fixed Size                   453232 bytes
Variable Size              92274688 bytes
Database Buffers           67108864 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL>

 



TAG:

引用 删除 hudaifu   /   2008-01-28 04:52:49
加油
引用 删除 hudaifu   /   2008-01-19 22:58:51
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar