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功能. ...
随机推荐
- Android 中onSaveInstanceState和onRestoreInstanceState学习
1. 基本作用: Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,它们不同于 onCreate().onPaus ...
- js +1的动画效果
var fnPlusAnimate = function(str, options){ if (typeof str === 'object') { options = str; str = unde ...
- mysql常用操作
一.什么是数据库 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库. SQL( Structured Query Language)语言的全称是结构化查询语言.数据库管理系统通过S ...
- iOS中常用的设计模式
常用的设计模式(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过 ...
- c#网络编程
c#网络编程 1.system.net命名空间 DNS类:DNS类包含了许多的方法,总结起来常用的就是获取获取主机地址,获取主机名,根据地址 获取DNS主机信息,根据主机名获取DNS信息: IPadd ...
- jstl 标签库的使用
JSTL 核心标签库 使用 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.ot ...
- ajax 页面加载
大体说说思路,不上代码了: 1.点击加载更多-> ajax向后台传参(当前页page,必须有默认1,其他需要的参数...) 2.后台接收 -> 查询数据 处理形成 json数据 给前台 3 ...
- python未知网卡名情况下获取本机IP
import socket def get_ip(): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: # doesn't even ...
- AJAX原理及应用
Ajax技术的核心是XMLHttpRequest对象(简称XHR),可以通过使用XMLHttpRequest对象获取到服务器的数据,然后再通过DOM将数据插入到页面中呈现.也就是javascript可 ...
- 打算从oschina的博客搬运到cnblog了
如题,感觉cnblog似乎要更加专业一点,顺便也禁水.提高下文章质量 以后就都是干货了 oschina原址 顺便庆祝一下Windows Live Writer配置成功