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功能. ...
随机推荐
- 浅析JSONP-解决Ajax跨域访问问题
浅析JSONP-解决Ajax跨域访问问题 很久没有写随笔了,总是感觉没时间,其实时间就是...废话少说,前几天,工作上有一新需求,需要前端web页面异步调用后台的Webservice方法返回信息.实现 ...
- 第三个Sprint总结
工作进展:项目基本已经完成 工作状况:
- SQLite数据库在多线程写锁文件的解决办法
参考了很多SQLITE数据库多线程的解决办法 我自己写了一个SQLITEHELPER 来解决这个问题 希望大家多多指教 调用的时候 SQLLiteDBHelper _SQLLiteDBHelper ...
- 修改安卓串口蓝牙app问题记录
* 在网上下载的安卓的蓝牙串口app都是基于eclipse的,但往as里边导入时都存在问题. 迫不得已最后我使用的办法还是在as下面新建工程,然后把相关文件导入.不过还是遇到了其他的问题. * 某个蓝 ...
- C#基础——全局静态类中的静态类变量的设置
前言 今天在设计一个系统用户管理界面的时候,出现了一个问题: 由于要在不同窗体之间传递数据,所以想到了要设置全局变量,比如一个用户有属性,ID,UserName,UserPwd和UserPower,为 ...
- OpenGL阴影,Shadow Volumes(附源程序,使用 VCGlib )
实验平台:Win7,VS2010 先上结果截图: 本文是我前一篇博客:OpenGL阴影,Shadow Mapping(附源程序)的下篇,描述两个最常用的阴影技术中的第二个,Shadow Volu ...
- 帝国cms内容批量替换
方法一:栏目-其他相关-批量替换字段值 方法二:通过sql替换 UPDATE phome_ecms_news SET body=REPLACE(body,'原来','现在')
- java的覆盖重写隐藏和C#中的不同
先看下C#中的: C#中覆盖 隐藏 重写这三种有不同的意义,而Java中不同. 1. java中没有new ,使用new会报错,编译不通过. 2. java中重写和覆盖应该是一个意思 static c ...
- Egit Patch
Git为我们提供了Patch功能,Patch中包含了源码更改的描述,能够应用于其他Eclipse工作空间或者Git仓库.也就是说,可以将当前提交导出至其他分支或者项目中. 举个例子,项目A.B中使 ...
- 0823--静默安装、fiddler设置断点、f12清除数据记录
刚写了半天,然后没保存,哎,墙角抹泪. Anyway,记一下最近工作中遇到的问题吧. 1. 静默安装 cmd命令:拖入exe 文件,空格后输入--silent-install 若要在安装时修改主页,则 ...