暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle的控制文件、数据文件、日志文件、spfile等的移动,备份和恢复

我的工作 2020-04-11
684

本文包括oracle的控制文件、数据文件、日志文件、spfile等的移动,备份和恢复操作。
查看controlfile信息
SQL> set linesize 180
SQL> col name format a50
SQL> select * from v$controlfile;
STATUS  NAME                                               IS_ BLOCK_SIZE FILE_SIZE_BLKS
------- -------------------------------------------------- --- ---------- --------------
        /u02/oradata/mesdb/control01.ctl                   NO       16384            944
        /u02/oradata/mesdb/control02.ctl                   NO       16384            944
        /u02/oradata/mesdb/control03.ctl                   NO       16384            944
查看控制文件信息
select * from v$controlfile;  
**************************************************************************
恢复控制文件
测试平台:10gR2 102040
1. 开启控制文件自动备份,并改变其默认备份路径。
2. 开启控制文件自动备份,控制文件自动备份的路径为默认。
3. 关闭控制文件自动备份,指定备份控制文件的存储位置。
1. 开启控制文件自动备份,并改变其默认备份路径。
connect target /  ;
connect catalog  rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
[oracle@testdb11 ~]$ ls /u02/backup_rman/xhdb/
c-3946220657-20100423-03.bus  db_0plbs6e0_1_1.bus
[oracle@testdb11 ~]$
SQL> select dbid from v$database;
      DBID
----------
3946220657
SQL>
##########################
##  未连接catalog的测试  ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target /
RMAN> set dbid=3946220657  /* 也可在nomount后设置  */
RMAN> startup nomount;     /* nomount后可以执行 show all,显示的全是默认配置; */
此时可以恢复controlfile的命令:
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore controlfile from autobackup;
}
RMAN> restore controlfile from '/u02/backup_rman/xhdb/c-3946220657-20100423-03.bus';
/* 注意这条命令在没有设置DBID的情况下也能执行 */
此时不能恢复controlfile的命令:
RMAN> restore controlfile;  
RMAN> restore controlfile from autobackup;
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore controlfile;
}
RMAN> alter database mount;  /* 或者执行 startup force mount; */
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open restlogs;
执行完open resetlogs命令前,数据库会自动备份当前的控制文件,如下所示:
Starting control autobackup
Control autobackup written to DISK device
        handle '/u02/backup_rman/xhdb/c-3946220657-20100424-00.bus'
Completed: alter database open resetlogs
##########################
##  连接到catalog的测试  ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target /  catalog  rman_102/PASSWORD@rmandb
RMAN> startup nomount;   /* nomount后可以执行 show all,显示的全是已配置的信息; */
此时可以恢复controlfile的命令:
RMAN> restore controlfile;  
RMAN> restore controlfile from autobackup;
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore controlfile;
}
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore controlfile from autobackup;
}
RMAN> restore controlfile from '/u02/backup_rman/xhdb/c-3946220657-20100423-03.bus';
以下步骤同上:
################################################################################################################
2. 开启控制文件自动备份,控制文件自动备份的路径为默认。
connect target /  ;
connect catalog  rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk clear;
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
##########################
##  未连接catalog的测试  ##
##########################
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
此时可以恢复controlfile的命令:
RMAN> restore controlfile from autobackup;
RMAN> restore controlfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_24/o1_mf_s_717184905_5x5jdbq3_.bkp';
此时不能恢复controlfile的命令:
RMAN> restore controlfile;
##########################
##  连接到catalog的测试  ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target /  catalog  rman_102/PASSWORD@rmandb
RMAN> startup nomount;
此时可以恢复controlfile的命令:
RMAN> restore controlfile;
RMAN> restore controlfile from autobackup;
RMAN> restore controlfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_24/o1_mf_s_717184905_5x5jdbq3_.bkp';
################################################################################################################
3. 关闭控制文件自动备份,指定备份控制文件的存储位置。
connect target /  ;
connect catalog  rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup off;
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
RMAN> backup current controlfile format '/u02/backup_rman/xhdb/ctl_%U.bus';
输出过程:
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
Starting backup at 24-APR-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/xhdb/system01.dbf
input datafile fno=00003 name=/u02/oradata/xhdb/sysaux01.dbf
input datafile fno=00005 name=/u02/oradata/xhdb/example01.dbf
input datafile fno=00006 name=/u02/oradata/xhdb/ts01.dbf
input datafile fno=00002 name=/u02/oradata/xhdb/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/xhdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 24-APR-10
channel ORA_DISK_1: finished piece 1 at 24-APR-10
piece handle=/u02/backup_rman/xhdb/db_0vlbv0l2_1_1.bus tag=TAG20100424T203130 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 24-APR-10
channel ORA_DISK_1: finished piece 1 at 24-APR-10
piece handle=/u02/backup_rman/xhdb/db_10lbv0mf_1_1.bus tag=TAG20100424T203130 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 24-APR-10
RMAN> backup current controlfile format '/u02/backup_rman/xhdb/ctl_%U.bus';
Starting backup at 24-APR-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 24-APR-10
channel ORA_DISK_1: finished piece 1 at 24-APR-10
piece handle=/u02/backup_rman/xhdb/ctl_11lbv0r4_1_1.bus tag=TAG20100424T203444 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 24-APR-10
RMAN>
##########################
##  未连接catalog的测试  ##
##########################
控制文件自动备份的路径为默认的情况下:
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
此时可以恢复controlfile的命令:
RMAN> restore controlfile from '/u02/backup_rman/xhdb/ctl_11lbv0r4_1_1.bus';
RMAN> restore controlfile from '/u02/backup_rman/xhdb/db_10lbv0mf_1_1.bus';
此时不能恢复controlfile的命令:
RMAN> restore controlfile;
RMAN> restore controlfile from autobackup;
##########################
##  连接到catalog的测试  ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target /  catalog  rman_102/PASSWORD@rmandb
RMAN> startup nomount;
此时可以恢复controlfile的命令:
RMAN> restore controlfile;    -- 读的是这个备份片/u02/backup_rman/xhdb/ctl_11lbv0r4_1_1.bus
RMAN> restore controlfile from '/u02/backup_rman/xhdb/ctl_11lbv0r4_1_1.bus';
RMAN> restore controlfile from '/u02/backup_rman/xhdb/db_10lbv0mf_1_1.bus';
此时不能恢复controlfile的命令:
RMAN> restore controlfile from autobackup;
#####################################################
查询确认数据文件、日志文件、控制文件
通过对数据字典DBA_DATA_FILES、V$LOGFILE、V$CONTROFILE 的查询确认数据文件、
日志文件、控制文件
select file_name from dba_data_files;
FILE_NAME
----------------------------------------------------------------
C:\OR ACLE\ORADATA\ORCL\SYSTEM01.DBF
C:\OR ACLE\ORADATA\ORCL\UNDOTBS01.DBF
select member from v$logfile;
C:\OR ACLE\ORADATA\ORCL\REDO03.LOG
C:\OR ACLE\ORADATA\ORCL\REDO02.LOG
select name from v$controlfile;
C:\OR ACLE\ORADATA\ORCL\CONTROL01.CTL
C:\OR ACLE\ORADATA\ORCL\CONTROL02.CTL
数据文件的移动和改名

(数据库打开状态下)
1.找到要移动的与表空间有关的文件
SQL> select file_name,bytes from dba_data_files where tablespace_name = 'USERS';
2.是表空间移动以便其可以移动,在这个阶段,用户将无法访问表空间
SQL> alter tablespace users offline;
3.用系统命令移动文件到新地点
4.在ORACLE中重命名
SQL> alter  database rename file  '/u03/oradata/rh1dev1/users02.dbf'  to  '/u04/oradata/rh1dev1/users02.dbf';
5.将表空间联机在线,以便用户访问。
SQL> alter tablespace users online;
6.通过重写日志切换循环,检查V$RECOVER_FILE和DBA_DATA_FILES 以确定移动是否成功。
SQL> alter system switch logfile;
SQL> select * from v$recover_file;
SQL> select file_name from dba_data_files where tablespace_name = 'USERS';
数据文件的移动和改名

(数据库关闭状态下)
在此情况下可以移动SYSTEM表空间
1.移动文件
2.在装配模式下打开数据库,这样文件就可以在 Oracle 内重命名。
SQL> startup mount
3.重命名文件
SQL> alter  database rename file  '/u03/oradata/rh1dev1/system01.dbf'  to  '/u04/oradata/rh1dev1/system01.dbf';
4.打开数据库,然后确定Oracle能在新地点访问到该文件。
SQL> alter database open;
SQL> select * from v$recover_file;
SQL> select file_name from dba_data_files where tablespace_name = 'SYSTEM';
移动数据文件
select d.name from v$datafile d join v$tablespace t using(ts#) where t.name = 'XPORT';
shutdown immediate;
! mv /u04/oradata/xport.dbf /u06/oradata
startup mount
alter database rename file '/u04/oradata/xport.dbf' to '/u06/oradata/xport.dbf';
alter database open;
alter database backup controlfile to trace;
移动数据文件不包括SYSTEM、SYSAUX、活动撤销表空间或临时表空间
alter tablespace xport offline;
! mv /u06/oradata/xport.dbf /u05/oradata/xport.dbf
alter tablespace xport rename datafile '/u06/oradata/xport.dbf' to '/u05/oradata/xport.dbf';
alter tablespace xport online;
调整数据文件的大小
SQL> alter database datafile  '/u03/oradata/rh1dev1/users02.dbf' resize 150M;
移动控制文件
SQL> select name, value from v$spparameter where name = 'control_files';
NAME VALUE
--------------- --------------------------------------------------
control_files /u01/app/oracle/oradata/control01.ctl
control_files /u01/app/oracle/oradata/control02.ctl
control_files /u01/app/oracle/oradata/control03.ctl
SQL> show parameter control_files
NAME TYPE VALUE
---------------- ----------- ------------------------------
control_files string /u01/app/oracle/oradata/contro
l01.ctl, /u01/app/orac le/orad
ata/control02.ctl, /u01/app/or
acle/oradata/control03.ctl
SQL> alter system set control_files = '/u02/oradata/control01.ctl','/u03/oradata/control02.ctl','/u04/oradata/control03.ctl' scope = spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> ! mv /u01/app/oracle/oradata/control01.ctl /u02/oradata
SQL> ! mv /u01/app/oracle/oradata/control02.ctl /u03/oradata
SQL> ! mv /u01/app/oracle/oradata/control03.ctl /u04/oradata
SQL> startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1299112 bytes
Variable Size 230690136 bytes
Database Buffers 184549376 bytes
Redo Buffers 6131712 bytes
Database mounted.
Database opened.
SQL> select name, value from v$spparameter where name = 'control_files';
NAME VALUE
--------------- --------------------------------------------------
control_files /u02/oradata/control01.ctl
control_files /u03/oradata/control02.ctl
control_files /u04/oradata/control03.ctl
SQL> show parameter control_files
NAME TYPE VALUE
---------------- ----------- ------------------------------
control_files string /u02/oradata/control01.ctl, /u03/oradata/control02.ctl, /u04/oradata/control03.ctl
undo的丢失与重建测试
1. 建立备份
2. 关闭数据库,并重命名一个undo文件
3. 启动数据库,并进行恢复
4. rman 重新进行备份
1. 建立备份
===========
[oracle@testdb11 ~]$ rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Fri Jul 24 13:37:52 2009
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
connected to target database: YWDB (DBID=2747957768)
RMAN> report schema;
using target database control file instead of recovery catalog
Report of database schema
List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    500      SYSTEM               ***     /u02/oradata/ywdb/system01.dbf
2    35       UNDOTBS1             ***     /u02/oradata/ywdb/undotbs01.dbf
3    370      SYSAUX               ***     /u02/oradata/ywdb/sysaux01.dbf
4    5        USERS                ***     /u02/oradata/ywdb/users01.dbf
5    100      EXAMPLE              ***     /u02/oradata/ywdb/example01.dbf
6    50       YZHQTS1              ***     /u02/oradata/ywdb/yzhqts1.dbf
7    50       YZHQTS2              ***     /u02/oradata/ywdb/yzhqts2.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /u02/oradata/ywdb/temp01.dbf
RMAN> backup database;
Starting backup at 24-JUL-09
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=141 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/ywdb/system01.dbf
input datafile fno=00003 name=/u02/oradata/ywdb/sysaux01.dbf
input datafile fno=00005 name=/u02/oradata/ywdb/example01.dbf
input datafile fno=00006 name=/u02/oradata/ywdb/yzhqts1.dbf
input datafile fno=00007 name=/u02/oradata/ywdb/yzhqts2.dbf
input datafile fno=00002 name=/u02/oradata/ywdb/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/ywdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 24-JUL-09
channel ORA_DISK_1: finished piece 1 at 24-JUL-09
piece handle=/u02/fra/YWDB/backupset/2009_07_24/o1_mf_nnndf_TAG20090724T133806_56ll5zdy_.bkp tag=TAG20090724T133806 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 24-JUL-09
channel ORA_DISK_1: finished piece 1 at 24-JUL-09
piece handle=/u02/fra/YWDB/backupset/2009_07_24/o1_mf_ncsnf_TAG20090724T133806_56ll7g28_.bkp tag=TAG20090724T133806 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 24-JUL-09
RMAN>
2. 关闭数据库,并重命名一个undo文件
[oracle@testdb11 ~]$ sqlplus "/as sysdba"
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> host
[oracle@testdb11 ~]$ cd /u02/oradata/ywdb/
[oracle@testdb11 ywdb]$ mv undotbs01.dbf  undotbs01.dbf.bk
[oracle@testdb11 ywdb]$ exit
exit
3. 启动数据库,并进行恢复
SQL> startup
ORACLE instance started.
Total System Global Area  692060160 bytes
Fixed Size                  1269376 bytes
Variable Size             507511168 bytes
Database Buffers          176160768 bytes
Redo Buffers                7118848 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
ORA-01110: data file 2: '/u02/oradata/ywdb/undotbs01.dbf'
SQL>
Fri Jul 24 13:44:39 2009
Database mounted in Exclusive Mode
Completed: ALTER DATABASE   MOUNT
Fri Jul 24 13:44:39 2009
ALTER DATABASE OPEN
Fri Jul 24 13:44:39 2009
Errors in file /u01/app/oracle/admin/ywdb/bdump/ywdb_dbw0_22030.trc:
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
ORA-01110: data file 2: '/u02/oradata/ywdb/undotbs01.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-1157 signalled during: ALTER DATABASE OPEN...
SQL> alter database datafile '/u02/oradata/ywdb/undotbs01.dbf' offline drop;
Database altered.
SQL> alter database open;
Database altered.
SQL> show parameter undo
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1
SQL> create undo tablespace undo datafile '/u02/oradata/ywdb/undo.dbf' size 10m;
Tablespace created.
SQL> select tablespace_name, contents from dba_tablespaces;
TABLESPACE_NAME                CONTENTS
------------------------------ ---------
SYSTEM                         PERMANENT
UNDOTBS1                       UNDO
SYSAUX                         PERMANENT
TEMP                           TEMPORARY
USERS                          PERMANENT
EXAMPLE                        PERMANENT
YZHQTS1                        PERMANENT
YZHQTS2                        PERMANENT
UNDO                           UNDO
9 rows selected.
SQL> show parameter undo
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1
SQL> alter system set undo_tablespace=undo;
System altered.
SQL> drop tablespace undotbs1;
Tablespace dropped.
SQL>
4. rman 重新进行备份
RMAN> report need backup;
using target database control file instead of recovery catalog
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------
8    0     /u02/oradata/ywdb/undo.dbf
RMAN> backup datafile '/u02/oradata/ywdb/undo.dbf';
Starting backup at 24-JUL-09
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00002 name=/u02/oradata/ywdb/undo.dbf
channel ORA_DISK_1: starting piece 1 at 24-JUL-09
channel ORA_DISK_1: finished piece 1 at 24-JUL-09
piece handle=/u02/fra/YWDB/backupset/2009_07_24/o1_mf_nnndf_TAG20090724T144944_56lpd8hr_.bkp tag=TAG20090724T144944 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 24-JUL-09
RMAN> report need backup;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of files with less than 1 redundant backups
File #bkps Name
---- ----- -----------------------------------------------------
恢复SPFILE
1. 开启控制文件自动备份,并改变其默认备份路径。
2. 开启控制文件自动备份,控制文件自动备份的路径为默认。
3. 关闭控制文件自动备份,指定SPFILE的存储位置。
1. 开启控制文件自动备份,并改变其默认备份路径。
connect target /  ;
connect catalog  rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
[oracle@testdb11 ~]$ ls /u02/backup_rman/xhdb/
c-3946220657-20100423-03.bus  db_0plbs6e0_1_1.bus
[oracle@testdb11 ~]$
SQL> select dbid from v$database;
      DBID
----------
3946220657
SQL>
##########################
##  未连接catalog的测试  ##
##########################
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/oracle/product/10.2.0/db_1/dbs/initxhdb.ora'
starting Oracle instance without parameter file for retrival of spfile
Oracle instance started
Total System Global Area     159383552 bytes
Fixed Size                     1266320 bytes
Variable Size                 58723696 bytes
Database Buffers              92274688 bytes
Redo Buffers                   7118848 bytes
RMAN>
此时可以恢复SPFILE的命令:
------------------------
RMAN> set dbid=3946220657
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile from autobackup;
}
RMAN> restore spfile from '/u02/backup_rman/xhdb/c-3946220657-20100425-00.bus';
/* 注意这条命令在没有设置DBID的情况下也能执行 */
RMAN> startup force nomount;  /* 恢复了spfile需要重新进行nomount操作 */
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile;
}
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile from autobackup;
}
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
##########################
##  连接到catalog的测试  ##
##########################
[oracle@testdb11 ~]$ rman target /  catalog  rman_102/PASSWORD@rmandb
RMAN> startup nomount;
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/oracle/product/10.2.0/db_1/dbs/initxhdb.ora'
starting Oracle instance without parameter file for retrival of spfile
Oracle instance started
Total System Global Area     159383552 bytes
Fixed Size                     1266320 bytes
Variable Size                 58723696 bytes
Database Buffers              92274688 bytes
Redo Buffers                   7118848 bytes
RMAN>
此时可以恢复SPFILE的命令:
-------------------------
RMAN> set dbid=3946220657
RMAN> restore spfile;  
RMAN> restore spfile from autobackup;
RMAN> restore spfile from '/u02/backup_rman/xhdb/c-3946220657-20100425-00.bus';
RMAN> startup force nomount;
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile;
}
run{
set controlfile autobackup format for device type disk to '/u02/backup_rman/xhdb/%F.bus';
restore spfile from autobackup;
}
RMAN> restore spfile from '/u02/backup_rman/xhdb/c-3946220657-20100425-00.bus';
################################################################################################################
2. 开启控制文件自动备份,控制文件自动备份的路径为默认。
connect target /  ;
connect catalog  rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup on;
RMAN> configure controlfile autobackup format for device type disk clear;
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
##########################
##  未连接catalog的测试  ##
##########################
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
此时可以恢复SPFILE的命令:
------------------------
RMAN> set dbid=3946220657
RMAN> restore spfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_25/o1_mf_s_717279099_5x8dcvyx_.bkp';
/* 注意这条命令在没有设置DBID的情况下也能执行 */
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
##########################
##  连接到catalog的测试  ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target /  catalog  rman_102/PASSWORD@rmandb
RMAN> startup nomount;
此时可以恢复SPFILE的命令:
------------------------
RMAN> set dbid=3946220657
RMAN> restore spfile;
RMAN> restore spfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_25/o1_mf_s_717279099_5x8dcvyx_.bkp';
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
RMAN> restore spfile from '/u01/app/oracle/flash_recovery_area/XHDB/autobackup/2010_04_25/o1_mf_s_717279099_5x8dcvyx_.bkp';
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile from autobackup;
#####################################################
3. 关闭控制文件自动备份,指定SPFILE的存储位置。
connect target /  ;
connect catalog  rman_102/PASSWORD@rmandb ;
RMAN> configure controlfile autobackup off;
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
RMAN> backup current controlfile format '/u02/backup_rman/xhdb/ctl_%U.bus';  -- 在此测试spfile可以不用执行
RMAN> backup spfile format '/u02/backup_rman/xhdb/spf_%U.bus';
输出过程:
RMAN> backup database format '/u02/backup_rman/xhdb/db_%U.bus';
Starting backup at 25-APR-10
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=137 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/xhdb/system01.dbf
input datafile fno=00003 name=/u02/oradata/xhdb/sysaux01.dbf
input datafile fno=00005 name=/u02/oradata/xhdb/example01.dbf
input datafile fno=00006 name=/u02/oradata/xhdb/ts01.dbf
input datafile fno=00002 name=/u02/oradata/xhdb/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/xhdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 25-APR-10
channel ORA_DISK_1: finished piece 1 at 25-APR-10
piece handle=/u02/backup_rman/xhdb/db_12lc1l7c_1_1.bus tag=TAG20100425T203452 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:46
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 25-APR-10
channel ORA_DISK_1: finished piece 1 at 25-APR-10
piece handle=/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus tag=TAG20100425T203452 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 25-APR-10
RMAN> backup current controlfile format '/u02/backup_rman/xhdb/ctl_%U.bus';
Starting backup at 25-APR-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 25-APR-10
channel ORA_DISK_1: finished piece 1 at 25-APR-10
piece handle=/u02/backup_rman/xhdb/ctl_14lc1l9e_1_1.bus tag=TAG20100425T203558 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 25-APR-10
RMAN> backup spfile format '/u02/backup_rman/xhdb/spf_%U.bus';
Starting backup at 25-APR-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 25-APR-10
channel ORA_DISK_1: finished piece 1 at 25-APR-10
piece handle=/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus tag=TAG20100425T203748 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 25-APR-10
RMAN>
##########################
##  未连接catalog的测试  ##
##########################
控制文件自动备份的路径为默认的情况下:
[oracle@testdb11 ~]$ rman target /
RMAN> startup nomount;
此时可以恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile from '/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus';
RMAN> restore spfile from '/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus';
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile from '/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus';
RMAN> restore spfile from '/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus';
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
##########################
##  连接到catalog的测试  ##
##########################
[oracle@testdb11 ~]$ echo $ORACLE_SID
xhdb
[oracle@testdb11 ~]$ rman target /  catalog  rman_102/PASSWORD@rmandb
RMAN> startup nomount;
此时可以恢复SPFILE的命令:
------------------------
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile;  /*  从这个备份片进行的恢复/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus  */
RMAN> restore spfile from '/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus';
RMAN> restore spfile from '/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus';
此时不能恢复SPFILE的命令:
------------------------
未设置DBID的情况下
RMAN> restore spfile;
RMAN> restore spfile from autobackup;
RMAN> restore spfile from '/u02/backup_rman/xhdb/spf_15lc1lct_1_1.bus';
RMAN> restore spfile from '/u02/backup_rman/xhdb/db_13lc1l8q_1_1.bus';
设置了DBID的情况下
RMAN> set dbid=3946220657
RMAN> restore spfile from autobackup;

欢迎关注我的公众号    扫描二维码或公众号搜索  “我的工作




文章转载自我的工作,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论