Oracle9i新特点:SPFILE的使用
--How to backup and restore spfile and controlfile using autobackup option
Last Updated: Wednesday, 2004-10-27 0:40 Eygle
本文发表于itpub技术丛书《Oracle数据库DBA专题技术精粹》,未经许可,严禁转载本文.
原文出处:
http://www.eygle.com/faq/Oracle9i.New.Feature.Spfile.04.htm
六. SPFILE的备份与恢复
在本文开篇我们提到,Oracle把Spfile也纳入到Rman的备份恢复策略当中,如果你配置了控制文件自动备份(autoback),那么Oracle会
在数据库发生重大变化(如增减表空间)时自动进行控制文件及Spfile文件的备份。
下面我们来看一下这个过程:
a. 设置控制文件自动备份:
[oracle@jumper oracle]$ rman target /
Recovery Manager: Release 9.2.0.3.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: HSJF (DBID=1052178311)
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
using target database controlfile instead of recovery catalog
old RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP OFF;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN> exit
这个设置可以在数据库中通过如下方式查询得到:
[oracle@jumper bdump]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.3.0 - Production on Sat Jan 17 01:08:05 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.3.0 - Production
SQL> select * from v$rman_configuration;
CONF# NAME VALUE
---------- ------------------------- ----------
1 CONTROLFILE AUTOBACKUP ON
b. 记录数据库变化
SQL> create tablespace eygle
2 datafile '/data1/oracle/oradata/eygle01.dbf'
3 size 5M;
Tablespace created.
如果新创建一个表空间,这时候检查alert
1<sid>.log文件,你可以在其中发现这样的备份信息:
2
3
4Sat Jan 17 00:55:57 2004
5Starting control autobackup
6Control autobackup written to DISK device
7handle '/opt/oracle/product/9.2.0/dbs/c-1052178311-20040117-00'
8Completed: create tablespace eygle
9datafile '/data1/oracle/oradata/eygle01.dbf’
10
11
12
13如果使用rman进行备份,在提示中你可以看到如下信息:
14
15
16
17RMAN> configure controlfile autobackup on;
18
19old RMAN configuration parameters:
20CONFIGURE CONTROLFILE AUTOBACKUP OFF;
21new RMAN configuration parameters:
22CONFIGURE CONTROLFILE AUTOBACKUP ON;
23new RMAN configuration parameters are successfully stored
24
25RMAN> run
262> {
273> allocate channel ch1 type disk format='e:\oracle\orabak\penny%t.arc';
284> backup archivelog all delete all input;
295> release channel ch1;
306> }
31
32allocated channel: ch1
33channel ch1: sid=13 devtype=DISK
34
35Starting backup at 02-DEC-03
36current log archived
37channel ch1: starting archive log backupset
38channel ch1: specifying archive log(s) in backup set
39input archive log thread=1 sequence=63 recid=168 stamp=511712617
40input archive log thread=1 sequence=64 recid=169 stamp=511712620
41input archive log thread=1 sequence=65 recid=170 stamp=511712626
42input archive log thread=1 sequence=66 recid=171 stamp=511712690
43channel ch1: starting piece 1 at 02-DEC-03
44channel ch1: finished piece 1 at 02-DEC-03
45piece handle=E:\ORACLE\ORABAK\PENNY511712693.ARC comment=NONE
46channel ch1: backup set complete, elapsed time: 00:00:03
47channel ch1: deleting archive log(s)
48archive log filename=E:\ORACLE\ORADATA\PENNY\ARCHIVE_63.DBF recid=168 stamp=511712617
49archive log filename=E:\ORACLE\ORADATA\PENNY\ARCHIVE_64.DBF recid=169 stamp=511712620
50archive log filename=E:\ORACLE\ORADATA\PENNY\ARCHIVE_65.DBF recid=170 stamp=511712626
51archive log filename=E:\ORACLE\ORADATA\PENNY\ARCHIVE_66.DBF recid=171 stamp=511712690
52Finished backup at 02-DEC-03
53
54Starting Control File and SPFILE Autobackup at 02-DEC-03
55piece handle=E:\ORACLE\ORA92\DATABASE\C-3627775766-20031202-01 comment=NONE
56Finished Control File and SPFILE Autobackup at 02-DEC-03
57
58released channel: ch1
59
60
61
62
63
64我们简单看一下自动备份的控制文件及spfile文件的格式及命名规则:
65c-IIIIIIIIII-YYYYMMDD-QQ
66c ------------------------控制文件
67IIIIIIIIII---------DBID
68YYYYMMDD------------时间戳
69QQ----------------------序号00-FF,16进制表示
70
71
72
73c. 使用自动备份恢复spfile文件
74
75
76
77
78
79[oracle@jumper bdump]$ rman target /
80
81Recovery Manager: Release 9.2.0.3.0 - Production
82
83Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
84
85connected to target database: HSJF (DBID=1052178311)
86
87RMAN> restore spfile to '/tmp/spfileeygle.ora' from autobackup;
88
89Starting restore at 17-JAN-04
90
91using target database controlfile instead of recovery catalog
92allocated channel: ORA_DISK_1
93channel ORA_DISK_1: sid=18 devtype=DISK
94channel ORA_DISK_1: looking for autobackup on day: 20040117
95channel ORA_DISK_1: autobackup found: c-1052178311-20040117-01
96channel ORA_DISK_1: SPFILE restore from autobackup complete
97Finished restore at 17-JAN-04
98
99RMAN> exit
100
101
102Recovery Manager complete.
103[oracle@jumper bdump]$ ls -l /tmp/spfileeygle.ora
104-rw-r----- 1 oracle dba 3584 1月 17 09:34 /tmp/spfileeygle.ora
105
106
107
108你同样可以通过这种方法恢复控制文件,示例如下:
109
110
111
112
113
114[oracle@jumper bdump]$ rman target /
115
116Recovery Manager: Release 9.2.0.3.0 - Production
117
118Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
119
120connected to target database: HSJF (DBID=1052178311)
121
122RMAN> restore controlfile to '/tmp/control01.ctl' from autobackup;
123
124Starting restore at 17-JAN-04
125
126using target database controlfile instead of recovery catalog
127allocated channel: ORA_DISK_1
128channel ORA_DISK_1: sid=10 devtype=DISK
129channel ORA_DISK_1: looking for autobackup on day: 20040117
130channel ORA_DISK_1: autobackup found: c-1052178311-20040117-02
131channel ORA_DISK_1: controlfile restore from autobackup complete
132Finished restore at 17-JAN-04
133
134RMAN> exit
135
136
137Recovery Manager complete.
138[oracle@jumper bdump]$ ls -l /tmp/control*
139-rw-r----- 1 oracle dba 1892352 1月 17 09:44 /tmp/control01.ctl
140
141
142
143Oracle9i自动备份控制文件的功能给我们带来了极大的收益,通过自动备份,在数据库出现紧急状况的时候,你可能可以从这个自动备份中获得更
144为有效及时的控制文件.
145
146缺省的,这个自动备份功能是关闭的,你可以用我们上面提到的方法打开该功能.
147
148
149
150
151
152<<上一页 下一页>>
153
154
155
156本文作者:
157eygle,Oracle技术关注者,来自中国最大的Oracle技术论坛itpub.
158www.eygle.com是作者的个人站点.你可通过[email protected]来联系作者.欢迎技术探讨交流以及链接交换.
159
160原文出处:
161
162http://www.eygle.com/faq/Oracle9i.New.Feature.Spfile.04.htm</sid>