Oracle补习班第九天
Better to light one candle than to curse the darkness.
与其诅咒黑暗,不如点亮烛光!
1,用SQL备份数据库数据文件
sqlplus / as sysdba
archive log list; #查看归档日志状态
show parameter dest_1 #查看归档日志文件路径
alter system set log_archive_dest_1='location=/data/archive'; #更改归档日志路径,写在spfile里
shutdown immediate
startup mount #开启归档功能要在mount状态下
alter database archivelog; #开启
alter database open;
archive log list; #查看
alter system switch logfile; #手动切换redo日志组,会生成归档日志文件
alter tablespace users begin backup; #备份users表空间
set lines 300
set pages 999
col name for a45
select checkpoint_change#,name from v$datafile; #users表空间检查点不同于其他
alter system checkpoint; #更新检查点,只有users表空间不变,可以用系统命令拷贝文件
cp users01.dbf /tmp/users01.dbf.bak
create table scott.test002 tablespace users as select * from dba_objects;
alter system switch logfile; /; /;
insert into scott.test002 select * from scott.test002;
commit;
alter system switch logfile; /; /; /;
alter tablespace users end backup; #结束备份并删除文件
startup force #缺少数据文件报错
cp /tmp/users01.dbf.bak /data/orcl/users01.dbf
select checkpoint_change#,name from v$datafile;
recover datafile 4; #利用归档日志回复数据文件缺失部分
alter database open;
select count(*) from scott.test002; #查看数据文件是否被恢复
总结:此种方法生产不实用。备份恢复必须开启归档日志,利用备份的静态文件+归档日志将数据库恢复到当前状态。
2,使用RMAN工具备份数据库
备份恢复参数文件
rman target / #使用sys登录rman
show all;
report schema; #全备份大小根据所有表空间大小
list backup; #查看备份
backup spfile format '/data/backup/%U_%t.spfileora'; #备份参数文件
mv spfileorcl.ora /tmp/spfileorcl.ora #模拟动态参数文件损坏
mv initorcl.ora /tmp/initorcl.ora.bak #模拟静态参数文件损坏
startup force #缺少参数文件,sql中无法启动
startup #在rman中启动不使用参数文件
restore spfile from '/data/backup/Osrogned_1_1_931683789.spfileora'; #恢复参数文件
注意:当数据库状态发生改变时,rman必须重新连接
备份恢复控制文件
rman target /
backup current controlfile format '/data/backup/%U_%t.controlctl'; #备份控制文件
mv control01.ctl /tmp/control01.ctl.bak #模拟控制文件失效
mv control02.ctl /tmp/control02.ctl.bak
restore controlfile from '/data/backup/Otrogpec_1_1_931685836.controlctl';
startup force
alter database open resetlogs;
rman target /
recover database;
注意:只要database状态发生变化,rman就要重新连接
备份数据库
backup database format '/data/backup/%U_%t.datafiledbf';
alter system switch logfile;
rm -rf *.dbf #模拟数据文件丢失
restore database;
recover datafile 1;
recover datafile 2;
recover datafile 3;
..
注意:包含了参数文件及控制文件
backup datafile 1 format '/data/backup/%U_%t.datafile1dbf'; #备份数据文件1号
backup tablespace users format '/data/backup/%U_%t.usersdbf'; #备份用户表空间
backup archivelog all format '/data/backup/%U_%t.archivelogdbf'; #备份归档日志
3,使用脚本全备份数据库
vim rmanfull.scr
run{
allocate channel d01 type disk format '/data/backup/%U%tfull.dbf';
backup incremental level 0 database include current controlfile;
release channel d01;
}
vim rmanfull.sh
source /home/oracle/.bash_profile
rman target / cmdfile=/home/oracle/rmanfull.scr log=/home/oracle/rmanscr.log
chmod 755 ./rmanfull.sh
crontab -e #定时任务
* * * * * /home/oracle/rmanfull.sh
4,全量备份+增量备份
crontab -e
* * * * 0 /home/oracle/rmanfull.sh
* * * * 3 /home/oracle/rmanzl1.sh
* * * * 1,2,4,5,6 /home/oracle/rmanzl2.sh
* * * * * /home/oracle/archive.sh
其他不变
backup archivelog all;
backup incremental level 1 database include current controlfile;
backup incremental level 2 database include current controlfile;
Oracle补习班第九天的更多相关文章
- Oracle补习班第三天
In every triumph, there's a lot of try. 每个胜利背后都有许多尝试 Oracle管理实例组件 主要组件分为两部分例程,与数据库: 例程分为两部分SGA跟进程: S ...
- Oracle补习班第四天
Everything has its time and that time must be watched. 万物皆有时,时来不可失 1,管理参数文件 参数文件分两种spfile二进制文件和pfile ...
- Oracle补习班第五天
Great minds have purpose,others have wishes. 杰出的人有着目标,其他人只有愿望 控制文件是小型二进制文件,只能在mount阶段新建 1,重做控制文件 alt ...
- Oracle补习班第七天
Keep conscience clear, then never fear. 问心无愧,永无畏惧 服务端监听 lsnrctl status #查看监听服务 netca #配置动态监听 lsnrct ...
- Oracle补习班第八天
The best hearts are always the bravest. 心灵最高尚的人,也总是最勇敢的人. 1,权限.角色.与用户 创建用户 create user aa identified ...
- Oracle补习班第一天
My life is a straight line, turning only for you. 我的人生是一条直线,为你转弯
- Oracle补习班第十天
Life without love is like a tree without blossoms or fruit. 缺少爱的生活就像从未开花结果的枯树 RMAN备份工具 crosscheck ba ...
- Oracle课程档案,第九天
lsnrctl status:查看监听状态 Oracle网络配置三部分组成:客户端,监听,数据库 配置文件:$ vi $ORACLE_HOME/network/admin/listener.ora v ...
- Mysql使用event,类似oracle job
MySQL从5.1开始支持event功能,类似oracle的job功能.有了这个功能之后我们就可以让MySQL自动的执行数据汇总等功能,不用像以前需要操作的支持了.如linux crontab功能. ...
随机推荐
- CSS教程:div垂直居中的N种方法[转]
在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...
- TopCoder比赛总结表
TopCoder 250 500 ...
- Redmine CodeReview
Windows Bitnami Redmine通过自带必要的RoR依赖,解决了Redmine安装困难的问题,但也带来了很多Redmine的文档无法使用到Bitnami的问题.原因应该是很多命令不在用户 ...
- NodeOS操作系统
导读 我想大多数人听说过 Node.js,但是你听说过 NodeOS 吗?一个用 Node.js 写的操作系统,NodeOS 用 Linux 内核来处理各种底层任务,比如硬件通讯什么的,但是除此之外, ...
- NOIP2014提高组解方程
其实没有太难 但是不知道的话想不到 考场上大概有50分吧 #include <iostream> #include <stdio.h> #include <queue&g ...
- UIPickerView控件中自定义展示的字体大小及样式
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger) ...
- VC++常用函数
// 获取文件运行路径 void GetAppFilePath(const CString& strProjectName) { TCHAR szFileName[MAX_PATH]; HMO ...
- 转:【总结】浏览器CSS Hacks汇总,浏览器兼容方式CSS Hacks
[总结]浏览器CSS Hacks汇总 浏览器兼容可以说是前端开发所要面对的第一个挑战,目前我的电脑上已经安装了6种浏览器(基于IE内核的不算,如Maxthon等). CSS hacks利用浏览器的 ...
- (转) Deep Learning Research Review Week 2: Reinforcement Learning
Deep Learning Research Review Week 2: Reinforcement Learning 转载自: https://adeshpande3.github.io/ad ...
- Python之路,day3-Python基础
三级菜单 menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, ...