分享
 
 
 

Oracle备份与恢复案例二

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

7、 检查数据库的数据(完全恢复)

SQL select * from test;

A

--------------------------------

1

2

说明:

1、采用热备份,需要运行在归档模式下,可以实现数据库的完全恢复,也就是说,从备份后到数据库崩溃时的数据都不会丢失;

2、可以采用全备份数据库的方式备份,对于非凡情况,也可以只备份特定的数据文件,如只备份用户表空间(一般情况下对于某些写非凡频繁的数据文件,可以单独加大备份频率);

3、假如在恢复过程中,发现损坏的是多个数据文件,即可以采用一个一个数据文件的恢复方法(第5步中需要对数据文件一一脱机,第6步中需要对数据文件分别恢复),也可以采用整个数据库的恢复方法;

4、假如是系统表空间的损坏,不能采用此方法。

4.2.2 RMAN备份方案

RMAN也可以进行联机备份,而且备份与恢复方法将比OS备份更简单可靠。

1、连接数据库,创建测试表并插入记录

SQL connect internal/passWord as sysdba;

Connected.

SQL create table test(a int) tablespace users;

Table created

SQL insert into test values(1);

1 row inserted

SQL commit;

Commit complete

2、 备份数据库表空间users

C:\rman

Recovery Manager: Release 8.1.6.0.0 - ProdUCtion

RMAN connect rcvcat rman/rman@back

RMAN-06008: connected to recovery catalog database

RMAN connect target internal/virpure

RMAN-06005: connected to target database: TEST (DBID=1788174720)

RMAN run{

2 allocate channel c1 type disk;

3 backup tag 'tsuser' format 'd:\backup\tsuser_%u_%s_%p'

4 tablespace users;

5 release channel c1;

6 }

RMAN-03022: compiling command: allocate

RMAN-03023: executing command: allocate

RMAN-08030: allocated channel: c1

RMAN-08500: channel c1: sid=16 devtype=DISK

RMAN-03022: compiling command: backup

RMAN-03025: performing implicit partial resync of recovery catalog

RMAN-03023: executing command: partial resync

RMAN-08003: starting partial resync of recovery catalog

RMAN-08005: partial resync complete

RMAN-03023: executing command: backup

RMAN-08008: channel c1: starting full datafile backupset

RMAN-08502: set_count=5 set_stamp=494177612 creation_time=16-MAY-03

RMAN-08010: channel c1: specifying datafile(s) in backupset

RMAN-08522: input datafile fno=00003 name=D:\Oracle\ORADATA\TEST\USER01.DBF

RMAN-08013: channel c1: piece 1 created

RMAN-08503: piece handle=D:\BACKUP\TSUSER_05EN93AC_5_1 comment=NONE

RMAN-08525: backup set complete, elapsed time: 00:00:01

RMAN-03023: executing command: partial resync

RMAN-08003: starting partial resync of recovery catalog

RMAN-08005: partial resync complete

RMAN-03022: compiling command: release

RMAN-03023: executing command: release

RMAN-08031: released channel: c1

RMAN

3、 继续在测试表中插入记录

SQL insert into test values(2);

1 row inserted

SQL commit;

Commit complete

SQL select * from test;

A

---------------------------------------

1

2

SQL alter system switch logfile;

System altered.

SQLr

1* alter system switch logfile;

System altered.

4、 关闭数据库,模拟丢失数据文件

SQL shutdown immediate;

Database closed.

Database dismounted.

Oracle instance shut down

C:\del D:\Oracle\ORADATA\TEST\USER01.DBF

5、 启动数据库,检查错误

SQL startup

Oracle instance started.

Total System Global Area102020364 bytes

Fixed Size70924 bytes

Variable Size85487616 bytes

Database Buffers 16384000 bytes

Redo Buffers77824 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 3 - see DBWR trace file

ORA-01110: data file 3: 'D:\Oracle\ORADATA\TEST\USER01.DBF'

6、 先打开数据库

SQL alter database datafile 3 offline drop;

Database altered.

SQL alter database open;

Database altered.

7、 恢复该表空间

恢复脚本可以是恢复单个数据文件

run{

allocate channel c1 type disk;

restore datafile 3;

recover datafile 3;

sql 'alter database datafile 3 online';

release channel c1;

}

也可以是,恢复表空间

run{

allocate channel c1 type disk;

restore tablespace users;

recover tablespace users;

sql 'alter database datafile 3 online';

release channel c1;

}

过程如下:

C:\rman

Recovery Manager: Release 8.1.6.0.0 - Production

RMAN connect rcvcat rman/rman@back

RMAN-06008: connected to recovery catalog database

RMAN connect target internal/virpure

RMAN-06005: connected to target database: TEST (DBID=1788174720)

RMAN run{

2 allocate channel c1 type disk;

3 restore datafile 3;

4 recover datafile 3;

5 sql 'alter database datafile 3 online';

6 release channel c1;

7 }

//输出内容冗长,省略--编者

RMAN

8、 检查数据是否完整

SQL alter database open;

Database altered.

SQL select * from test;

A

---------------------------------------

1

2

说明:

1、RMAN也可以实现单个表空间或数据文件的恢复,恢复过程可以在mount下或open方式下,假如在open方式下恢复,可以减少down机时间;

2、假如损坏的是一个数据文件,建议offline并在open方式下恢复;

3、这里可以看到,RMAN进行数据文件与表空间恢复的时候,代码都比较简单,而且能保证备份与恢复的可靠性,所以建议采用RMAN的备份与恢复.

4.3丢失多个数据文件,实现整个数据库的恢复.

4.3.1 OS备份方案

OS备份归档模式下损坏(丢失)多个数据文件,进行整个数据库的恢复

1、 连接数据库,创建测试表并插入记录

SQL connect internal/password as sysdba;

Connected.

SQL create table test(a int);

Table created

SQL insert into test values(1);

1 row inserted

SQL commit;

Commit complete

2、 备份数据库,备份除临时数据文件后的所数据文件

SQL @hotbak.sql 或在DOS下 svrmgrl @hotbak.sql

3、 继续在测试表中插入记录

SQL insert into test values(2);

1 row inserted

SQL commit;

Commit complete

SQL select * from test;

A

---------------------------------------

1

2

SQL alter system switch logfile;

System altered.

SQL alter system switch logfile;

System altered.

4、 关闭数据库,模拟丢失数据文件

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有