exam questions

Exam 1z0-053 All Questions

View all questions & answers for the 1z0-053 exam

Exam 1z0-053 topic 7 question 15 discussion

Actual exam question from Oracle's 1z0-053
Question #: 15
Topic #: 7
[All 1z0-053 Questions]

Your production database is functional on the SHOST1 host. You are backing up the production database by using Recovery Manager (RMAN) with the recovery catalog. You want to replicate the production database to anther host, SHOST2, for testing new applications.
After you ensured that the backups of the target database are accessible on the new host, what must you do to restore and recover the backup for the test environment?

  • A. Restoring the control file from the backup by using the NOCATALOG option to restore, and recovering the data files
  • B. Restoring the data files by using the NOCATALOG option and using the SET NEWNAME command to change the location
  • C. Restoring the server parameter file from the backup by using the recovery catalog to restore
  • D. Restoring the data files from the backup by using the recovery catalog to recover the files, and using the SWITCH command to change the location.
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️
To restore the database on a new host:
1. Ensure that the backups of the target database are accessible on the new host.
2. Configure the ORACLE_SID on hostb.
3. Start RMAN on hostb and connect to the target database without connecting to the recovery catalog.
For example, enter the following command:
% rman NOCATALOG

RMAN> CONNECT TARGET -
/
4. Set the DBID and start the database instance without mounting the database.
For example, run SET DBID to set the DBID, then run STARTUP NOMOUNT:
SET DBID 1340752057;

STARTUP NOMOUNT -
RMAN fails to find the server parameter file, which has not yet been restored, but starts the instance with a "dummy" file. Sample output follows: startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/net/hostb/oracle/dbs/inittrgta.ora' trying to start the Oracle instance without parameter files ...

Oracle instance started -
5. Restore and edit the server parameter file.
Allocate a channel to the media manager, then restore the server parameter file as a client-side parameter file and use the SET command to indicate the location of the autobackup (in this example, the autobackup is in /tmp):

RUN -
{
ALLOCATE CHANNEL c1 DEVICE TYPE sbt PARMS '...';
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/tmp/%F';

RESTORE SPFILE -
TO PFILE '?/oradata/test/inittrgta.ora'
FROM AUTOBACKUP;
SHUTDOWN ABORT;
}
6. Edit the restored initialization parameter file.
Change any location-specific parameters, for example, those ending in _DEST, to reflect the new directory structure. For example, edit the following parameters:
- IFILE
- LOG_ARCHIVE_DEST_1
- CONTROL_FILES
7. Restart the instance with the edited initialization parameter file.
For example, enter the following command:
STARTUP FORCE NOMOUNT PFILE='?/oradata/test/inittrgta.ora';
8. Restore the control file from an autobackup and then mount the database.
For example, enter the following command:

RUN -
{
ALLOCATE CHANNEL c1 DEVICE TYPE sbt PARMS '...';
RESTORE CONTROLFILE FROM AUTOBACKUP;
ALTER DATABASE MOUNT;
}
RMAN restores the control file to whatever locations you specified in the CONTROL_FILES initialization parameter.
9. Catalog the data file copies that you copied in "Restoring Disk Backups to a New Host", using their new file names or CATALOG START WITH (if you know all the files are in directories with a common prefix easily addressed with a CATALOG START WITH command). For example, run:
CATALOG START WITH '/oracle/oradata/trgt/';
If you want to specify files individually, then you can execute a CATALOG command as follows:

CATALOG DATAFILECOPY -
'/oracle/oradata/trgt/system01.dbf', '/oracle/oradata/trgt/undotbs01.dbf',
'/oracle/oradata/trgt/cwmlite01.dbf', '/oracle/oradata/trgt/drsys01.dbf',
'/oracle/oradata/trgt/example01.dbf', '/oracle/oradata/trgt/indx01.dbf',
'/oracle/oradata/trgt/tools01.dbf', '/oracle/oradata/trgt/users01.dbf';
10. Start a SQL*Plus session on the new database and query the database file names recorded in the control file.
Because the control file is from the trgta database, the recorded file names use the original hosta file names. You can query V$ views to obtain this information.
Run the following query in SQL*Plus:

COLUMN NAME FORMAT a60 -
SPOOL LOG '/tmp/db_filenames.out'
SELECT FILE# AS "File/Grp#", NAME

FROM V$DATAFILE -

UNION -

SELECT GROUP#,MEMBER -
FROM V$LOGFILE;

SPOOL OFF -

EXIT -
11. Write the RMAN restore and recovery script. The script must include the following steps: a. For each data file on the destination host that is restored to a different path than it had on the source host, use a SET NEWNAME command to specify the new path on the destination host. If the file systems on the destination system are set up to have the same paths as the source host, then do not use SET NEWNAME for those files restored to the same path as on the source host. b. For each online redo log that is to be created at a different location than it had on the source host, use SQL ALTER DATABASE RENAME FILE commands to specify the path name on the destination host. If the file systems on the destination system are set up to have the same paths as the source host, then do not use
ALTER DATABASE RENAME FILE for those files restored to the same path as on the source host. c. Perform a SET UNTIL operation to limit recovery to the end of the archived redo logs. The recovery stops with an error if no SET UNTIL command is specified. d. Restore and recover the database. e. Run the SWITCH DATAFILE ALL command so that the control file recognizes the new path names as the official new names of the data files.
Example 20-3 shows the RMAN script reco_test.rman that can perform the restore and recovery operation.
Example 20-3 Restoring a Database on a New Host:

RUN -
{
# allocate a channel to the tape device
ALLOCATE CHANNEL c1 DEVICE TYPE sbt PARMS '...';
# rename the data files and online redo logs
SET NEWNAME FOR DATAFILE 1 TO '?/oradata/test/system01.dbf';
SET NEWNAME FOR DATAFILE 2 TO '?/oradata/test/undotbs01.dbf';
SET NEWNAME FOR DATAFILE 3 TO '?/oradata/test/cwmlite01.dbf';
SET NEWNAME FOR DATAFILE 4 TO '?/oradata/test/drsys01.dbf';
SET NEWNAME FOR DATAFILE 5 TO '?/oradata/test/example01.dbf';
SET NEWNAME FOR DATAFILE 6 TO '?/oradata/test/indx01.dbf';
SET NEWNAME FOR DATAFILE 7 TO '?/oradata/test/tools01.dbf';
SET NEWNAME FOR DATAFILE 8 TO '?/oradata/test/users01.dbf';
SQL "ALTER DATABASE RENAME FILE ''/dev3/oracle/dbs/redo01.log''
TO ''?/oradata/test/redo01.log'' ";
SQL "ALTER DATABASE RENAME FILE ''/dev3/oracle/dbs/redo02.log''
TO ''?/oradata/test/redo02.log'' ";
# Do a SET UNTIL to prevent recovery of the online logs
SET UNTIL SCN 123456;
# restore the database and switch the data file names
RESTORE DATABASE;
SWITCH DATAFILE ALL;
# recover the database
RECOVER DATABASE;
}

EXIT -
12. Execute the script created in the previous step.
For example, start RMAN to connect to the target database and run the @ command:
% rman TARGET / NOCATALOG

RMAN> @reco_test.rman -
13. Open the restored database with the RESETLOGS option.
From the RMAN prompt, open the database with the RESETLOGS option:
ALTER DATABASE OPEN RESETLOGS;
Caution:
When you re-open your database in the next step, do not connect to the recovery catalog. Otherwise, the new database incarnation created is registered automatically in the recovery catalog, and the file names of the production database are replaced by the new file names specified in the script.
14. Optionally, delete the test database with all of its files.
Note:
If you used an ASM disk group, then the DROP DATABASE command is the only way to safely remove the files of the test database. If you restored to non-ASM storage then you can also use operating system commands to remove the database.
Use the DROP DATABASE command to delete all files associated with the database automatically. The following example deletes the database files:
STARTUP FORCE NOMOUNT PFILE='?/oradata/test/inittrgta.ora';
DROP DATABASE;
Because you did not perform the restore and recovery operation when connected to the recovery catalog, the recovery catalog contains no records for any of the restored files or the procedures performed during the test. Likewise, the control file of the trgta database is completely unaffected by the test.

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
Currently there are no comments in this discussion, be the first to comment!
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...