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功能. ...
随机推荐
- List转MVC DropDownListFor(SelectList)
/// <summary> /// List转SelectListItem /// </summary> /// <typeparam name="T" ...
- SILVERLIGHT 应急卫生模拟演练项目之GRID布局
上篇文章 我介绍了LOADING界面 loading加载完成后 会进入主界面 效果图如下 这里我要给大家说一下我在布局方面的应用 说起布局 做过SL开发的一定都知道 Grid,StackPanel和 ...
- 解析C#开发过程常见的编程模式
单例模式: 在多线程的程序开发过程中经常会遇到单例模式[单件模式],它的特点是不是根据客户程序的调用而生成新的实例,而是控制某个类型的实例数量只有一个.也就是说,单例模式就是保证在整个应用程序的生命周 ...
- nexus私服update repair index索引失败解决方案(转)
转载地址:http://blog.csdn.net/first_sight/article/details/51559086 问题描述: 搭建Maven的Nexus私服仓库,一般安装完Nexus后,默 ...
- 转 git安装配置
Win7上Git安装及配置过程 一.安装说明 1.Git在windows平台上安装说明. Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 ...
- Apache 的ab测试
<!-- 博主所有文章仅是作为自己的笔记 如有不足 请见谅--> Apache的ab测试 和 ab测试 不是一个东西(百度 ab测试可以了解) 网站性能压力测试是服务器网站性能调优过程 ...
- 浅谈Runloop
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理.之后会介绍一下在 iOS 中,苹果是如何 ...
- uart启示2_异步操作的bug
发现代码中的隐藏bug真的是一件令人振奋的事情,当然也会疲倦那么一下午! 这个bug只有在一种在一个2604计数周期的一种情况下发生,所以即使是大量的仿真,未必也会发现的了,只有在以后的设计过程中,遇 ...
- linux下oracle启动问题
需要注意的 1.由root用户切换到su oracle 不能启动sqlplus 由root用户切换到su -oracle 可以启动sqlplus 由oracle用户直接登陆也可以启动sqlplus命令 ...
- opendir函数
#include<sys/types.h> #include<dirent.h> DIR *dirptr = NULL; struct dirent *entry; dirpt ...