部分脱机备份、恢复大致过程!

讲课时随手记录的过程![@more@]

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值