enmo_day_07

时间:2022-01-10 16:45:21

数据备份

物理备份 : 底层数据块

逻辑备份 :exp(export), imp(import) 导入导出工具,提取成dump文件,再将dump文件放入数据库

expdp, impdp 数据蹦

utilities手册里有

exp -help

which exp

exp SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)

expdp dbms_datapump : 支持断点续传

逻辑备份 :速度较物理备份慢, 但更精细

物理备份 :底层数据块的拷贝

LUN —> Storage

oracle凭借什么检查一个块是否物理损坏 :

db block 的结构 :块头SCN,块尾SCN(部分)值是否一致

check sum 值是否一致

oracle凭借什么检查一个块是否逻辑损坏 :

数据文件中的SCN和控制文件中的SCN是否一致

eg :

desc v$database; 描述反应控制文件内容的视图

select current_scn from v$database;

select checkpoint_change# from v$datafile;

select checkpoint_change#, last_change# from v$datafile;

select checkpoint_change# from v$datafile_header;

shu immediate

startup mount

desc v$database; 描述反应控制文件内容的视图

select current_scn from v$database;

select checkpoint_change# from v$datafile;

select checkpoint_change#, last_change# from v$datafile;

select checkpoint_change# from v$datafile_header;

shutdown transactional, immediate, normal 将数据库一致性关闭,以得到一致性SCN

alter database open;

shut abort

startup mount

select current_scn from v$database;

select checkpoint_change# from v$datafile;

select checkpoint_change#, last_change# from v$datafile;

select checkpoint_change# from v$datafile_header;

物理备份

冷备份 :用户管理 (shutdown immediate, cp)

热备份 :用户管理 (begin backup end backup)用户在表空间层面实施备份

alter database open;

desc dba_data_file

select file_id, file_name from dba_data_files;

shu immediate

start up mount

alter database atchivelog;

alter database open;

archive log list;

alter tablespace users begin backup;

note : 要想实现热备份,必须先启动归档模式。用户管理的

eg :

cd /u01/app/oracle/oradata/ENMOEDU/

ls

cp users01.dbf users01.dbf.bak

ls

rm -rf users01.dbf

ls

alter tablespace users end backup;

create table test (id number) tablespace suers;

insert into test values(1);

commit;

select * from test;

shu immediate

cp users01.dbf.bak users01.dbf;

alter database open;

recover datafile 4;

select * from test;

eg :

alter tablespace users begin backup;

insert into test values(2);

commit;

select * from test;

alter system switch logfile;

alter system switch logfile;

/

/

/

/

cd ..

cd fast_recovery_area/ENMOEDU/archivelog

cd 2015_07_25/

alter tablespace users end backup;

alter tablespace users begin backup; :user表空间的文件头被固定住

eg :

alter system switch logfile;

select file#, checkpoint_change# from v$datafiel_header;

alter system switch logfile;

select file#, checkpoint_change# from v$datafiel_header;

(4号文件头不变)

shu immediate

shu abort

startup

alter tablespace users end backup;

alter database open;

Rman : 备份管理工具,替代用户管理

rman

rman -help

rman 在oracle实例处于mount状态下可以做冷备份

rman做热备份 :backup database

SID设置的角色

eg :

rman target sys/oracle@ENMOEDU

backup database;

利旧

rman备份dbv校验

rman : 对datafile备份

archive : 对redolog备份

完全备份 :backup database(full),备份所有数据文件和控制文件

增量备份 :只备份发生改变的数据块(SCN发生变化的块,需检查所有数据块)

11g, 引入block change tracking块改变跟踪文件

差异增量备份 :备份上次备份以来的增量变化,备份块

累积增量备份 :备份到上一次全被的增量变化,恢复快

默认差异增量备份

0级增量备份效果等于全备份

1级增量备份表示

备份集 : 把多个datafile打包到一个tar包里

镜像副本 :拷贝

eg :

cd /u01/app/oracle/oradata/ENMOEDU

ls

cd ..

ls

tar -zcvf ENMOEDU.tar.gz ENMOEDU/

eg : rman 的命令

rman target /

x

show all

list x

list backup;

backup x;

backup database x;

backup database plus x;

backup database plus archivelog x;

backup database plus archivelog delete all input; : 备份数据库,备份归档,删除之前的归档

list backup;

backup database plus archivelog format ‘/u01/app/oracle/%t%f.bak’;

eg :

exit

ls

cd fast_recovery_area/

ls

cd ENMOEDU/

ls

cd archivelog/

ls

cd ..

ls

cd backupset/

ls

show parameter db_recovery

关于rman的手册 :reference ,  guide

常将rman的设置放在一个脚本里

eg :

cd /u01/app/oracle

ls

sqlplus / as sysdba

show parameter db_recovery

show parameter db_fi

只要备份文件有修改,控制文件就自动备份

恢复

还原(restore) :将备份的内容放回数据文件的位置

恢复(recover) :在文件上应用文件日志和归档日志

用户还原 :copy

用户恢复 :recover (sqlplus)

rman还原 :restore

rman恢复 :reciver (rman)

完全恢复 :应用大于当前scn值的所有归档(介质故障,软件故障,

不完全恢复 :

实例恢复 :smon进程在数据库下一次启动时读取online redo

介质恢复 :手工restore, recover

cd /u01/app/oracle/oradata/ENMOEDU/

ls

rm -rf *.dbf

ps -ef |grep smon

kill 9 44095

quit

sqlplus / as sysdba

restore tadabase;

select status from v$instance;

alter database open;

flashback闪回数据库,生产中常不开,影响数据库性能

闪回版本处理

闪回事物处理

eg :

select table_name from dict where table_name like ‘%rec%’;

show recyclebin;

select * from tab;

drop test1;

show recyclebin;

drop table test purge; : 永久删除表

实例恢复checkpoint进程

完全检查点 :alter system checkpoint, shutdown

增量检查点 :

eg :

show parameter control

alter database open resetlogs; :将日志序列号清零

v$log : 日志视图

alter database clear logfile group 1;

list failure;

advise failure;

相关文章