[20121108]关于克隆数据库的问题.txt

[20121108]关于克隆数据库的问题.txt

前几天在克隆数据库生产系统数据库时,遇到一个非常奇怪的问题,记录一下:

克隆的机器口令文件,以及spfile以前都存在,实际上很简单,先停止旧数据库,然后改安装目录名(害怕还要使用!),再安装数据库:

startup nomount;
SQL> startup nomount
ORACLE instance started.

Total System Global Area 1.2885E+10 bytes
Fixed Size                  2105920 bytes
Variable Size            1660947904 bytes
Database Buffers         1.1207E+10 bytes
Redo Buffers               14667776 bytes
SQL> quit

$ rman target /

Recovery Manager: Release 10.2.0.4.0 - Production on Thu Nov 8 10:32:39 2012
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
connected to target database: orcl (not mounted)
RMAN> restore controlfile from '/mnt/xxx.backup/controls/xxx_ORCL_20121103_9410_controls';
Starting restore at 2012-11-08 10:32:46
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=814 devtype=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
output filename=/data/orcl/control01.ctl
output filename=/data/orcl/control02.ctl
output filename=/data/orcl/control03.ctl
Finished restore at 2012-11-08 10:32:49

RMAN> alter database mount;
database mounted

RMAN> restore database until time '2012-11-04 06:00:00';
Starting restore at 2012-11-08 10:30:27
Starting implicit crosscheck backup at 2012-11-08 10:30:27
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=814 devtype=DISK
Crosschecked 138 objects
Finished implicit crosscheck backup at 2012-11-08 10:30:35

Starting implicit crosscheck copy at 2012-11-08 10:30:35
using channel ORA_DISK_1
Finished implicit crosscheck copy at 2012-11-08 10:30:35

searching for all files in the recovery area
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /data/log/ORCL/archivelog/0001_0000000001_793708270.dbf
....

using channel ORA_DISK_1

creating datafile fno=1 name=/data/orcl/system01.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 11/08/2012 10:30:37
ORA-01180: can not create datafile 1
ORA-01110: data file 1: '/data/orcl/system01.dbf'

--如果restore datafile 6.
RMAN> restore datafile 6;
RMAN-06064: creating datafile fno=6 name=/data/orcl/tools.dbf
RMAN-06177: restore not done; all files readonly, offline, or already restored
RMAN-03091: Finished restore at 10-JUN-10

--奇怪!/data/orcl/tools.dbf根本不存在!
--仔细看前面的信息,可以发现如下:

searching for all files in the recovery area
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /data/log/ORCL/archivelog/0001_0000000001_793708270.dbf

--原来数据库的闪回区有archivelog存在.这样会catalog克隆数据里面的archivelog,使用list incarnation检查:

RMAN> list incarnation ;

List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       ORCL     1155815272       PARENT  1          2007-07-15 22:02:16
2       2       ORCL     1155815272       CURRENT 3004540661 2012-09-11 10:31:10

--可以发现生产了新的incarnation 2.

--看了一些文档要正确执行:
--reset incarnation database to 1;
--再restore database until time '2012-11-04 06:00:00';估计就可以了.
--我没有采用这个方法,而是rm删除了/data/log/ORCL/archivelog/里面的内容,再重复以上过程,克隆正常!
--看来以后采用这种方式克隆后,一定要nid修改数据库的dbid.避免archivelog混淆在一起.避免不必要的问题.

时间: 2024-09-30 23:36:53

[20121108]关于克隆数据库的问题.txt的相关文章

在两机器间克隆数据库的两种方法

数据|数据库 关于克隆数据库的方法,最近一直在研究,偶尔在cnoug上闲逛,发现了两篇帖子不错,现作为以后工作中的参考: 方法一:如何使用RMAN在两机器间克隆数据库 原文摘自:www.cnoug.org 关键字:目标.目录.克隆.日志. 目标数据库和克隆数据库分别在两台机器,其环境都一样: WINDOWS 2000 SERVER SP4.IE6.1, ORACLE9205 在本文中,使用的是目标数据库上的RMAN,目录数据库在第3台机器上, 操作步骤: 1.连接目标数据库,对目标数据库做全库备

c++ 写一个查询系统 ,不用数据库,从txt中读取数据,求大神指点啊 ...

问题描述 c++ 写一个查询系统 ,不用数据库,从txt中读取数据,求大神指点啊 ... 解决方案 你首先的规范text 文档的数据格式 ,然后通过文件流从文件中读取数据 解决方案二: 直接用ifstream读入,然后getline一行行读取,然后可以用sscanf格式化提取(因为你是用,分隔的) 可以把数据都存储下来(存在结构体数组或者vector都行) 之后再实现查找的功能

【云端起舞】在Oracle公有云上创建克隆数据库

编辑手记:云端起舞也要脚踏实地,Oracle全面向云,将会演绎怎样的精彩,海外专家伴你踏上云端之旅. 系列文章回顾: 1.Configure and Practice Backup and Recovery in Cloud      在Oracle公有云上备份与恢复的配置和实践 2.Create a Primary and Standby Database in the Cloud      在Oracle公有云上创建standby数据库        作者简介: Joel Perez Ora

[20170515]检查数据库scn脚本.txt

[20170515]检查数据库scn脚本.txt --//简单写一个脚本检查数据库各个scn的大小: column TABLESPACE_NAME format a20 SELECT b.file#       ,b.name       ,c.STATUS       ,c.FUZZY       ,a.checkpoint_change# "数据库记录的scn"       ,b.checkpoint_change# "控制文件记录的开始scn"       ,

[20150408]只读表空间以及数据库恢复2.txt

[20150408]只读表空间以及数据库恢复2.txt --昨天检查时发现1个小问题,就是有1个表空间设置只读,也许某个时间打开变成读写,又设置会只读,而备份仅仅在第1次设置只读时做过1次, --按照道理如果使用原来的备份恢复会存在问题的,自己测试1下,顺便看看有什么变通的方法解决这个问题. 1.建立测试环境: SCOTT@test> @ &r/ver1 PORT_STRING                    VERSION        BANNER ----------------

[20150408]只读表空间以及数据库恢复4.txt

[20150408]只读表空间以及数据库恢复4.txt 参考链接: http://blog.itpub.net/267265/viewspace-1544583/ http://blog.itpub.net/267265/viewspace-1548059/ http://blog.itpub.net/267265/viewspace-1548967/ --上午做了测试,通过新建控制文件的方式来恢复,实际上更常用的方式使用bbed,修改数据文件块1,保持与控制文件的记录一致. --通过对比来看看

[20150408]只读表空间以及数据库恢复3.txt

[20150408]只读表空间以及数据库恢复3.txt --昨天检查时发现1个小问题,就是有1个表空间设置只读,也许某个时间打开变成读写,又设置会只读,而备份仅仅在第1次设置只读时做过1次, --按照道理如果使用原来的备份恢复会存在问题的,自己测试1下,我上午已经测试了可以使用以前的做了来恢复,但是这里存在一些小问题, --我在第2次打开读写时,没有任何ddl,dml操作对这个表空间,如果存在这些操作会出现什么情况呢? --继续上午的测试. 1.建立测试环境: SCOTT@test> @ &

[20161003]如何知道数据库的dbid.txt

[20161003]如何知道数据库的dbid.txt --别人问的问题,实际上数据恢复我自己都很少需要知道它.实际上方法很多. --自己做一些测试. 1.环境: SYS@test> select * from v$version where rownum=1; BANNER                                                                               CON_ID ---------------------------

[20160619]NULL在数据库的存储.txt

[20160619]NULL在数据库的存储.txt --简单探究NULL在数据库的存储.这也是别人前几天问的问题,我自己学习oracle这么久,也没有仔细观察过. 1.环境: SCOTT@test01p> @ ver1 PORT_STRING                    VERSION        BANNER                                                                               CON_ID --