Дублированная база данных Oracle без архивных журналов

Я пытаюсь выполнить дублирующую операцию с одного сервера на другой (тестирование аварийного восстановления) на oracle 11g. Я все еще изучаю Oracle.

Система не находится в производстве, это просто разработка прототипа, поэтому нам не нужны архивные журналы / журналы повторов, поэтому они отключены, что, я думаю, сбивает с толку.

Я попытался выполнить следующую операцию из RMAN:

DUPLICATE DATABASE TO RON
NOREDO
BACKUP LOCATION 'F:\2014_08_12'
NOFILENAMECHECK;

И вроде бы все шло нормально, однако через какое-то время (может быть, полчаса) дублирование не удалось. Я думаю, что это важное сообщение об ошибке:

ORA-39700: database must be opened with UPGRADE option

Затем я попробовал несколько других вещей после некоторого поиска в Google:

SQL> startup upgrade;
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown immediate;
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup upgrade;
ORACLE instance started.

Total System Global Area 2538741760 bytes
Fixed Size                  2178416 bytes
Variable Size            1409286800 bytes
Database Buffers         1107296256 bytes
Redo Buffers               19980288 bytes
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: 'C:\APP\CS\ORADATA\RONNIE\SYSTEM01.DBF'


SQL> RECOVER DATABASE UNTIL CANCEL;
ORA-00283: recovery session canceled due to errors
ORA-16433: The database must be opened in read/write mode.


SQL> ALTER DATABASE OPEN READ WRITE;
ALTER DATABASE OPEN READ WRITE
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: 'C:\APP\CS\ORADATA\RONNIE\SYSTEM01.DBF'

... и теперь я в тупике. Кто-нибудь может помочь?

Полный вывод оригинальной повторяющейся команды:

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04
output file name=C:\APP\RM\ORADATA\RON\CONTROL01.CTL
output file name=C:\APP\RM\FLASH_RECOVERY_AREA\RON\CONTROL02.CTL
Finished restore at 16-OCT-14

database mounted
released channel: ORA_AUX_DISK_1
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=63 device type=DISK

contents of Memory Script:
{
   set newname for datafile  1 to
 "C:\APP\CS\ORADATA\RONNIE\SYSTEM01.DBF";
   set newname for datafile  2 to
 "C:\APP\CS\ORADATA\RONNIE\SYSAUX01.DBF";
   set newname for datafile  3 to
 "C:\APP\CS\ORADATA\RONNIE\UNDOTBS01.DBF";
   set newname for datafile  4 to
 "C:\APP\CS\ORADATA\RONNIE\USERS01.DBF";
   set newname for datafile  5 to
 "C:\APP\CS\ORADATA\RONNIE\USERS2.DBF";
   set newname for datafile  6 to
 "C:\APP\CS\ORADATA\RONNIE\USERS3.DBF";
   restore
   clone database
   ;
}
executing Memory Script

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 16-OCT-14
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 00003 to C:\APP\CS\ORADATA\RONNIE\UNDOTBS01.DBF
channel ORA_AUX_DISK_1: restoring datafile 00005 to C:\APP\CS\ORADATA\RONNIE\USERS2.DBF
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JCPKATMD_1_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JCPKATMD_1_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JCPKATMD_2_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JCPKATMD_2_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 2
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JCPKATMD_3_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JCPKATMD_3_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 3
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JCPKATMD_4_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JCPKATMD_4_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 4
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JCPKATMD_5_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JCPKATMD_5_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 5
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:18:58
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 C:\APP\CS\ORADATA\RONNIE\SYSTEM01.DBF
channel ORA_AUX_DISK_1: restoring datafile 00006 to C:\APP\CS\ORADATA\RONNIE\USERS3.DBF
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JEPKATME_1_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JEPKATME_1_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JEPKATME_2_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JEPKATME_2_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 2
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:10:40
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 00002 to C:\APP\CS\ORADATA\RONNIE\SYSAUX01.DBF
channel ORA_AUX_DISK_1: restoring datafile 00004 to C:\APP\CS\ORADATA\RONNIE\USERS01.DBF
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JDPKATMD_1_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JDPKATMD_1_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JDPKATMD_2_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JDPKATMD_2_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 2
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JDPKATMD_3_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JDPKATMD_3_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 3
channel ORA_AUX_DISK_1: reading from backup piece F:\2014_08_12\JDPKATMD_4_1
channel ORA_AUX_DISK_1: piece handle=F:\2014_08_12\JDPKATMD_4_1 tag=BACKUP_RONNIE_0000_100514094607
channel ORA_AUX_DISK_1: restored backup piece 4
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:17:41
Finished restore at 16-OCT-14

contents of Memory Script:
{
   switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy RECID=1 STAMP=861118160 file name=C:\APP\CS\ORADATA\RONNIE\SYSTEM01.DBF
datafile 2 switched to datafile copy
input datafile copy RECID=2 STAMP=861118160 file name=C:\APP\CS\ORADATA\RONNIE\SYSAUX01.DBF
datafile 3 switched to datafile copy
input datafile copy RECID=3 STAMP=861118160 file name=C:\APP\CS\ORADATA\RONNIE\UNDOTBS01.DBF
datafile 4 switched to datafile copy
input datafile copy RECID=4 STAMP=861118160 file name=C:\APP\CS\ORADATA\RONNIE\USERS01.DBF
datafile 5 switched to datafile copy
input datafile copy RECID=5 STAMP=861118160 file name=C:\APP\CS\ORADATA\RONNIE\USERS2.DBF
datafile 6 switched to datafile copy
input datafile copy RECID=6 STAMP=861118160 file name=C:\APP\CS\ORADATA\RONNIE\USERS3.DBF

contents of Memory Script:
{
   recover
   clone database
   noredo
    delete archivelog
   ;
}
executing Memory Script

Starting recover at 16-OCT-14
using channel ORA_AUX_DISK_1

Finished recover at 16-OCT-14

contents of Memory Script:
{
   shutdown clone immediate;
   startup clone nomount;
   sql clone "alter system set  db_name =
 ''RON'' comment=
 ''Reset to original value by RMAN'' scope=spfile";
   sql clone "alter system reset  db_unique_name scope=spfile";
   shutdown clone immediate;
   startup clone nomount;
}
executing Memory Script

database dismounted
Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area    2538741760 bytes

Fixed Size                     2178416 bytes
Variable Size               1409286800 bytes
Database Buffers            1107296256 bytes
Redo Buffers                  19980288 bytes

sql statement: alter system set  db_name =  ''RON'' comment= ''Reset to original value by RMAN'' scope=spfile

sql statement: alter system reset  db_unique_name scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area    2538741760 bytes

Fixed Size                     2178416 bytes
Variable Size               1409286800 bytes
Database Buffers            1107296256 bytes
Redo Buffers                  19980288 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "RON" RESETLOGS NOARCHIVELOG
  MAXLOGFILES     16
  MAXLOGMEMBERS      3
  MAXDATAFILES      100
  MAXINSTANCES     8
  MAXLOGHISTORY     2336
 LOGFILE
  GROUP  1  SIZE 300 M ,
  GROUP  2  SIZE 300 M ,
  GROUP  3  SIZE 300 M ,
  GROUP  4  SIZE 50 M ,
  GROUP  5  SIZE 300 M ,
  GROUP  6  SIZE 50 M
 DATAFILE
  'C:\APP\CS\ORADATA\RONNIE\SYSTEM01.DBF'
 CHARACTER SET WE8MSWIN1252


contents of Memory Script:
{
   set newname for tempfile  1 to
 "C:\APP\CS\ORADATA\RONNIE\TEMP01.DBF";
   set newname for tempfile  2 to
 "C:\APP\CS\ORADATA\RONNIE\TEMP02.DBF";
   switch clone tempfile all;
   catalog clone datafilecopy  "C:\APP\CS\ORADATA\RONNIE\SYSAUX01.DBF",
 "C:\APP\CS\ORADATA\RONNIE\UNDOTBS01.DBF",
 "C:\APP\CS\ORADATA\RONNIE\USERS01.DBF",
 "C:\APP\CS\ORADATA\RONNIE\USERS2.DBF",
 "C:\APP\CS\ORADATA\RONNIE\USERS3.DBF";
   switch clone datafile all;
}
executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

renamed tempfile 1 to C:\APP\CS\ORADATA\RONNIE\TEMP01.DBF in control file
renamed tempfile 2 to C:\APP\CS\ORADATA\RONNIE\TEMP02.DBF in control file

cataloged datafile copy
datafile copy file name=C:\APP\CS\ORADATA\RONNIE\SYSAUX01.DBF RECID=1 STAMP=861118211
cataloged datafile copy
datafile copy file name=C:\APP\CS\ORADATA\RONNIE\UNDOTBS01.DBF RECID=2 STAMP=861118211
cataloged datafile copy
datafile copy file name=C:\APP\CS\ORADATA\RONNIE\USERS01.DBF RECID=3 STAMP=861118211
cataloged datafile copy
datafile copy file name=C:\APP\CS\ORADATA\RONNIE\USERS2.DBF RECID=4 STAMP=861118211
cataloged datafile copy
datafile copy file name=C:\APP\CS\ORADATA\RONNIE\USERS3.DBF RECID=5 STAMP=861118211

datafile 2 switched to datafile copy
input datafile copy RECID=1 STAMP=861118211 file name=C:\APP\CS\ORADATA\RONNIE\SYSAUX01.DBF
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=861118211 file name=C:\APP\CS\ORADATA\RONNIE\UNDOTBS01.DBF
datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=861118211 file name=C:\APP\CS\ORADATA\RONNIE\USERS01.DBF
datafile 5 switched to datafile copy
input datafile copy RECID=4 STAMP=861118211 file name=C:\APP\CS\ORADATA\RONNIE\USERS2.DBF
datafile 6 switched to datafile copy
input datafile copy RECID=5 STAMP=861118211 file name=C:\APP\CS\ORADATA\RONNIE\USERS3.DBF

contents of Memory Script:
{
   Alter clone database open resetlogs;
}
executing Memory Script

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00601: fatal error in recovery manager
RMAN-03004: fatal error during execution of command
RMAN-10041: Could not re-create polling channel context following failure.
RMAN-10024: error setting up for rpc polling
RMAN-10005: error opening cursor
RMAN-10002: ORACLE error: ORA-03114: not connected to ORACLE
RMAN-03002: failure of Duplicate Db command at 10/16/2014 15:30:52
RMAN-03015: error occurred in stored script Memory Script
RMAN-06136: ORACLE error from auxiliary database: ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
Process ID: 148156
Session ID: 4 Serial number: 5

РЕДАКТИРОВАТЬ:

Резервное копирование — это ночная процедура, настроенная с помощью Enterprise Manager. Вот скрипт, который он генерирует:

$rman_script="база данных тега диска типа устройства резервного копирования '%TAG'; выделить канал для диска обслуживаемого типа; удалить без подсказки диск устаревшего типа устройства; освободить канал; "; &br_save_agent_env(); &br_prebackup($l_db_connect_string, $l_is_cold_backup, $l_use_rcvcat, $l_db_10_or_higher, $l_backup_strategy, "ИСТИНА"); мой $результат = &br_backup(); выход ($ результат);


person Ronnie    schedule 17.10.2014    source источник
comment
Думаю, этот вопрос лучше подходит для dba.stackexchange.com.   -  person toddlermenot    schedule 17.10.2014


Ответы (1)


Чтобы сделать резервную копию RMAN базы данных в режиме NOARCHIVELOG, вам нужно выключить ее и перевести в режим MOUNT, прежде чем запускать команду RMAN BACKUP. Подробнее. Это то, что вы сделали? с вашей базой данных разработки?

person APC    schedule 19.10.2014
comment
Резервное копирование было настроено через менеджера предприятия (отредактировал мой вопрос, чтобы показать сгенерированный сценарий). Но я просмотрел повторяющееся задание, и оно было настроено на выполнение в качестве «автономного резервного копирования». Будет ли это закрывать базу данных и переводить ее в режим монтирования? - person Ronnie; 27.10.2014