oracle10g_rman_syntac testing_set newname_switch tempfile_datafile_all_tag
Specify that a datafile copy is now the current datafile, that is, the datafile pointed to by the control file.
This command is equivalent to the SQL statement ALTER DATABASE RENAME FILE as it applies to datafiles.
Keywords and Parameters
switch
Syntax Element | Description |
---|---|
DATABASE TO COPY | Renames the datafiles and control
files to use the filenames of image copies of these files. RMAN switches to the
latest image copy of each file.
After a database switch, RMAN considers the previous database files as datafile copies. |
DATAFILE TO COPY | Specifies the datafile that you
wish to rename. As with DATABASE TO COPY, specifies to switch this
datafile to the latest image copy.
After the switch, the control file no longer considers the specified file as current. |
TABLESPACE 'tablespace_name' TO COPY | Switches all datafiles within the tablespace, as with SWITCH DATAFILE ... TO COPY. |
switchFile
Syntax Element | Description |
---|---|
DATAFILE ALL | Specifies that all datafiles for which a NEWNAME FOR DATAFILE command has been issued in this job are switched to their new name. |
DATAFILE TO DATAFILECOPY {'filename' | TAG = 'tag_name' } | Specifies the datafile that you
wish to rename. After the switch, the control file no longer considers the
specified file as current. For example, this command points the control file
from tbs_1.f to cp1.f: SWITCH DATAFILE '?/dbs/tbs_1.f' TO DATAFILECOPY '?/dbs/copies/cp1.f'; If you do not specify a TO option, then RMAN uses the filename specified on a prior NEWNAME command in the RUN block for this file number as the switch target. The filename or tag provided in the TO DATAFILECOPY clause specifies the input copy file for the switch, that is, the datafile copy that you wish to rename. Specify the file by filename or tag. For example, the following command sets df2.copy as the filename for datafile 2: SWITCH DATAFILE 2 TO DATAFILECOPY '?/dbs/df2.copy'; Note that if you specify a tag and more than one copy uses this tag name, then RMAN uses the most current copy, that is, the one needing the least recovery. The following command switches datafile 3 to the most recently created datafile copy tagged mondayPMcopy: SWITCH DATAFILE 3 TO DATAFILECOPY TAG mondayPMcopy; |
TEMPFILE ALL | Specifies that all tempfiles for which a NEWNAME FOR TEMPFILE command has been issued in this job are switched to their new name. |
TEMPFILE tempFileSpec TO { quoted_string | NEW | With quoted_string, renames the specified tempfile to the name specified by quoted_string. With NEW, renames the specified tempfile to an OMF filename in DB_CREATE_FILE_DEST. The tempfile is created when the database is opened, if it does not exist. |
Examples
Switching Datafile Filenames After a Restore: Example
This example allocates one disk device and one tape device to allow RMAN to restore from disk and tape.
RUN
{
ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev2 DEVICE TYPE sbt;
SQL "ALTER TABLESPACE tbs_1 OFFLINE IMMEDIATE";
SET NEWNAME FOR DATAFILE '/disk7/oracle/tbs11.f'
TO '/disk9/oracle/tbs11.f';
RESTORE TABLESPACE tbs_1;
SWITCH DATAFILE ALL;
RECOVER TABLESPACE tbs_1;
SQL "ALTER TABLESPACE tbs_1 ONLINE";
}
Renaming a Tempfile Directly Using SWITCH TEMPFILE: Example
This example renames a tempfile without using the SET NEWNAME command to specify the new name for the file. Note that the database must not be open for this operation.
RUN
{
SWITCH TEMPFILE 1 TO '/newdisk/dbs/temp1.f';
}
Renaming a Tempfile Using SET NEWNAME and SWITCH TEMPFILE: Example
This example demonstrates using SET NEWNAME to specify a new name for a tempfile, and SWITCH to actually rename the tempfile to the specified name. Note that the database is not open at the start of this procedure. The tempfile is re-created when the database is opened.
RUN
{
SET NEWNAME FOR TEMPFILE 1 TO '/newdisk/dbs/temp1.f';
SWITCH TEMPFILE 1;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN;
}
Renaming Tempfiles Using SET NEWNAME and SWITCH TEMPFILE ALL: Example
This example demonstrates using SET NEWNAME to specify new names for several tempfiles, and SWITCH TEMPFILE ALL to actually rename the tempfiles to the specified names. The database must be offline at the beginning of this procedure. The tempfiles are re-created at the new locations when the database is opened.
RUN
{
SET NEWNAME FOR TEMPFILE 1 TO '/newdisk/dbs/temp1.f';
SET NEWNAME FOR TEMPFILE 2 TO '/newdisk/dbs/temp2.f';
SET NEWNAME FOR TEMPFILE 3 TO NEW; #use OMF for this one
SWITCH TEMPFILE ALL;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN;
}
Renaming Tempfiles Using SET NEWNAME and SWITCH TEMPFILE ALL: Example
This example illustrates specifying names for tempfiles when duplicating a database for standby.
RUN
{
SET NEWNAME FOR TEMPFILE 1 TO '/newdisk/dbs/temp1.f';
SET NEWNAME FOR TEMPFILE 2 TO '/newdisk/dbs/temp2.f';
SET NEWNAME FOR TEMPFILE 3 TO '/newdisk/dbs/temp3.f';
DUPLICATE DATABASE FOR STANDBY;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-615574/,如需轉載,請註明出處,否則將追究法律責任。