session 1:
SQL> alter tablespace users offline;
表空间已更改。
SQL> select *from t2;
select *from t2
*
第 1 行出现错误:
ORA-00376: 此时无法读取文件 11
ORA-01110: 数据文件 11: 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS02.DBF'
SQL> alter tablespace users online;
表空间已更改。
SQL> select *from t2;
ID
----------
1
2
3
4
5
6
已选择6行。
SQL> select group#,status,sequence# ,archived,thread#,first_change# from v$log;
GROUP# STATUS SEQUENCE# ARC THREAD# FIRST_CHANGE#
---------- ---------------- ---------- --- ---------- -------------
1 CURRENT 93 NO 1 705195
4 INACTIVE 92 YES 1 705056
SQL> insert into t2 values(7);
已创建 1 行。
SQL> select start_scnb from v$transaction;
START_SCNB
----------
706068
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系统已更改。
SQL> select sequence#,first_change#,next_change# last_change# from v$archived_lo
g where sequence#=93;
SEQUENCE# FIRST_CHANGE# LAST_CHANGE#
---------- ------------- ------------
93 705195 706114
SQL> insert into t2 values(8);
已创建 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系统已更改。
SQL> insert into t2 values(9);
已创建 1 行。
SQL> commit;
提交完成。
SQL> alter system switch logfile;
系统已更改。
SQL> insert into t2 values(10);
已创建 1 行。
SQL> commit;
提交完成。
SQL> insert into t2 values(11);
已创建 1 行。
SQL>
--=======================================
session 2:
SQL> alter tablespace users offline;
表空间已更改。
SQL> alter tablespace users online;
表空间已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 163577856 bytes
Fixed Size 1247876 bytes
Variable Size 83887484 bytes
Database Buffers 75497472 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 4: 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS01.DBF'
SQL> alter database datafile 4 offline;
数据库已更改。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 11 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 11: 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS02.DBF'
SQL> alter database datafile 11 offline;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> select *from t2;
select *from t2
*
第 1 行出现错误:
ORA-00376: 此时无法读取文件 11
ORA-01110: 数据文件 11: 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS02.DBF'
SQL> alter database datafile 4 online;
alter database datafile 4 online
*
第 1 行出现错误:
ORA-01113: 文件 4 需要介质恢复
ORA-01110: 数据文件 4: 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS01.DBF'
SQL> alter database datafile 11 online;
alter database datafile 11 online
*
第 1 行出现错误:
ORA-01113: 文件 11 需要介质恢复
ORA-01110: 数据文件 11: 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS02.DBF'
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
706372
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 706372
3 706372
4 706007
10 706372
11 706007
--recover database只能在mount状态下执行
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-01124: 无法恢复数据文件 1 - 文件在使用中或在恢复中
ORA-01110: 数据文件 1: 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSTEM01.DBF'
SQL> select sequence#,first_change#,next_change# from v$archived_log where next_
change#>=706007;
SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
93 705195 706114
94 706114 706133
95 706133 706140
SQL> recover datafile 4;
ORA-00279: 更改 706049 (在 09/11/2008 10:54:20 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC93_664888560_1
ORA-00280: 更改 706049 (用于线程 1) 在序列 #93 中
指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 706114 (在 09/11/2008 10:56:24 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC94_664888560_1
ORA-00280: 更改 706114 (用于线程 1) 在序列 #94 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC93_664888560_1'
已应用的日志。
完成介质恢复。
SQL> recover datafile 11;
ORA-00279: 更改 706049 (在 09/11/2008 10:54:20 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC93_664888560_1
ORA-00280: 更改 706049 (用于线程 1) 在序列 #93 中
指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 706114 (在 09/11/2008 10:56:24 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0ARCHIVELOGARC94_664888560_1
ORA-00280: 更改 706114 (用于线程 1) 在序列 #94 中
ORA-00278: 此恢复不再需要日志文件
'E:ORACLEPRODUCT10.2.0ARCHIVELOGARC93_664888560_1'
已应用的日志。
完成介质恢复。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
706372
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 706372
3 706372
4 706371
10 706372
11 706371
SQL> alter database datafile 4 online;
数据库已更改。
SQL> alter database datafile 11 online;
数据库已更改。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
706372
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 706372
3 706372
4 706752
10 706372
11 706758
SQL> alter system checkpoint;
系统已更改。
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
706789
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 706789
3 706789
4 706789
10 706789
11 706789
SQL> select *from t2;
ID
----------
1
2
3
4
5
6
7
8
9
10
已选择10行。
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19602/viewspace-1010547/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/19602/viewspace-1010547/