码迷,mamicode.com
首页 > 其他好文 > 详细

enmo_day_07

时间:2015-07-31 12:12:10      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

 

数据备份

物理备份 : 底层数据块

逻辑备份 :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;

 

enmo_day_07

标签:

原文地址:http://www.cnblogs.com/jilili/p/4691499.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!