The Dataguard configuration is as follows:
Prod main library, sbdb for standby
Log Group 1-3 Group is Redolog file,4-6 Group is standby log
During the creation of the standby log library, the recovery from the data transfer to the standby is performed using the cold standby tar package.
After the DG configuration is complete, the standby alert log has an error following the start of the repository:
Errors in FILE/U01/APP/ORACLE/ADMIN/SBDB/UDUMP/SBDB_RFS_14903.TRC:
Ora-00313:open failed for members of log Group 7 of thread 1
Ora-00312:online Log 7 Thread 1: '/u01/app/oracle/oradata/prod/disk2/log4b.log '
Ora-27037:unable to obtain file status
Linux error:2: No such file or directory
Additional Information:3
Slightly.....
After looking at the discovery is not very right, the path of the repository should be '/u01/app/oracle/oradata/sbdb just right, how can it be prod, should be in the parameters of the database configuration errors, open the parameters file found that there are errors as follows:
Log_file_name_convert= ' sbdb ', ' PROD '
Should be:
Log_file_name_convert= ' PROD ', ' sbdb '
After the modification, close the database, rebuild the SPFile file, start the database, and discover that the alert log of the repository still has the following error:
RFS[3]: Assigned to RFS process 15120
RFS[3]: Identified database type as ' physical standby '
RFS[3]: No standby redo LogFiles created
RFS[3]: Archived Log: '/home/oracle/arch/sbdb/1_7_831568959.arc '
Mon Mar 17 11:33:28 2014
Redo Shipping Client Connected as Public
--Connected User is Valid
RFS[4]: Assigned to RFS process 15122
RFS[4]: Identified database type as ' physical standby '
Primary database is in MAXIMUM performance mode
Primary database is in MAXIMUM performance mode
Still hint no standby redo logfiles, but I at this time the database is a '/u01/app/oracle/oradata/prod/disk2/log4b.log ' and so on standby log, query V$standby_ Log
Sys@sbdb> select * from V$standby_log;
No rows selected
Hint no standby log, okay, no way to kill the original standby log rebuild it:
sys@sbdb> ALTER DATABASE drop logfile Group 4;
ALTER DATABASE drop logfile Group 4
*
ERROR at line 1:
Ora-01156:recovery in progress could need access to files
sys@sbdb> ALTER DATABASE recover managed standby database cancel;
Database altered.
sys@sbdb> ALTER DATABASE drop logfile Group 4;
ALTER DATABASE drop logfile Group 4
*
ERROR at line 1:
Ora-00359:logfile Group 4 does not exist
Tip The log group does not exist, delete the log groups directly from the operating system, and then rebuild.
[ORACLE@JP2 sbdb]$ CD Disk1
[ORACLE@JP2 disk1]$ ls
Control01.ctl log5a.log log7a.log redo02.log sysaux01.dbf temp01.dbf
Log4a.log log6a.log redo01.log redo03.log system01.dbf undotbs01.dbf
[Oracle@jp2 disk1]$ rm-f *a.log
[Oracle@jp2 disk1]$ CD ... /disk2
[ORACLE@JP2 disk2]$ ls
Control02.ctl log4b.log log5b.log Log6b.log log7b.log
[Oracle@jp2 disk2]$ rm-f *b.log
On standby:
sys@sbdb> ALTER DATABASE Add standby logfile Group 4
This column more highlights: http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/
2 ('/u01/app/oracle/oradata/sbdb/disk1/log4a.log ', '/u01/app/oracle/oradata/sbdb/disk2/log4b.log ') size 100m;
Database altered.
sys@sbdb> ALTER DATABASE Add standby logfile Group 5 ('/u01/app/oracle/oradata/sbdb/disk1/log5a.log ', '/u01/app/ Oracle/oradata/sbdb/disk2/log5b.log ') size 100m;
ALTER DATABASE ADD standby logfile Group 6 ('/u01/app/oracle/oradata/sbdb/disk1/log6a.log ', '/u01/app/oracle/oradata/ Sbdb/disk2/log6b.log ') size 100m;
ALTER DATABASE ADD standby logfile Group 7 ('/u01/app/oracle/oradata/sbdb/disk1/log7a.log ', '/u01/app/oracle/oradata/ Sbdb/disk2/log7b.log ') size 100m;
Database altered.
Sys@sbdb>
Database altered.
Sys@sbdb>
Database altered.
Rebuild and switch logs on the main library:
Sys@prod>alter system switch logfile;
System altered.
View the standby alert log, everything is OK, standby log can also be found
RFS[5]: Successfully opened standby log 4: '/u01/app/oracle/oradata/sbdb/disk1/log4a.log '