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功能. ...
随机推荐
- 用HTML和CSS实现WWDC 2015上的动画效果
用HTML和CSS实现WWDC 2015上的动画效果 动画效果WWDC 2015 原文:https://cssanimation.rocks/wwdc15/ 译者:周晓楷(@Helkyle) 每年 ...
- 动态规划VS分治策略
•在用分治法解决问题时,由于子问题的数目往往是问题规模的指数函数,因此对时间的消耗太大. •动态规划的思想在于,如果各个子问题不是独立的,不同的子问题的个数只是多项式量级,而我们能够保存已经解决的子问 ...
- 1-Spark高级数据分析-第一章 大数据分析
1.1 数据科学面临的挑战 第一,成功的分析中绝大部分工作是数据预处理. 第二,迭代与数据科学紧密相关.建模和分析经常需要对一个数据集进行多次遍历.这其中一方面是由机器学习算法和统计过程本身造成的. ...
- Swift处理堆栈问题——给定两组序列,其中一个序列表示栈的push 顺序,判断另一个序列有没有可能是对应的pop 顺序
题目:输入两个整数序列.其中一个序列表示栈的push 顺序,判断另一个序列有没有可能是对应的pop 顺序.为了简单起见,我们假设push 序列的任意两个整数都是不相等的.比如输入的push 序列是1. ...
- 编译.NET项目的时候报错错误“ResGen.exe”已退出,代码为 -1073741701
解决的办法如下: 1.关闭所有Visual Studio: 2.以管理员的身份打开命令提示窗口:(开始-运行-cmd) //有人说要使用vs tools 里面的控制台 亲试无卵用 3. ...
- jquery实现AJAX的4种方法
当我们用javascript写ajax程序写得很“开心”的时候,突然有人告诉你有一种东西叫jquery,它会告诉你不直接和 HttpRequest是多么的快乐,同时你再也不需要再烦恼纠结的ajax乱码 ...
- Android——黑名单
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 自动化测试工具QTP的使用实例 分类: 软件测试 2015-06-17 00:23 185人阅读 评论(0) 收藏
1. QTP简介 1.1QTP功能与特点 QTP是QuickTest Professional的简称,是一种自动化软件测试工具.在软件的测试过程中,QTP主要来用来通过已有的测试脚本执行重复的手动测试 ...
- 如何搭建 node,react 开发环境
项目相关内容:Sublime + Node + React --注意:在 windows 操作系统中,如果把 node 安装在系统盘(一般是C盘),会导致 node 没有操作文件的权限的问题,如无法新 ...
- Python的标准输出
遇到什么就添加到这里来. 首先,是最基本的. print "Number is %d %f %s"%(intA,floatB,stringC) 如果对浮点数的精度有所要求的话,比如 ...