ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 归档路径更改后,如何对数据库进行恢复(转)

归档路径更改后,如何对数据库进行恢复(转)

原创 Linux操作系统 作者:zhouwf0726 时间:2019-06-07 10:36:06 0 删除 编辑
归档路径更改后,如何对数据库进行恢复?
有时候我们可能会因为磁盘空间的原因,对归档路径进行更改,那么这个时候应如何对数据库进行恢复呢?
下面的测试:
idle>drop tablespace test_dest including contents and datafiles;
表空间已丢弃。
idle>create tablespace test_dest datafile
2 'd:ora92oradataoracletest_dest01.dbf' size 5m;
表空间已创建。
idle>show parameter log_archive_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string D:ora92oradataoraclearchive
idle>alter system switch logfile;
系统已更改。
idle>alter system switch logfile;
系统已更改。
idle>alter system switch logfile;
系统已更改。
idle>alter system switch logfile;
系统已更改。
idle>alter system set log_archive_dest='D:ora92oradataoraclearchive_bak' scope=both;
系统已更改。
idle>alter system switch logfile;
系统已更改。
idle>alter system switch logfile;
系统已更改。
idle>alter system switch logfile;
系统已更改。
idle>alter system switch logfile;
系统已更改。
----切换归档路径后,再次switch logfile,使切换后的归档目录中有archive log(这样实例恢复的时候才会到此目录中去找归档日志)
idle>shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
---删除数据文件TEST_DEST01.DBF
idle>startup
ORACLE 例程已经启动。
Total System Global Area 80812656 bytes
Fixed Size 453232 bytes
Variable Size 58720256 bytes
Database Buffers 20971520 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'D:ORA92ORADATAORACLETEST_DEST01.DBF'
idle>alter database create datafile 'd:ora92oradataoracletest_dest01.dbf' as 'd:ora92oradataoracletest_dest01.dbf';
数据库已更改。
idle>show parameter log_archive_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string D:ora92oradataoraclearchive_bak
idle>recover datafile 6;
ORA-00279: 更改 1417082392 (在 07/25/2006 17:36:59 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORA92ORADATAORACLEARCHIVE_BAKARC_20_1.ARC
ORA-00280: 更改 1417082392 对于线程 1 是按序列 # 20 进行的
指定日志: {=suggested | filename | AUTO | CANCEL}
autoORA-00308: 无法打开存档日志 'D:ORA92ORADATAORACLEARCHIVE_BAKARC_20_1.ARC'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
ORA-00308: 无法打开存档日志 'D:ORA92ORADATAORACLEARCHIVE_BAKARC_20_1.ARC'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
---因为现在的归档日录是切换后的目录,而表空间test_dest创建信息是记录在切换之前的目录当中。
---切换后的目录当中,找不到那些归档日志。

---这里将归档路径修改为之前的路径.
idle>alter system set log_archive_dest='D:ora92oradataoraclearchive' scope=both;
系统已更改。
idle>recover datafile 6;
ORA-00279: 更改 1417082392 (在 07/25/2006 17:36:59 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORA92ORADATAORACLEARCHIVEARC_20_1.ARC
ORA-00280: 更改 1417082392 对于线程 1 是按序列 # 20 进行的
指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 1417082434 (在 07/25/2006 17:37:41 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORA92ORADATAORACLEARCHIVEARC_21_1.ARC
ORA-00280: 更改 1417082434 对于线程 1 是按序列 # 21 进行的
ORA-00278: 此恢复不再需要日志文件
'D:ORA92ORADATAORACLEARCHIVEARC_20_1.ARC'

ORA-00279: 更改 1417082436 (在 07/25/2006 17:37:42 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORA92ORADATAORACLEARCHIVEARC_22_1.ARC
ORA-00280: 更改 1417082436 对于线程 1 是按序列 # 22 进行的
ORA-00278: 此恢复不再需要日志文件
'D:ORA92ORADATAORACLEARCHIVEARC_21_1.ARC'

ORA-00279: 更改 1417082440 (在 07/25/2006 17:37:48 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORA92ORADATAORACLEARCHIVEARC_23_1.ARC
ORA-00280: 更改 1417082440 对于线程 1 是按序列 # 23 进行的
ORA-00278: 此恢复不再需要日志文件
'D:ORA92ORADATAORACLEARCHIVEARC_22_1.ARC'

ORA-00279: 更改 1417082442 (在 07/25/2006 17:37:50 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORA92ORADATAORACLEARCHIVEARC_24_1.ARC
ORA-00280: 更改 1417082442 对于线程 1 是按序列 # 24 进行的
ORA-00278: 此恢复不再需要日志文件
'D:ORA92ORADATAORACLEARCHIVEARC_23_1.ARC'

ORA-00308: 无法打开存档日志 'D:ORA92ORADATAORACLEARCHIVEARC_24_1.ARC'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
---因为arc_24在切换后的归档目录中,所以找不到该归档日志。
---再次将归档路径进行切换:idle>alter system set log_archive_dest='D:ora92oradataoraclearchive_bak' scope=both;
系统已更改。
idle>recover datafile 6;ORA-00279: 更改 1417082442 (在 07/25/2006 17:37:50 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORA92ORADATAORACLEARCHIVE_BAKARC_24_1.ARC
---- 要求接上之前的日志流。ORA-00280: 更改 1417082442 对于线程 1 是按序列 # 24 进行的

指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 1417082464 (在 07/25/2006 17:38:08 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORA92ORADATAORACLEARCHIVE_BAKARC_25_1.ARC
ORA-00280: 更改 1417082464 对于线程 1 是按序列 # 25 进行的
ORA-00278: 此恢复不再需要日志文件
'D:ORA92ORADATAORACLEARCHIVE_BAKARC_24_1.ARC'

已应用的日志。
完成介质恢复。
---至此,恢复完成。
idle>alter database open;
数据库已更改。
idle>select file_name,status from dba_data_files where file_id = 6;
FILE_NAME
--------------------------------------------------------------------------------
STATUS
---------
D:ORA92ORADATAORACLETEST_DEST01.DBF
AVAILABLE

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/756652/viewspace-242080/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: large pool
请登录后发表评论 登录
全部评论

注册时间:2006-02-22

  • 博文量
    458
  • 访问量
    416633