1、先使用RMAN创建一个备份,新的数据库为erin
set oracle_sid=orcl
sqlplus sys/oracle@7501 as sysdba
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
下一个存档日志序列 3
当前日志序列 3
SQL> select t.default_tablespace from dba_users t where username='HR';
DEFAULT_TABLESPACE
------------------------------
USERS
conn hr/hr@7501
SQL> create table hr_test(id int,name varchar2(1))
表已创建。
SQL> insert into hr_test values(1,'a');
已创建 1 行。
SQL> insert into hr_test values(2,'b');
已创建 1 行。
SQL> insert into hr_test values(3,'c');
已创建 1 行。
SQL> commit;
提交完成。
conn sys/oracle@7501 as sysdba
SQL> alter system switch logfile;
系统已更改。
SQL> alter system checkpoint;
系统已更改。
rman target sys/oracle@7501 nocatalog
RMAN> backup database plus archivelog;--做一个全备
启动 backup 于 2014-03-03 09:24:26
当前日志已存档
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=145 devtype=DISK
通道 ORA_DISK_1: 启动压缩的归档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =3 记录 ID=30 时间戳=841224009
输入存档日志线程 =1 序列 =4 记录 ID=32 时间戳=841224266
通道 ORA_DISK_1: 正在启动段 1 于 2014-03-03 09:24:28
通道 ORA_DISK_1: 已完成段 1 于 2014-03-03 09:24:31
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_ANNNN_TAG20140303T092427_9K7PGDQX_.BKP 标记=TAG20140303T092427 注
释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
完成 backup 于 2014-03-03 09:24:31
启动 backup 于 2014-03-03 09:24:31
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00002 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件 fno=00001 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件 fno=00003 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件 fno=00005 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件 fno=00004 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
输入数据文件 fno=00006 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TTS01.DBF
输入数据文件 fno=00007 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 2014-03-03 09:24:32
通道 ORA_DISK_1: 已完成段 1 于 2014-03-03 09:26:17
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BKP 标记=TAG20140303T092431 注
释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:45
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 2014-03-03 09:26:19
通道 ORA_DISK_1: 已完成段 1 于 2014-03-03 09:26:20
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NCSNF_TAG20140303T092431_9K7PKVF5_.BKP 标记=TAG20140303T092431 注
释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 2014-03-03 09:26:20
启动 backup 于 2014-03-03 09:26:20
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动压缩的归档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =5 记录 ID=34 时间戳=841224380
通道 ORA_DISK_1: 正在启动段 1 于 2014-03-03 09:26:22
通道 ORA_DISK_1: 已完成段 1 于 2014-03-03 09:26:23
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_ANNNN_TAG20140303T092620_9K7PKY5C_.BKP 标记=TAG20140303T092620 注
释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 2014-03-03 09:26:23
RMAN>
--可知,已经备份了数据文件、控制文件、spfile和归档日志文件
2、为辅助实例创建相应的目录:
$ORACLE_BASE/admin/erin/adump[bdump][cdump][udump] --存放trace的相关目录
$ORACLE_BASE/oradata/erin --存放数据文件、控制文件、日志文件的目录
新建一个目录用于存放erin数据库的归档日志
3、为辅助实例创建口令文件
C:\Documents and Settings\lianxia>orapwd
Usage: orapwd file= password= entries= force=
where
file - name of password file (mand),
password - password for SYS (mand),
entries - maximum number of distinct DBA and force - whether to overwrite existing file (opt),
OPERs (opt),
There are no spaces around the equal-to (=) character.
C:\Documents and Settings\lianxia>orapwd file=E:\oracle\product\10.2.0\db_1\database\PWDERIN.ora password=sys entries=10
4、为辅助实例创建初始化参数文件pfile
db_name
instance_name
service_names
background_dump_dest
core_dump_dest
user_dump_dest
audit_file_dest
control_files
log_archive_dest_n
db_file_name_convert
log_file_name_convert
主实例上先创建一个pfile出来create pfile='c:\initerin.ora' from spfile;再进行相应的修改
orcl.__db_cache_size=230686720
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=352321536
orcl.__streams_pool_size=4194304
*._allow_resetlogs_corruption=TRUE
*.audit_file_dest='E:\oracle\product\10.2.0\admin\ERIN\adump'
*.background_dump_dest='E:\oracle\product\10.2.0\admin\ERIN\bdump'
*.compatible='10.2.0.1.0'
*.control_files='E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\CONTROL01.CTL','E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\CONTROL02.CTL','E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\CONTROL03.CTL'#Restore Controlfile
*.core_dump_dest='E:\oracle\product\10.2.0\admin\ERIN\cdump'
*.db_block_size=8192
*.db_cache_size=0
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ERIN'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='E:\oracle\product\10.2.0\flash_recovery_area'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ERINXDB)'
*.job_queue_processes=10
*.local_listener=''
*.log_archive_dest_1='location=E:\oracle\product\10.2.0\arch2'
*.log_archive_dest_10='location=USE_DB_RECOVERY_FILE_DEST'
*.log_archive_dest_2=''
*.log_archive_format='ARC%S_%R.%T'
*.open_cursors=300
*.pga_aggregate_target=200278016
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.resumable_timeout=1800
*.sga_target=600834048
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='E:\oracle\product\10.2.0\admin\ERIN\udump'
--修改的参数有audit_file_dest、background_dump_dest、control_files、core_dump_dest、db_name、dispatchers、log_archive_dest_1、user_dump_dest
5、创建到辅助实例的本地网络服务名
在监听上添加erin实例的静态注册:
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = PLSExtProc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL1)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
(SID_DESC =
(GLOBAL_DBNAME = ERIN1)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = ERIN)
)
)
重启监听
C:\Documents and Settings\lianxia>lsnrctl start
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 03-3月 -2014 09:45:47
Copyright (c) 1991, 2005, Oracle. All rights reserved.
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
写入E:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.3.75)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.75)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
启动日期 03-3月 -2014 09:45:49
正常运行时间 0 天 0 小时 0 分 1 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
监听程序日志文件 E:\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.3.75)(PORT=1521)))
服务摘要..
服务 "ERIN1" 包含 1 个例程。
例程 "ERIN", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "ORCL1" 包含 1 个例程。
例程 "ORCL", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
在tnsnames.ora中配置到erin的本地网络服务名
7502 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.75)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ERIN1)
)
)
tnsping 7502测试通过
C:\Documents and Settings\lianxia>tnsping 7502
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 03-3月 -2014 09:45:22
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的参数文件:
E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.75)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = E
RIN1)))
OK (40 毫秒)
6、在windows平台下需要创建oracle服务oradim /?
C:\Documents and Settings\lianxia>oradim
ORADIM: [options]。请参阅手册。
输入以下命令之一:
通过指定以下选项创建实例:
-NEW -SID sid | -SRVC srvc | -ASMSID sid | -ASMSRVC srvc [-SYSPWD pass]
[-STARTMODE auto|manual] [-SRVCSTART system|demand] [-PFILE file | -SPFILE]
[-SHUTMODE normal|immediate|abort] [-TIMEOUT secs] [-RUNAS osusr/ospass]
通过指定以下选项编辑实例:
-EDIT -SID sid | -ASMSID sid [-SYSPWD pass]
[-STARTMODE auto|manual] [-SRVCSTART system|demand] [-PFILE file | -SPFILE]
[-SHUTMODE normal|immediate|abort] [-SHUTTYPE srvc|inst] [-RUNAS osusr/ospass]
通过指定以下选项删除实例:
-DELETE -SID sid | -ASMSID sid | -SRVC srvc | -ASMSRVC srvc
通过指定以下选项启动服务和实例:
-STARTUP -SID sid | -ASMSID sid [-SYSPWD pass]
[-STARTTYPE srvc|inst|srvc,inst] [-PFILE filename | -SPFILE]
通过指定以下选项关闭服务和实例:
-SHUTDOWN -SID sid | -ASMSID sid [-SYSPWD pass]
[-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE normal|immediate|abort]
通过指定以下参数查询帮助: -? | -h | -help
C:\Documents and Settings\lianxia>oradim -new -sid erin -startmode manual
实例已创建。
7、使用之前创建的pfile来启动辅助实例erin
C:\Documents and Settings\lianxia>set oracle_sid=erin
C:\Documents and Settings\lianxia>sqlplus sys/sys@7502 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 3 09:53:07 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup nomount pfile='c:\initerin.ora'
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 163580852 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
8、使用rman同时连接到主实例和辅助实例,执行duplicate target database to erin
C:\Documents and Settings\lianxia>rman target sys/oracle@7501 auxiliary sys/sys@7502
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 3月 3 09:55:44 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1327101518)
已连接到辅助数据库: ERIN (未装载)
RMAN> duplicate target database to erin;
启动 Duplicate Db 于 2014-03-03 09:56:06
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=156 devtype=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: Duplicate Db 命令 (在 03/03/2014 10:04:54 上) 失败
RMAN-05501: 终止复制目标数据库
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TS01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TTS01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF 与正由目标数据库使用的文件发生冲突
记起来忘记加两个参数了
*.db_file_name_convert='E:\oracle\product\10.2.0\oradata\ORCL\','E:\oracle\product\10.2.0\oradata\ERIN\'
*.log_file_name_convert='E:\oracle\product\10.2.0\oradata\ORCL\','E:\oracle\product\10.2.0\oradata\ERIN\'
C:\Documents and Settings\lianxia>set oracle_sid=erin
C:\Documents and Settings\lianxia>sqlplus sys/sys@7502 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 3 10:07:52 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> shutdown immediate
ORA-01507: 未装载数据库
ORACLE 例程已经关闭。
SQL> startup nomount pfile='c:\initerin.ora'
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 163580852 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
C:\Documents and Settings\lianxia>rman target sys/oracle@7501 auxiliary sys/sys@7502
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 3月 3 10:09:30 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1327101518)
已连接到辅助数据库: ERIN (未装载)
RMAN> duplicate target database to erin;
启动 Duplicate Db 于 2014-03-03 10:09:43
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=157 devtype=DISK
内存脚本的内容:
{
set until scn 12315123213763;
set newname for datafile 1 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF";
set newname for datafile 2 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF";
set newname for datafile 3 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF";
set newname for datafile 4 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF";
set newname for datafile 5 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF";
set newname for datafile 6 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF";
set newname for datafile 7 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 2014-03-03 10:09:44
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF
正将数据文件00002恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
正将数据文件00004恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
正将数据文件00005恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
正将数据文件00006恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
正将数据文件00007恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BK
P
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BKP 标记 = TAG20140303T092431
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:01:55
完成 restore 于 2014-03-03 10:11:39
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "ERIN" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO01.LOG' ) SIZE 50 M REUSE,
GROUP 2 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO02.LOG' ) SIZE 50 M REUSE,
GROUP 3 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO03.LOG' ) SIZE 50 M REUSE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
释放的通道: ORA_AUX_DISK_1
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
内存脚本的内容:
{
set until scn 12315123213763;
recover
clone database
delete archivelog
;
}
正在执行内存脚本
正在执行命令: SET until clause
启动 recover 于 2014-03-03 10:11:46
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=156 devtype=DISK
正在开始介质的恢复
存档日志线程 1 序列 5 已作为文件 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_5_9K7PKWPG_.ARC 存在于磁盘上
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_5_9K7PKWPG_.ARC 线程 =1 序列 =5
介质恢复完成, 用时: 00:00:05
完成 recover 于 2014-03-03 10:11:54
内存脚本的内容:
{
shutdown clone;
startup clone nomount ;
}
正在执行内存脚本
数据库已卸载
Oracle 实例已关闭
已连接到辅助数据库 (未启动)
启动失败: ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INITERIN.ORA'
在没有参数文件的情况下启动 Oracle 实例以检索 spfile
Oracle 实例已启动
系统全局区域总计 159383552 字节
Fixed Size 1247828 字节
Variable Size 58721708 字节
Database Buffers 92274688 字节
Redo Buffers 7139328 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "ERIN" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO01.LOG' ) SIZE 50 M REUSE,
GROUP 2 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO02.LOG' ) SIZE 50 M REUSE,
GROUP 3 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO03.LOG' ) SIZE 50 M REUSE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: Duplicate Db 命令 (在 03/03/2014 10:12:01 上) 失败
RMAN-06136: 来自辅助数据库的 ORACLE 错误: ORA-01503: CREATE CONTROLFILE 失败
ORA-01504: 数据库名 'ERIN' 与参数 db_name 'ORCL' 不匹配
--出错,这个错误是由于在复制数据库的过程中会关闭数据库,而重新启动的时候(之前启动实例使用的pfile放在C盘下),在E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\目录下未找到initerin.ora,然后rman就使用一个默认的参数文件来启动了,而这个参数文件中db_name为orcl,与辅助实例erin不符,导致出错
重新来一遍,先清理现场:删除oradata下已创建的相关文件和trace目录下相关文件,再把c:\initerin.ora复制到E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\initerin.ora
重新启动辅助实例
C:\Documents and Settings\lianxia>sqlplus sys/sys@7502 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 3 10:24:29 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup nomount pfile='E:\oracle\product\10.2.0\db_1\database\initerin.ora'
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 163580852 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
在rman中重新执行复制操作:
rman target sys/oracle@7501 auxiliary sys/sys@7502
RMAN> duplicate target database to erin
启动 Duplicate Db 于 2014-03-03 10:48:00
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=156 devtype=DISK
内存脚本的内容:
{
set until scn 12315123213763;
set newname for datafile 1 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF";
set newname for datafile 2 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF";
set newname for datafile 3 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF";
set newname for datafile 4 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF";
set newname for datafile 5 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF";
set newname for datafile 6 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF";
set newname for datafile 7 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 2014-03-03 10:48:02
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF
正将数据文件00002恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
正将数据文件00004恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
正将数据文件00005恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
正将数据文件00006恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
正将数据文件00007恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BKP
故障转移到上一个备份
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: Duplicate Db 命令 (在 03/03/2014 10:48:03 上) 失败
RMAN-03015: 在存储的脚本Memory Script中出现错误
RMAN-06026: 有些目标没有找到 - 终止恢复
RMAN-06023: 没有找到数据文件7的副本来恢复
RMAN-06023: 没有找到数据文件6的副本来恢复
RMAN-06023: 没有找到数据文件5的副本来恢复
RMAN-06023: 没有找到数据文件4的副本来恢复
RMAN-06023: 没有找到数据文件3的副本来恢复
RMAN-06023: 没有找到数据文件2的副本来恢复
RMAN-06023: 没有找到数据文件1的副本来恢复
RMAN>
恢复管理器完成。
这个错误很奇怪,提示找不到可用于恢复的备份集,但是事实上是有的,就是这个2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BKP,而且之前使用这个备份集恢复过的,但是他却忽略了这个备份集,提示“故障转移到上一个备份”,尝试了很多次都是这个错误,怀疑是不是erin这个辅助实例上的文件我没有清理干净的缘故,又检查了一遍,把erin这个oracle服务也删除重建了一遍,还是这个错误,于是尝试把现有的备份集删除,重新备份一个backup database plus archivelog,不过还是这个错误,见鬼了,很迷茫,想到他这里提示“故障转移到上一个备份”,那我如果再创建一个备份会怎么样,于是再次backup database plus archivelog,不过这个命令失败了,因为我磁盘空间不足,把E盘下一些大的文件删除了,准备再次执行backup操作,但是后来一想刚才会不会是因为我E盘磁盘空间不足引起的,于是先不backup,在这个时候再duplicate看看
C:\Documents and Settings\lianxia>rman target sys/oracle@7501 auxiliary sys/sys@7502
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 3月 3 13:17:27 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1327101518)
已连接到辅助数据库: ERIN (未装载)
RMAN> duplicate target database to erin;
启动 Duplicate Db 于 2014-03-03 13:17:42
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=159 devtype=DISK
内存脚本的内容:
{
set until scn 12315123223898;
set newname for datafile 1 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF";
set newname for datafile 2 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF";
set newname for datafile 3 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF";
set newname for datafile 4 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF";
set newname for datafile 5 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF";
set newname for datafile 6 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF";
set newname for datafile 7 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 2014-03-03 13:17:43
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF
正将数据文件00002恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
正将数据文件00004恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
正将数据文件00005恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
正将数据文件00006恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
正将数据文件00007恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T115257_9K7Z4T2G_.BK
P
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T115257_9K7Z4T2G_.BKP 标记 = TAG20140303T115257
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:01:36
完成 restore 于 2014-03-03 13:19:19
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "ERIN" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO01.LOG' ) SIZE 50 M REUSE,
GROUP 2 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO02.LOG' ) SIZE 50 M REUSE,
GROUP 3 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO03.LOG' ) SIZE 50 M REUSE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
释放的通道: ORA_AUX_DISK_1
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=841238362 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
内存脚本的内容:
{
set until scn 12315123223898;
recover
clone database
delete archivelog
;
}
正在执行内存脚本
正在执行命令: SET until clause
启动 recover 于 2014-03-03 13:19:22
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=159 devtype=DISK
正在开始介质的恢复
存档日志线程 1 序列 7 已作为文件 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_7_9K7Z89WS_.ARC 存在于磁盘上
存档日志线程 1 序列 8 已作为文件 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_8_9K83PK00_.ARC 存在于磁盘上
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_7_9K7Z89WS_.ARC 线程 =1 序列 =7
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_8_9K83PK00_.ARC 线程 =1 序列 =8
介质恢复完成, 用时: 00:00:05
完成 recover 于 2014-03-03 13:19:30
内存脚本的内容:
{
shutdown clone;
startup clone nomount ;
}
正在执行内存脚本
数据库已卸载
Oracle 实例已关闭
已连接到辅助数据库 (未启动)
Oracle 实例已启动
系统全局区域总计 603979776 字节
Fixed Size 1250380 字节
Variable Size 163580852 字节
Database Buffers 432013312 字节
Redo Buffers 7135232 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "ERIN" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO01.LOG' ) SIZE 50 M REUSE,
GROUP 2 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO02.LOG' ) SIZE 50 M REUSE,
GROUP 3 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO03.LOG' ) SIZE 50 M REUSE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
set newname for tempfile 1 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TEMP01.DBF";
switch clone tempfile all;
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF";
switch clone datafile all;
}
正在执行内存脚本
正在执行命令: SET NEWNAME
临时文件 1 在控制文件中已重命名为 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TEMP01.DBF
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF recid=1 stamp=841238379
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF recid=2 stamp=841238380
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF recid=3 stamp=841238380
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF recid=4 stamp=841238380
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF recid=5 stamp=841238380
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF recid=6 stamp=841238381
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=841238379 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=841238380 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=841238380 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=841238380 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=841238380 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=841238381 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
内存脚本的内容:
{
Alter clone database open resetlogs;
}
正在执行内存脚本
数据库已打开
完成 Duplicate Db 于 2014-03-03 13:20:05
RMAN>
C:\Documents and Settings\lianxia>sqlplus sys/sys@7502 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 3 13:42:56 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
erin
SQL> conn hr/hr@7502
已连接。
SQL> select * from hr_test;
ID N
---------- -
1 a
2 b
3 c
本来还不抱希望的,这次竟然成功了,不过对刚才的那个错误还是很不解。
又试了一遍,将oradata和admin下erin相关文件都删除了,再重新执行duplicate命令,这次也是成功的,也许真的是跟磁盘空间不足有关,算了,先不纠结了。
set oracle_sid=orcl
sqlplus sys/oracle@7501 as sysdba
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
下一个存档日志序列 3
当前日志序列 3
SQL> select t.default_tablespace from dba_users t where username='HR';
DEFAULT_TABLESPACE
------------------------------
USERS
conn hr/hr@7501
SQL> create table hr_test(id int,name varchar2(1))
表已创建。
SQL> insert into hr_test values(1,'a');
已创建 1 行。
SQL> insert into hr_test values(2,'b');
已创建 1 行。
SQL> insert into hr_test values(3,'c');
已创建 1 行。
SQL> commit;
提交完成。
conn sys/oracle@7501 as sysdba
SQL> alter system switch logfile;
系统已更改。
SQL> alter system checkpoint;
系统已更改。
rman target sys/oracle@7501 nocatalog
RMAN> backup database plus archivelog;--做一个全备
启动 backup 于 2014-03-03 09:24:26
当前日志已存档
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=145 devtype=DISK
通道 ORA_DISK_1: 启动压缩的归档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =3 记录 ID=30 时间戳=841224009
输入存档日志线程 =1 序列 =4 记录 ID=32 时间戳=841224266
通道 ORA_DISK_1: 正在启动段 1 于 2014-03-03 09:24:28
通道 ORA_DISK_1: 已完成段 1 于 2014-03-03 09:24:31
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_ANNNN_TAG20140303T092427_9K7PGDQX_.BKP 标记=TAG20140303T092427 注
释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
完成 backup 于 2014-03-03 09:24:31
启动 backup 于 2014-03-03 09:24:31
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00002 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件 fno=00001 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件 fno=00003 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件 fno=00005 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件 fno=00004 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
输入数据文件 fno=00006 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TTS01.DBF
输入数据文件 fno=00007 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 2014-03-03 09:24:32
通道 ORA_DISK_1: 已完成段 1 于 2014-03-03 09:26:17
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BKP 标记=TAG20140303T092431 注
释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:45
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 2014-03-03 09:26:19
通道 ORA_DISK_1: 已完成段 1 于 2014-03-03 09:26:20
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NCSNF_TAG20140303T092431_9K7PKVF5_.BKP 标记=TAG20140303T092431 注
释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 2014-03-03 09:26:20
启动 backup 于 2014-03-03 09:26:20
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动压缩的归档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =5 记录 ID=34 时间戳=841224380
通道 ORA_DISK_1: 正在启动段 1 于 2014-03-03 09:26:22
通道 ORA_DISK_1: 已完成段 1 于 2014-03-03 09:26:23
段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_ANNNN_TAG20140303T092620_9K7PKY5C_.BKP 标记=TAG20140303T092620 注
释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 2014-03-03 09:26:23
RMAN>
--可知,已经备份了数据文件、控制文件、spfile和归档日志文件
2、为辅助实例创建相应的目录:
$ORACLE_BASE/admin/erin/adump[bdump][cdump][udump] --存放trace的相关目录
$ORACLE_BASE/oradata/erin --存放数据文件、控制文件、日志文件的目录
新建一个目录用于存放erin数据库的归档日志
3、为辅助实例创建口令文件
C:\Documents and Settings\lianxia>orapwd
Usage: orapwd file= password= entries= force=
where
file - name of password file (mand),
password - password for SYS (mand),
entries - maximum number of distinct DBA and force - whether to overwrite existing file (opt),
OPERs (opt),
There are no spaces around the equal-to (=) character.
C:\Documents and Settings\lianxia>orapwd file=E:\oracle\product\10.2.0\db_1\database\PWDERIN.ora password=sys entries=10
4、为辅助实例创建初始化参数文件pfile
db_name
instance_name
service_names
background_dump_dest
core_dump_dest
user_dump_dest
audit_file_dest
control_files
log_archive_dest_n
db_file_name_convert
log_file_name_convert
主实例上先创建一个pfile出来create pfile='c:\initerin.ora' from spfile;再进行相应的修改
orcl.__db_cache_size=230686720
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=352321536
orcl.__streams_pool_size=4194304
*._allow_resetlogs_corruption=TRUE
*.audit_file_dest='E:\oracle\product\10.2.0\admin\ERIN\adump'
*.background_dump_dest='E:\oracle\product\10.2.0\admin\ERIN\bdump'
*.compatible='10.2.0.1.0'
*.control_files='E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\CONTROL01.CTL','E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\CONTROL02.CTL','E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\CONTROL03.CTL'#Restore Controlfile
*.core_dump_dest='E:\oracle\product\10.2.0\admin\ERIN\cdump'
*.db_block_size=8192
*.db_cache_size=0
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ERIN'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='E:\oracle\product\10.2.0\flash_recovery_area'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ERINXDB)'
*.job_queue_processes=10
*.local_listener=''
*.log_archive_dest_1='location=E:\oracle\product\10.2.0\arch2'
*.log_archive_dest_10='location=USE_DB_RECOVERY_FILE_DEST'
*.log_archive_dest_2=''
*.log_archive_format='ARC%S_%R.%T'
*.open_cursors=300
*.pga_aggregate_target=200278016
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.resumable_timeout=1800
*.sga_target=600834048
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='E:\oracle\product\10.2.0\admin\ERIN\udump'
--修改的参数有audit_file_dest、background_dump_dest、control_files、core_dump_dest、db_name、dispatchers、log_archive_dest_1、user_dump_dest
5、创建到辅助实例的本地网络服务名
在监听上添加erin实例的静态注册:
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = PLSExtProc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL1)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
(SID_DESC =
(GLOBAL_DBNAME = ERIN1)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = ERIN)
)
)
重启监听
C:\Documents and Settings\lianxia>lsnrctl start
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 03-3月 -2014 09:45:47
Copyright (c) 1991, 2005, Oracle. All rights reserved.
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
写入E:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.3.75)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.75)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
启动日期 03-3月 -2014 09:45:49
正常运行时间 0 天 0 小时 0 分 1 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
监听程序日志文件 E:\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.3.75)(PORT=1521)))
服务摘要..
服务 "ERIN1" 包含 1 个例程。
例程 "ERIN", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "ORCL1" 包含 1 个例程。
例程 "ORCL", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
在tnsnames.ora中配置到erin的本地网络服务名
7502 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.75)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ERIN1)
)
)
tnsping 7502测试通过
C:\Documents and Settings\lianxia>tnsping 7502
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 03-3月 -2014 09:45:22
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的参数文件:
E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.75)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = E
RIN1)))
OK (40 毫秒)
6、在windows平台下需要创建oracle服务oradim /?
C:\Documents and Settings\lianxia>oradim
ORADIM: [options]。请参阅手册。
输入以下命令之一:
通过指定以下选项创建实例:
-NEW -SID sid | -SRVC srvc | -ASMSID sid | -ASMSRVC srvc [-SYSPWD pass]
[-STARTMODE auto|manual] [-SRVCSTART system|demand] [-PFILE file | -SPFILE]
[-SHUTMODE normal|immediate|abort] [-TIMEOUT secs] [-RUNAS osusr/ospass]
通过指定以下选项编辑实例:
-EDIT -SID sid | -ASMSID sid [-SYSPWD pass]
[-STARTMODE auto|manual] [-SRVCSTART system|demand] [-PFILE file | -SPFILE]
[-SHUTMODE normal|immediate|abort] [-SHUTTYPE srvc|inst] [-RUNAS osusr/ospass]
通过指定以下选项删除实例:
-DELETE -SID sid | -ASMSID sid | -SRVC srvc | -ASMSRVC srvc
通过指定以下选项启动服务和实例:
-STARTUP -SID sid | -ASMSID sid [-SYSPWD pass]
[-STARTTYPE srvc|inst|srvc,inst] [-PFILE filename | -SPFILE]
通过指定以下选项关闭服务和实例:
-SHUTDOWN -SID sid | -ASMSID sid [-SYSPWD pass]
[-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE normal|immediate|abort]
通过指定以下参数查询帮助: -? | -h | -help
C:\Documents and Settings\lianxia>oradim -new -sid erin -startmode manual
实例已创建。
7、使用之前创建的pfile来启动辅助实例erin
C:\Documents and Settings\lianxia>set oracle_sid=erin
C:\Documents and Settings\lianxia>sqlplus sys/sys@7502 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 3 09:53:07 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup nomount pfile='c:\initerin.ora'
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 163580852 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
8、使用rman同时连接到主实例和辅助实例,执行duplicate target database to erin
C:\Documents and Settings\lianxia>rman target sys/oracle@7501 auxiliary sys/sys@7502
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 3月 3 09:55:44 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1327101518)
已连接到辅助数据库: ERIN (未装载)
RMAN> duplicate target database to erin;
启动 Duplicate Db 于 2014-03-03 09:56:06
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=156 devtype=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: Duplicate Db 命令 (在 03/03/2014 10:04:54 上) 失败
RMAN-05501: 终止复制目标数据库
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TS01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TTS01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF 与正由目标数据库使用的文件发生冲突
RMAN-05001: 辅助文件名 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF 与正由目标数据库使用的文件发生冲突
记起来忘记加两个参数了
*.db_file_name_convert='E:\oracle\product\10.2.0\oradata\ORCL\','E:\oracle\product\10.2.0\oradata\ERIN\'
*.log_file_name_convert='E:\oracle\product\10.2.0\oradata\ORCL\','E:\oracle\product\10.2.0\oradata\ERIN\'
C:\Documents and Settings\lianxia>set oracle_sid=erin
C:\Documents and Settings\lianxia>sqlplus sys/sys@7502 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 3 10:07:52 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> shutdown immediate
ORA-01507: 未装载数据库
ORACLE 例程已经关闭。
SQL> startup nomount pfile='c:\initerin.ora'
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 163580852 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
C:\Documents and Settings\lianxia>rman target sys/oracle@7501 auxiliary sys/sys@7502
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 3月 3 10:09:30 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1327101518)
已连接到辅助数据库: ERIN (未装载)
RMAN> duplicate target database to erin;
启动 Duplicate Db 于 2014-03-03 10:09:43
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=157 devtype=DISK
内存脚本的内容:
{
set until scn 12315123213763;
set newname for datafile 1 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF";
set newname for datafile 2 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF";
set newname for datafile 3 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF";
set newname for datafile 4 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF";
set newname for datafile 5 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF";
set newname for datafile 6 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF";
set newname for datafile 7 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 2014-03-03 10:09:44
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF
正将数据文件00002恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
正将数据文件00004恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
正将数据文件00005恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
正将数据文件00006恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
正将数据文件00007恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BK
P
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BKP 标记 = TAG20140303T092431
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:01:55
完成 restore 于 2014-03-03 10:11:39
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "ERIN" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO01.LOG' ) SIZE 50 M REUSE,
GROUP 2 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO02.LOG' ) SIZE 50 M REUSE,
GROUP 3 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO03.LOG' ) SIZE 50 M REUSE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
释放的通道: ORA_AUX_DISK_1
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=841227104 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
内存脚本的内容:
{
set until scn 12315123213763;
recover
clone database
delete archivelog
;
}
正在执行内存脚本
正在执行命令: SET until clause
启动 recover 于 2014-03-03 10:11:46
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=156 devtype=DISK
正在开始介质的恢复
存档日志线程 1 序列 5 已作为文件 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_5_9K7PKWPG_.ARC 存在于磁盘上
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_5_9K7PKWPG_.ARC 线程 =1 序列 =5
介质恢复完成, 用时: 00:00:05
完成 recover 于 2014-03-03 10:11:54
内存脚本的内容:
{
shutdown clone;
startup clone nomount ;
}
正在执行内存脚本
数据库已卸载
Oracle 实例已关闭
已连接到辅助数据库 (未启动)
启动失败: ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INITERIN.ORA'
在没有参数文件的情况下启动 Oracle 实例以检索 spfile
Oracle 实例已启动
系统全局区域总计 159383552 字节
Fixed Size 1247828 字节
Variable Size 58721708 字节
Database Buffers 92274688 字节
Redo Buffers 7139328 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "ERIN" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO01.LOG' ) SIZE 50 M REUSE,
GROUP 2 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO02.LOG' ) SIZE 50 M REUSE,
GROUP 3 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO03.LOG' ) SIZE 50 M REUSE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: Duplicate Db 命令 (在 03/03/2014 10:12:01 上) 失败
RMAN-06136: 来自辅助数据库的 ORACLE 错误: ORA-01503: CREATE CONTROLFILE 失败
ORA-01504: 数据库名 'ERIN' 与参数 db_name 'ORCL' 不匹配
--出错,这个错误是由于在复制数据库的过程中会关闭数据库,而重新启动的时候(之前启动实例使用的pfile放在C盘下),在E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\目录下未找到initerin.ora,然后rman就使用一个默认的参数文件来启动了,而这个参数文件中db_name为orcl,与辅助实例erin不符,导致出错
重新来一遍,先清理现场:删除oradata下已创建的相关文件和trace目录下相关文件,再把c:\initerin.ora复制到E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\initerin.ora
重新启动辅助实例
C:\Documents and Settings\lianxia>sqlplus sys/sys@7502 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 3 10:24:29 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup nomount pfile='E:\oracle\product\10.2.0\db_1\database\initerin.ora'
ORACLE 例程已经启动。
Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 163580852 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
在rman中重新执行复制操作:
rman target sys/oracle@7501 auxiliary sys/sys@7502
RMAN> duplicate target database to erin
启动 Duplicate Db 于 2014-03-03 10:48:00
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=156 devtype=DISK
内存脚本的内容:
{
set until scn 12315123213763;
set newname for datafile 1 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF";
set newname for datafile 2 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF";
set newname for datafile 3 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF";
set newname for datafile 4 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF";
set newname for datafile 5 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF";
set newname for datafile 6 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF";
set newname for datafile 7 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 2014-03-03 10:48:02
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF
正将数据文件00002恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
正将数据文件00004恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
正将数据文件00005恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
正将数据文件00006恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
正将数据文件00007恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BKP
故障转移到上一个备份
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: Duplicate Db 命令 (在 03/03/2014 10:48:03 上) 失败
RMAN-03015: 在存储的脚本Memory Script中出现错误
RMAN-06026: 有些目标没有找到 - 终止恢复
RMAN-06023: 没有找到数据文件7的副本来恢复
RMAN-06023: 没有找到数据文件6的副本来恢复
RMAN-06023: 没有找到数据文件5的副本来恢复
RMAN-06023: 没有找到数据文件4的副本来恢复
RMAN-06023: 没有找到数据文件3的副本来恢复
RMAN-06023: 没有找到数据文件2的副本来恢复
RMAN-06023: 没有找到数据文件1的副本来恢复
RMAN>
恢复管理器完成。
这个错误很奇怪,提示找不到可用于恢复的备份集,但是事实上是有的,就是这个2014_03_03\O1_MF_NNNDF_TAG20140303T092431_9K7PGJGN_.BKP,而且之前使用这个备份集恢复过的,但是他却忽略了这个备份集,提示“故障转移到上一个备份”,尝试了很多次都是这个错误,怀疑是不是erin这个辅助实例上的文件我没有清理干净的缘故,又检查了一遍,把erin这个oracle服务也删除重建了一遍,还是这个错误,于是尝试把现有的备份集删除,重新备份一个backup database plus archivelog,不过还是这个错误,见鬼了,很迷茫,想到他这里提示“故障转移到上一个备份”,那我如果再创建一个备份会怎么样,于是再次backup database plus archivelog,不过这个命令失败了,因为我磁盘空间不足,把E盘下一些大的文件删除了,准备再次执行backup操作,但是后来一想刚才会不会是因为我E盘磁盘空间不足引起的,于是先不backup,在这个时候再duplicate看看
C:\Documents and Settings\lianxia>rman target sys/oracle@7501 auxiliary sys/sys@7502
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 3月 3 13:17:27 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1327101518)
已连接到辅助数据库: ERIN (未装载)
RMAN> duplicate target database to erin;
启动 Duplicate Db 于 2014-03-03 13:17:42
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=159 devtype=DISK
内存脚本的内容:
{
set until scn 12315123223898;
set newname for datafile 1 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF";
set newname for datafile 2 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF";
set newname for datafile 3 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF";
set newname for datafile 4 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF";
set newname for datafile 5 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF";
set newname for datafile 6 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF";
set newname for datafile 7 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 2014-03-03 13:17:43
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF
正将数据文件00002恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
正将数据文件00004恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
正将数据文件00005恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
正将数据文件00006恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
正将数据文件00007恢复到E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T115257_9K7Z4T2G_.BK
P
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_03_03\O1_MF_NNNDF_TAG20140303T115257_9K7Z4T2G_.BKP 标记 = TAG20140303T115257
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:01:36
完成 restore 于 2014-03-03 13:19:19
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "ERIN" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO01.LOG' ) SIZE 50 M REUSE,
GROUP 2 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO02.LOG' ) SIZE 50 M REUSE,
GROUP 3 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO03.LOG' ) SIZE 50 M REUSE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
释放的通道: ORA_AUX_DISK_1
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=841238361 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=841238362 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
内存脚本的内容:
{
set until scn 12315123223898;
recover
clone database
delete archivelog
;
}
正在执行内存脚本
正在执行命令: SET until clause
启动 recover 于 2014-03-03 13:19:22
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=159 devtype=DISK
正在开始介质的恢复
存档日志线程 1 序列 7 已作为文件 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_7_9K7Z89WS_.ARC 存在于磁盘上
存档日志线程 1 序列 8 已作为文件 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_8_9K83PK00_.ARC 存在于磁盘上
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_7_9K7Z89WS_.ARC 线程 =1 序列 =7
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_03\O1_MF_1_8_9K83PK00_.ARC 线程 =1 序列 =8
介质恢复完成, 用时: 00:00:05
完成 recover 于 2014-03-03 13:19:30
内存脚本的内容:
{
shutdown clone;
startup clone nomount ;
}
正在执行内存脚本
数据库已卸载
Oracle 实例已关闭
已连接到辅助数据库 (未启动)
Oracle 实例已启动
系统全局区域总计 603979776 字节
Fixed Size 1250380 字节
Variable Size 163580852 字节
Database Buffers 432013312 字节
Redo Buffers 7135232 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "ERIN" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO01.LOG' ) SIZE 50 M REUSE,
GROUP 2 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO02.LOG' ) SIZE 50 M REUSE,
GROUP 3 ( 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\REDO03.LOG' ) SIZE 50 M REUSE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
set newname for tempfile 1 to
"E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TEMP01.DBF";
switch clone tempfile all;
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF";
catalog clone datafilecopy "E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF";
switch clone datafile all;
}
正在执行内存脚本
正在执行命令: SET NEWNAME
临时文件 1 在控制文件中已重命名为 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TEMP01.DBF
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF recid=1 stamp=841238379
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF recid=2 stamp=841238380
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF recid=3 stamp=841238380
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF recid=4 stamp=841238380
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF recid=5 stamp=841238380
已将数据文件副本列入目录
数据文件副本 filename=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF recid=6 stamp=841238381
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=841238379 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=841238380 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=841238380 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\USERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=841238380 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=841238380 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TTS01.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=841238381 文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ERIN\TS01.DBF
内存脚本的内容:
{
Alter clone database open resetlogs;
}
正在执行内存脚本
数据库已打开
完成 Duplicate Db 于 2014-03-03 13:20:05
RMAN>
C:\Documents and Settings\lianxia>sqlplus sys/sys@7502 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 3月 3 13:42:56 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
erin
SQL> conn hr/hr@7502
已连接。
SQL> select * from hr_test;
ID N
---------- -
1 a
2 b
3 c
本来还不抱希望的,这次竟然成功了,不过对刚才的那个错误还是很不解。
又试了一遍,将oradata和admin下erin相关文件都删除了,再重新执行duplicate命令,这次也是成功的,也许真的是跟磁盘空间不足有关,算了,先不纠结了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26524307/viewspace-1099032/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26524307/viewspace-1099032/