enmo_day_07
数据备份
物理备份 : 底层数据块
逻辑备份 :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的更多相关文章
随机推荐
- ECMAScript 6教程 (三) Class和Module(类和模块)
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文连接,博客地址为 http://www.cnblogs.com/jasonnode/ .该系列课程是 ...
- 为mongodb加用户授权并使用RockMongo进行管理
在刚安装完mongodb后是没有管理员的,如果要为mongodb设置管理员在启动时需要以用户授权的方式启动: /usr/local/webserver/mongodb/bin/mongod --dbp ...
- 鸟哥的linux私房菜学习记录之系统设定工具与硬件检测
这部分没啥用,就不记录了,关于服务器的在服务器篇
- 怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
String s1 = "你好"; String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1 ...
- if,else语句的运用
1.求解一元二次方程 Console.WriteLine("求解一元二次方程:a*x*x+b*x+c=0"); Console.Write("请输入 a="); ...
- Python3基础 sort 将一个列表中的值升序排列
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- InputStream,BufferedImage与byte数组之间的转换
需要获取网络的一张图片,但是某种需要,要把获取的这段流输入换为BufferedImage流,有的地方还需要转换为byte[]. 获得图片地址,获得了一个图片输入流,例如: Url img = n ...
- 微信小程序注册页面
Page Page() 函数用来注册一个页面.接受一个 object 参数,其指定页面的初始数据.生命周期函数.事件处理函数等. object 参数说明: 属性 类型 描述 data Object 页 ...
- 3个常用基于Linux系统命令行WEB网站浏览工具(w3m/Links/Lynx)
一般我们常用的浏览器肯定是基于可视化界面的图文结合的浏览界面效果,比如FireFox.Chrome.Opera等等,但是有些时候折腾和项目 的需要,在Linux环境中需要查看某个页面的文字字符,我们需 ...
- Linux Shell 批量更换文件名或后缀名
把下列所有.c的文件名修改为.cc rename .c .cc *.c