- 论坛徽章:
- 0
|
本帖最后由 liyihongcug 于 2011-07-19 19:27 编辑
重建备库即可
楼上 能详细说下步骤吗 (难道跟初次建立一样的 ,如果一样 那些大量归档日志快1g了改如何处理)
11g可以做
把主库归档未传到备机就删了..
没想到有什么办法恢复这个归档..重建..
备库准备工作:
1.备库和主库目录结构要一致.
2.备库的参数文件设置,正常做STANDBY时怎么设置就怎么设置.
3.备库的密码文件和主库相同.11G建立密码文件时要加ignorecase=Y 因为11密码区分大小写
4.备库的监听要是静态监听.因为默认是动态的,实例nomount状态是不能被网络连接的.
5.将备库启动到nomount
主库准备工作:
不停主库业务的话,主库必须有设置这个参数:db_unique_name
因为主备传输需要这个参数来识别.不能一致.一致就乱了.
因为备库你可以重新建立.所以其他的目录都很容易和主库保持一致.
其他参数都是做DG时的正常参数设置.
对了,下面两个参数不能在scope=memory下改. 如果不加这个参数.也没什么事.只是我遇到告警日志里有个ORA-错误.具体不记得了.加上就没了.小问题,无需理会
*.db_file_name_convert='standby','primary'
*.log_file_name_convert='standby','priamry'
主库要用rman做一次全备.因为数据文件的释出是从备份集中取得的.
日志如下:
channel ORA_AUX_DISK_1: reading from backup piece /oracle/rman_backup/dbf_seker_669002411_49_20081025.rbak
开始建立DG备库.
主库OPEN;备库nomount;
在主库上操作:
[oracle@dbserver ~]$ rman target /
Recovery Manager: Release 11.1.0.6.0 - Production on Sat Oct 25 02:06:23 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: seker (DBID=3265385459)
RMAN> connect auxiliary "[email=[ft=#ff0000,,]sys/oracle@standby]sys/oracle@standby[/email]"
connected to auxiliary database: seker (not mounted)
RMAN> duplicate target database for standby nofilenamecheck;
避免主库数据文件更改时检测不通过,加nofilenamecheck;参数
这是出错时的日志
sql statement: alter database mount standby database
RMAN-05001: auxiliary file name /oracle/oradata/system01.dbf conflicts with a file used by the target database
Starting Duplicate Db at 25-OCT-08
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=537 device type=DISK
contents of Memory Script:
{
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
executing Memory Script
Starting restore at 25-OCT-08
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /oracle/rman_backup/c-3265385459-20081025-02.ctl
channel ORA_AUX_DISK_1: piece handle=/oracle/rman_backup/c-3265385459-20081025-02.ctl tag=TAG20081025T020126
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/oracle/oradata/seker/standby01.ctl
output file name=/oracle/oradata/seker/standby02.ctl
Finished restore at 25-OCT-08
sql statement: alter database mount standby database
contents of Memory Script:
{
set newname for tempfile 1 to
"/oracle/oradata/seker/temp01.dbf";
switch clone tempfile all;
set newname for datafile 1 to
"/oracle/oradata/seker/system01.dbf";
set newname for datafile 2 to
"/oracle/oradata/seker/sysaux01.dbf";
set newname for datafile 3 to
"/oracle/oradata/seker/undotbs01.dbf";
set newname for datafile 4 to
"/oracle/oradata/seker/users01.dbf";
set newname for datafile 5 to
"/oracle/oradata/seker/bjxunzhi01.dbf";
set newname for datafile 6 to
"/oracle/oradata/seker/seker01.dbf";
set newname for datafile 7 to
"/oracle/oradata/seker/shequ01.dbf";
restore
clone database
;
}
executing Memory Script
executing command: SET NEWNAME
renamed tempfile 1 to /oracle/oradata/seker/temp01.dbf in control file
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting restore at 25-OCT-08
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /oracle/oradata/seker/system01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00002 to /oracle/oradata/seker/sysaux01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00003 to /oracle/oradata/seker/undotbs01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00004 to /oracle/oradata/seker/users01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00005 to /oracle/oradata/seker/bjxunzhi01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00006 to /oracle/oradata/seker/seker01.dbf
channel ORA_AUX_DISK_1: restoring datafile 00007 to /oracle/oradata/seker/shequ01.dbf
channel ORA_AUX_DISK_1: reading from backup piece /oracle/rman_backup/dbf_seker_669002411_49_20081025.rbak
channel ORA_AUX_DISK_1: piece handle=/oracle/rman_backup/dbf_seker_669002411_49_20081025.rbak tag=DB_BACKUP_2008-10-25.02:00:01
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:05
Finished restore at 25-OCT-08
contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script
datafile 1 switched to datafile copy
input datafile copy RECID=2 STAMP=669002889 file name=/oracle/oradata/seker/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=3 STAMP=669002889 file name=/oracle/oradata/seker/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=669002889 file name=/oracle/oradata/seker/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=669002889 file name=/oracle/oradata/seker/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=6 STAMP=669002889 file name=/oracle/oradata/seker/bjxunzhi01.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=7 STAMP=669002889 file name=/oracle/oradata/seker/seker01.dbf
datafile 7 switched to datafile copy
input datafile copy RECID=8 STAMP=669002889 file name=/oracle/oradata/seker/shequ01.dbf
Finished Duplicate Db at 25-OCT-08
RMAN>
OK.备库建立完成;
去备库查看一下状态
[email=SYS@seker]SYS@seker[/email] > select open_mode,database_role,switchover_status,protection_mode from v$database;
OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS PROTECTION_MODE
-------------------- -------------------------------- ---------------------------- MOUNTED PHYSICAL STANDBY RECOVERY NEEDED MAXIMUM PERFORMANCE
[email=SYS@seker]SYS@seker[/email] >
RECOVERY NEEDED
需要恢复..
归档已经传递过来了.
[email=SYS@seker]SYS@seker[/email] > select name,applied from v$archived_log;
NAME APPLIE
-------------------------------------------------- ------
/oracle/arc1/1_74_668404789.arc NO
/oracle/arc1/1_73_668404789.arc NO
应用归档;
[email=SYS@seker]SYS@seker[/email] > alter database recover managed standby database nodelay disconnect from session;
Database altered.
应用完毕;
[email=SYS@seker]SYS@seker[/email] > select name,applied from v$archived_log;
NAME APPLIE
-------------------------------------------------- ------
/oracle/arc1/1_74_668404789.arc YES
/oracle/arc1/1_73_668404789.arc YES
[email=SYS@seker]SYS@seker[/email] > alter database recover managed standby database cancel;
Database altered.
打开备库
[email=SYS@seker]SYS@seker[/email] > alter database open;
Database altered.
[email=SYS@seker]SYS@seker[/email] > select open_mode,database_role,switchover_status,protection_mode from v$database;
OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS PROTECTION_MODE
---------- ---------------- -------------------- --------------------
READ ONLY PHYSICAL STANDBY NOT ALLOWED MAXIMUM PERFORMANCE
[email=SYS@seker]SYS@seker[/email] > alter database recover managed standby database nodelay disconnect from session;
Database altered.
[email=SYS@seker]SYS@seker[/email] >
OK..清理一下告警日志里的垃圾信息;
但可惜我的版本是 10g 问重新建立备份该如何做 |
|