Λύση για το ORA-01516: ανύπαρκτο αρχείο καταγραφής, αρχείο δεδομένων ή προσωρινό αρχείο στο Oracle

1
Λύση για το ORA-01516: ανύπαρκτο αρχείο καταγραφής, αρχείο δεδομένων ή προσωρινό αρχείο στο Oracle


Λύση για το ORA-01516: ανύπαρκτο αρχείο καταγραφής, αρχείο δεδομένων ή προσωρινό αρχείο στο Oracle

Στο προηγούμενο blog, είδαμε βήματα για επαναφορά Συνεπές αντίγραφο ασφαλείας RMAN χρησιμοποιώντας διπλότυπη βάση δεδομένων εντολή Κάντε κλικ εδώ για να διαβάσετε περισσότερα. Σε αυτό το ιστολόγιο, πρόκειται να επαναφέρουμε το ίδιο συνεπές αντίγραφο ασφαλείας RMAN χρησιμοποιώντας το εγχειρίδιο μέθοδος. Με αυτή τη μέθοδο παίρνουμε το σφάλμα „ORA-01516: ανύπαρκτο αρχείο καταγραφής, αρχείο δεδομένων ή προσωρινό αρχείο“ ενώ κάνετε βάση δεδομένων ανοίγουν τα μηδενικά αρχεία καταγραφής. Σε αυτό το ιστολόγιο, θα δούμε πώς μπορούμε να διορθώσουμε αυτό το σφάλμα.


Παρακάτω είναι τα βήματα υψηλού επιπέδου που θα ακολουθήσουμε.

1. Επαναφέρετε το αρχείο ελέγχου
2. Αντίγραφα ασφαλείας καταλόγου RMAN
3. Διαγράψτε τα παλιά αντίγραφα ασφαλείας που έχουν λήξει από το αρχείο ελέγχου
4. Εκκινήστε την εντολή χειροκίνητης επαναφοράς
5. Δοκιμάστε να ανοίξετε το DB με την επιλογή resetlogs
6. Μετονομάστε το αρχείο καταγραφής
7. Δημιουργήστε ξανά το αρχείο ελέγχου
8. Ανοίξτε το DB με την επιλογή resetlogs

Βήμα 1. Επαναφέρετε το αρχείο ελέγχου: Το συνεπές αντίγραφο ασφαλείας RMAN έχει ήδη αντιγραφεί στον διακομιστή προορισμού στην τοποθεσία „F:\rman_backup\„. Εκκίνηση DB με ονομάζω επιλογή και επαναφέρετε το αρχείο ελέγχου χρησιμοποιώντας παρακάτω επαναφορά αρχείου ελέγχου εντολή rman.

C:\Users\jkhan>
C:\Users\jkhan>sqlplus sys as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Aug 15 16:00:51 2022

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
SQL> startup nomount
ORACLE instance started.

Total System Global Area 1.0255E+10 bytes
Fixed Size                  2290120 bytes
Variable Size            1845497400 bytes
Database Buffers         8388608000 bytes
Redo Buffers               18817024 bytes
SQL>
SQL>exit
C:\Users\jkhan>
C:\Users\jkhan>rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Mon Aug 15 16:35:18 2022

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: UCAS (not mounted)

RMAN> restore controlfile from 'F:\rman_backup\ctl_db_UCAS_S_757_P_1_T_1112789852';

Starting restore at 15-AUG-22
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=201 device type=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=G:\UCAS\ORADATA_2\CONTROL01.CTL
output file name=H:\UCAS\ORADATA_2\CONTROL02.CTL
Finished restore at 15-AUG-22
RMAN>

Βήμα 2. Κατάλογος αντιγράφων ασφαλείας RMAN: Τοποθετήστε το DB. Εγγραφή rman backup με αρχείο ελέγχου χρησιμοποιώντας κατάλογος εντολή.

RMAN>
RMAN> sql "alter database mount";

sql statement: alter database mount
released channel: ORA_DISK_1

RMAN>

RMAN> catalog start with 'F:\rman_backup\*';

Starting implicit crosscheck backup at 15-AUG-22
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=201 device type=DISK
Crosschecked 75 objects
Finished implicit crosscheck backup at 15-AUG-22

Starting implicit crosscheck copy at 15-AUG-22
using channel ORA_DISK_1
Finished implicit crosscheck copy at 15-AUG-22

searching for all files in the recovery area
cataloging files...
no files cataloged

searching for all files that match the pattern F:\rman_backup\*

List of Files Unknown to the Database
=====================================
File Name: F:\RMAN_BACKUP\backup_db_UCAS_S_754_P_1_T_1112789456
File Name: F:\RMAN_BACKUP\backup_db_UCAS_S_755_P_1_T_1112789456
File Name: F:\RMAN_BACKUP\backup_db_UCAS_S_756_P_1_T_1112789456
File Name: F:\RMAN_BACKUP\ctl_db_UCAS_S_757_P_1_T_1112789852

Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: F:\RMAN_BACKUP\backup_db_UCAS_S_754_P_1_T_1112789456
File Name: F:\RMAN_BACKUP\backup_db_UCAS_S_755_P_1_T_1112789456
File Name: F:\RMAN_BACKUP\backup_db_UCAS_S_756_P_1_T_1112789456
File Name: F:\RMAN_BACKUP\ctl_db_UCAS_S_757_P_1_T_1112789852

RMAN>

Βήμα 3. Διαγραφή παλαιών αντιγράφων ασφαλείας που έχουν λήξει από το αρχείο ελέγχου: Εκτελέστε το παρακάτω εντολές για τη διαγραφή μεταδεδομένων των ληγμένων αντιγράφων ασφαλείας rman από το αρχείο ελέγχου.

RMAN>
RMAN> crosscheck backup;
RMAN> crosscheck backup of controlfile;
RMAN> delete noprompt expired backup;
RMAN> delete noprompt expired archivelog all;
RMAN> delete noprompt expired backup of controlfile;
MAN>  delete noprompt expired copy;
MAN>  delete noprompt obsolete orphan;
RMAN> delete noprompt expired backup;

RMAN>

RMAN> list backup summary;


List of Backups
===============
Key     TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
754     B  F  A DISK        15-AUG-22       1       1       YES        FULL BACKUP
755     B  F  A DISK        15-AUG-22       1       1       YES        FULL BACKUP
756     B  F  A DISK        15-AUG-22       1       1       YES        FULL BACKUP
757     B  F  A DISK        15-AUG-22       1       1       YES        CONTROL FILE BACKUP

RMAN>

Βήμα 4. Εκκινήστε την εντολή χειροκίνητης επαναφοράς: Ξεκινήστε το χειροκίνητη επαναφορά χρησιμοποιώντας την παρακάτω εντολή. Σημειώστε ότι πρέπει να χρησιμοποιήσουμε το ορίστε νέο όνομα εντολή rman για να καθορίσετε τη θέση του αρχείου δεδομένων στον στόχο. Εάν σε περίπτωση που η δομή του καταλόγου προέλευσης και προορισμού είναι ίδια, η εντολή set newname δεν απαιτείται σε αυτήν την περίπτωση.

RMAN>

RMAN> run{
2> allocate channel ch1 device type disk;
3> allocate channel ch2 device type disk;
4> allocate channel ch3 device type disk;
5> set newname for datafile 1 to  'H:\UCAS\ORADATA_2\SYSTEM01.DBF';
6> set newname for datafile 2 to  'H:\UCAS\ORADATA_2\SYSAUX01.DBF';
7> set newname for datafile 3 to  'H:\UCAS\ORADATA_2\UNDOTBS01.DBF';
8> set newname for datafile 4 to  'H:\UCAS\ORADATA_2\USERS01.DBF';
9> set newname for datafile 5 to  'H:\UCAS\ORADATA_2\UCAS_01.DBF';
10> set newname for datafile 6 to  'H:\UCAS\ORADATA_2\UCAS_DATA_01.DBF';
11> set newname for datafile 7 to  'H:\UCAS\ORADATA_2\UCAS_INDEX_01.DBF';
12> set newname for datafile 8 to  'G:\UCAS\ORADATA_2\GGS_DATA_01.DBF';
13> set newname for datafile 9 to  'G:\UCAS\ORADATA_2\TELEX_01.DBF';
14> set newname for datafile 10 to 'G:\UCAS\ORADATA_2\UCAS_02.DBF';
15> set newname for datafile 11 to 'G:\UCAS\ORADATA_2\UCAS_DATA_02.DBF';
16> set newname for datafile 12 to 'G:\UCAS\ORADATA_2\UCAS_INDEX_02.DBF';
17> restore database;
18> switch datafile all;
19> }

using target database control file instead of recovery catalog
allocated channel: ch1
channel ch1: SID=201 device type=DISK

allocated channel: ch2
channel ch2: SID=209 device type=DISK

allocated channel: ch3
channel ch3: SID=217 device type=DISK

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

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 15-AUG-22

channel ch1: starting datafile backup set restore
channel ch1: specifying datafile(s) to restore from backup set
channel ch1: restoring datafile 00003 to H:\UCAS\ORADATA_2\UNDOTBS01.DBF
channel ch1: restoring datafile 00006 to H:\UCAS\ORADATA_2\UCAS_DATA_01.DBF
channel ch1: restoring datafile 00007 to H:\UCAS\ORADATA_2\UCAS_INDEX_01.DBF
channel ch1: restoring datafile 00009 to G:\UCAS\ORADATA_2\TELEX_01.DBF
channel ch1: reading from backup piece F:\RMAN_BACKUP\BACKUP_DB_UCAS_S_755_P_1_T_1112789456
channel ch2: starting datafile backup set restore
channel ch2: specifying datafile(s) to restore from backup set
channel ch2: restoring datafile 00001 to H:\UCAS\ORADATA_2\SYSTEM01.DBF
channel ch2: restoring datafile 00002 to H:\UCAS\ORADATA_2\SYSAUX01.DBF
channel ch2: restoring datafile 00004 to H:\UCAS\ORADATA_2\USERS01.DBF
channel ch2: restoring datafile 00010 to G:\UCAS\ORADATA_2\UCAS_02.DBF
channel ch2: reading from backup piece F:\RMAN_BACKUP\BACKUP_DB_UCAS_S_756_P_1_T_1112789456
channel ch3: starting datafile backup set restore
channel ch3: specifying datafile(s) to restore from backup set
channel ch3: restoring datafile 00005 to H:\UCAS\ORADATA_2\UCAS_01.DBF
channel ch3: restoring datafile 00008 to G:\UCAS\ORADATA_2\GGS_DATA_01.DBF
channel ch3: restoring datafile 00011 to G:\UCAS\ORADATA_2\UCAS_DATA_02.DBF
channel ch3: restoring datafile 00012 to G:\UCAS\ORADATA_2\UCAS_INDEX_02.DBF
channel ch3: reading from backup piece F:\RMAN_BACKUP\BACKUP_DB_UCAS_S_754_P_1_T_1112789456
channel ch1: piece handle=F:\RMAN_BACKUP\BACKUP_DB_UCAS_S_755_P_1_T_1112789456 tag=FULL BACKUP
channel ch1: restored backup piece 1
channel ch1: restore complete, elapsed time: 00:04:35
channel ch2: piece handle=F:\RMAN_BACKUP\BACKUP_DB_UCAS_S_756_P_1_T_1112789456 tag=FULL BACKUP
channel ch2: restored backup piece 1
channel ch2: restore complete, elapsed time: 00:05:35
channel ch3: piece handle=F:\RMAN_BACKUP\BACKUP_DB_UCAS_S_754_P_1_T_1112789456 tag=FULL BACKUP
channel ch3: restored backup piece 1
channel ch3: restore complete, elapsed time: 00:07:46
Finished restore at 15-AUG-22

datafile 1 switched to datafile copy
input datafile copy RECID=13 STAMP=1112806911 file name=H:\UCAS\ORADATA_2\SYSTEM01.DBF
datafile 2 switched to datafile copy
input datafile copy RECID=14 STAMP=1112806911 file name=H:\UCAS\ORADATA_2\SYSAUX01.DBF
datafile 3 switched to datafile copy
input datafile copy RECID=15 STAMP=1112806911 file name=H:\UCAS\ORADATA_2\UNDOTBS01.DBF
datafile 4 switched to datafile copy
input datafile copy RECID=16 STAMP=1112806911 file name=H:\UCAS\ORADATA_2\USERS01.DBF
datafile 5 switched to datafile copy
input datafile copy RECID=17 STAMP=1112806911 file name=H:\UCAS\ORADATA_2\UCAS_01.DBF
datafile 6 switched to datafile copy
input datafile copy RECID=18 STAMP=1112806911 file name=H:\UCAS\ORADATA_2\UCAS_DATA_01.DBF
datafile 7 switched to datafile copy
input datafile copy RECID=19 STAMP=1112806911 file name=H:\UCAS\ORADATA_2\UCAS_INDEX_01.DBF
datafile 8 switched to datafile copy
input datafile copy RECID=20 STAMP=1112806911 file name=G:\UCAS\ORADATA_2\GGS_DATA_01.DBF
datafile 9 switched to datafile copy
input datafile copy RECID=21 STAMP=1112806911 file name=G:\UCAS\ORADATA_2\TELEX_01.DBF
datafile 10 switched to datafile copy
input datafile copy RECID=22 STAMP=1112806911 file name=G:\UCAS\ORADATA_2\UCAS_02.DBF
datafile 11 switched to datafile copy
input datafile copy RECID=23 STAMP=1112806912 file name=G:\UCAS\ORADATA_2\UCAS_DATA_02.DBF
datafile 12 switched to datafile copy
input datafile copy RECID=24 STAMP=1112806912 file name=G:\UCAS\ORADATA_2\UCAS_INDEX_02.DBF
released channel: ch1
released channel: ch2
released channel: ch3

RMAN>

RMAN>

Βήμα 5. Δοκιμάστε να ανοίξετε το DB με την επιλογή resetlogs: Μόλις ολοκληρωθεί η επαναφορά. Προσπαθήστε να ανοίξετε τη βάση δεδομένων με επαναρυθμίσεις αρχείων επιλογή, αυτή η εντολή απέτυχε. Ως επανάληψη της θέσης καταγραφής εγγεγραμμένος σε αρχείο ελέγχου δεν υπάρχει στον διακομιστή προορισμού.

SQL>
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
H:\UCAS\ORADATA_2\SYSTEM01.DBF
H:\UCAS\ORADATA_2\SYSAUX01.DBF
H:\UCAS\ORADATA_2\UNDOTBS01.DBF
H:\UCAS\ORADATA_2\USERS01.DBF
H:\UCAS\ORADATA_2\UCAS_01.DBF
H:\UCAS\ORADATA_2\UCAS_DATA_01.DBF
H:\UCAS\ORADATA_2\UCAS_INDEX_01.DBF
G:\UCAS\ORADATA_2\GGS_DATA_01.DBF
G:\UCAS\ORADATA_2\TELEX_01.DBF
G:\UCAS\ORADATA_2\UCAS_02.DBF
G:\UCAS\ORADATA_2\UCAS_DATA_02.DBF
G:\UCAS\ORADATA_2\UCAS_INDEX_02.DBF

12 rows selected.

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
G:\UCAS\ORADATA_2\CONTROL01.CTL
H:\UCAS\ORADATA_2\CONTROL02.CTL

SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/data02/oradata_1/redo07.log
/data02/oradata_1/redo06.log
/data01/oradata_1/redo05.log
/data01/oradata_1/redo04.log

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-00344: unable to re-create online log '/data01/oradata_1/redo04.log'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) The system cannot find the path specified.


SQL>

Βήμα 6. Μετονομασία αρχείου καταγραφής: Ας προσπαθήσουμε να μετονομάσουμε το αρχείο καταγραφής με μετονομάζω εντολή. Όμως όλες οι παρακάτω εντολές απέτυχαν.

SQL>
SQL> 
SQL> alter database rename file '/data02/oradata_1/redo07.log' to 'H:\UCAS\ORADATA_2\redo07.log';
alter database rename file '/data02/oradata_1/redo07.log' to 'H:\UCAS\ORADATA_2\redo07.log'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01516: nonexistent log file, data file, or temporary file "/data02/oradata_1/redo07.log"


SQL> show parameter log_file_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert                string      /data01/oradata_1/, G:\UCAS\OR
                                                 ADATA_1\, /data02/oradata_1/,
                                                 H:\UCAS\ORADATA_1\
SQL> alter database clear logfile group 4;
alter database clear logfile group 4
*
ERROR at line 1:
ORA-00344: unable to re-create online log '/data01/oradata_1/redo04.log'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) The system cannot find the path specified.


SQL>
SQL>
SQL>  alter database clear unarchived logfile group 4  ;
 alter database clear unarchived logfile group 4
*
ERROR at line 1:
ORA-00344: unable to re-create online log '/data01/oradata_1/redo04.log'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) The system cannot find the path specified.


SQL>

Βήμα 7. Δημιουργήστε ξανά το αρχείο ελέγχου: Αντιγράφων ασφαλείας αρχείο ελέγχου προς την ίχνος και ενημερώστε το redologfile θέση στο αρχείο παρακολούθησης. Και αναδημιουργήστε το αρχείο ελέγχου.

SQL>
SQL> alter database backup controlfile to trace as 'F:\rman_backup\ucas_ctl.trc';

Database altered.

SQL> shut immediate;
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL>exit
F:\>
F:\>cd F:\rman_backup

F:\rman_backup>
F:\rman_backup>
F:\rman_backup>dir
 Volume in drive F is DB GG Soft
 Volume Serial Number is A602-E2D7

 Directory of F:\rman_backup

08/16/2022  01:34 PM    <DIR>          .
08/16/2022  01:34 PM    <DIR>          ..
08/15/2022  02:01 PM     2,830,704,640 backup_db_UCAS_S_754_P_1_T_1112789456
08/15/2022  02:02 PM     1,601,331,200 backup_db_UCAS_S_755_P_1_T_1112789456
08/15/2022  02:02 PM     1,800,183,808 backup_db_UCAS_S_756_P_1_T_1112789456
08/15/2022  02:00 PM         1,261,568 ctl_db_UCAS_S_757_P_1_T_1112789852
08/16/2022  01:35 PM               968 UCAS_CTL.TRC
               5 File(s)  6,233,482,184 bytes
               2 Dir(s)  197,816,340,480 bytes free

F:\rman_backup>type UCAS_CTL.TRC
CREATE CONTROLFILE REUSE DATABASE "UCAS" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 1168
LOGFILE
  GROUP 4 'H:\UCAS\ORADATA_2\redo04.log'  SIZE 500M BLOCKSIZE 512,
  GROUP 5 'H:\UCAS\ORADATA_2\redo05.log'  SIZE 500M BLOCKSIZE 512,
  GROUP 6 'H:\UCAS\ORADATA_2\redo06.log'  SIZE 500M BLOCKSIZE 512,
  GROUP 7 'H:\UCAS\ORADATA_2\redo07.log'  SIZE 500M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  'H:\UCAS\ORADATA_2\SYSTEM01.DBF',
  'H:\UCAS\ORADATA_2\SYSAUX01.DBF',
  'H:\UCAS\ORADATA_2\UNDOTBS01.DBF',
  'H:\UCAS\ORADATA_2\USERS01.DBF',
  'H:\UCAS\ORADATA_2\UCAS_01.DBF',
  'H:\UCAS\ORADATA_2\UCAS_DATA_01.DBF',
  'H:\UCAS\ORADATA_2\UCAS_INDEX_01.DBF',
  'G:\UCAS\ORADATA_2\GGS_DATA_01.DBF',
  'G:\UCAS\ORADATA_2\TELEX_01.DBF',
  'G:\UCAS\ORADATA_2\UCAS_02.DBF',
  'G:\UCAS\ORADATA_2\UCAS_DATA_02.DBF',
  'G:\UCAS\ORADATA_2\UCAS_INDEX_02.DBF'
CHARACTER SET AL32UTF8
;
F:\rman_backup>
SQL> startup nomount;
ORACLE instance started.

Total System Global Area 1.0255E+10 bytes
Fixed Size                  2290120 bytes
Variable Size            1845497400 bytes
Database Buffers         8388608000 bytes
Redo Buffers               18817024 bytes
SQL>
SQL>
SQL> @F:\rman_backup\UCAS_CTL.TRC

Control file created.

SQL>
SQL>
SQL> select member from v$logfile;

MEMBER
----------------------------------------------------------------------
H:\UCAS\ORADATA_2\REDO07.LOG
H:\UCAS\ORADATA_2\REDO06.LOG
H:\UCAS\ORADATA_2\REDO05.LOG
H:\UCAS\ORADATA_2\REDO04.LOG

SQL> 

Βήμα 8. Ανοίξτε την επιλογή db with resetlogs: Μια φορά αρχείο ελέγχου αναδημιουργείται ανοιχτό DB με το επαναρυθμίσεις αρχείων επιλογή.

SQL>
SQL> alter database open resetlogs;

Database altered.

SQL>
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>

Αυτό το έγγραφο είναι μόνο για μαθησιακούς σκοπούς και επικυρώνεται πάντα στο περιβάλλον LAB πρώτα πριν από την εφαρμογή στο περιβάλλον LIVE.


Ελπίζω να σας αρέσει αυτό το άρθρο
!
Μοιραστείτε τα πολύτιμα σχόλια/σχόλιά σας/Εγγραφείτε και ακολουθήστε μας παρακάτω και μην ξεχάσετε να κάνετε κλικ στο εικονίδιο του κουδουνιού για να λάβετε την πιο πρόσφατη ενημέρωση. Κάντε κλικ εδώ για να κατανοήσετε περισσότερα για την επιδίωξή μας.

Σχετικά Άρθρα

14 Συνολικές προβολές, 8 Προβολές Σήμερα

παρόμοιες αναρτήσεις

Schreibe einen Kommentar