分类: Oracle
2008-04-15 12:50:37
来源:赛迪网 作者:Franklin |
然后重新执行如下语句mount数据库:
SVRMGR>startup mount。
<2> 修改数据库文件的路径
如果在上述的步骤3中修改了恢复的数据库文件的路径,可以用如下语句对数据库文件重新命名 :
alter database rename file 'old_file' to 'new_file';
如把原来路径/home/oracle/app/oracle/oradata/ora816下的文件system01.dbf改到了/u21/oracle/app/oracle/oradata/ora816下:
SVRMGR>alter database rename file
'/home/oracle/app/oracle/oradata/ora816/system01.dbf'
to '/u21/oracle/app/oracle/oradata/ora816/system01.dbf';
按照上面的方法把所有修改路径的数据库文件重新命名。
<3> 根据控制文件和归档日志文件恢复数据库
下面开始用控制文件和归档日志文件恢复数据库:
SVRMGR>recover database using backup controlfile until cancel;
出现如下提示:
ORA-00279: change 50971 generated at 08/23/2002 09:21:27 needed for thread 1
ORA-00289: suggestion: /home/oracle/app/oracle/admin/ora8/arch/arch_1_399.arc
ORA-00280: change 50971 for thread 1 is in sequence #399
Specify log: {=suggested | filename | AUTO | CANCEL}输入:
auto
如果有如下提示,则表示成功。
ORA-00279: change 51007 generated at 08/23/2002 11:23:13 needed for thread 1
ORA-00289: suggestion: /home/oracle/app/oracle/admin/ora8/arch/arch_1_400.arc
ORA-00280: change 51007 for thread 1 is in sequence #400
ORA-00278: log file '/home/oracle/app/oracle/admin/ora8/arch/arch_1_399.arc' noy
Log applied.
意外处理:如果其它提示可能是需要的日志文件不存在,检查ORA-00289中该文件是否存在。
直到出现如下提示:
ORA-00279: change 51011 generated at 08/23/2002 11:23:45 needed for thread 1
ORA-00289: suggestion: /home/oracle/app/oracle/admin/ora8/arch/arch_1_401.arc
ORA-00280: change 51011 for thread 1 is in sequence #401
ORA-00278: log file '/home/oracle/app/oracle/admin/ora8/arch/arch_1_400.arc' noy
ORA-00308: cannot open archived log '/home/oracle/app/oracle/admin/ora8/arch
/arch_1_401.arc'
ORA-27037: unable to obtain file status
Intel SVR4 UNIX Error: 2: No such file or directory
Additional information: 3
<4> 重置日志
SVRMGR>alter database open resetlogs;
意外处理:如果提示创建日志的路径不存在,按提示路径创建目录。然后再重置日志。
<5> 重启数据库,完成恢复
SVRMGR>shutdown immediate
SVRMGR>startup
ORACLE instance started.
Total System Global Area 123437040 bytes
Fixed Size 69616 bytes
Variable Size 106418176 bytes
Database Buffers 16777216 bytes
Redo Buffers 172032 bytes
Database mounted.
Database opened.
数据库正常打开,数据库重建恢复成功。
2. Oracle9i RMAN 备份及恢复步骤
在这里没有讨论多么深入的RMAN技术,也没有告诉大家这样去编写备份脚本,这并不是我的初衷,我只想把我会的写出来,和大家一起学习,一起进步,谢谢。
1、切换服务器归档模式,如果已经是归档模式可跳过此步:
%sqlplus /nolog (启动sqlplus)
SQL> conn / as sysdba (以DBA身份连接数据库)
SQL> shutdown immediate; (立即关闭数据库)
SQL> startup mount (启动实例并加载数据库,但不打开)
SQL> alter database archivelog; (更改数据库为归档模式)
SQL> alter database open; (打开数据库)
SQL> alter system archive log start; (启用自动归档)
SQL> exit (退出)
2、连接:
%rman target=rman/rman@mydb (启动恢复管理器)
3、基本设置:
RMAN> configure default device type to disk; (设置默认的备份设备为磁盘)
RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数)
RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)
RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)
RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份)
RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式)
4、查看所有设置:
RMAN> show all
5、查看数据库方案报表:
RMAN> report schema;
6、备份全库:
RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志) |