enmo_day_10
RMAN
创建备份集 :
backup as backupset format ‘/backup/df_%d_%s_%p/bus’ tablespace hr_data;
创建镜像副本 :(备份慢,恢复快)
backup as datafile ‘/oradata/users_01_db01.dbf’;
backup as copy archivelog like ‘/arch%’;
创建整体数据库备份 :(控制文件自动备份)
backup database plus archivelog;
手工整体数据库备份 :
backup database plus archivelog; include current controlfile;
RMAN备份类型 :
累积 :<=
差异 :<
快速增量备份 :
通过块改变跟踪实现
启用快速增量备份 :
alter database {enable|disable} block change trackin [using file ‘…’];
监视块更改跟踪 :
select filename, status, bytes from v$block_change_tracking;
select file#, avg(datafile_blcks), avg(block_read), avg(blocks_read/datafile_blocks) * 100 as pct_read_for_backup, avg(blocks) from v$backup_datafile where used_change_tracking = ‘yes’ and incremental_level > 0 group by file#;
创建双重备份集 :
configure archivelog backup copies for device type sbt to 2;
configure datafile backup copies for device type sbt to 2;
backup database plus archivelog;
backup device type disk as copy database;
note : sbt,磁带
使用backup copies创建双重备份集
backup as backupset device type sbt copies incremental level 0 database;
list backup : 验证备份
创建备份集的备份 :
backup device type disk as backupset database plus archivelog;
backup device type sbt backupset all;
备份只读表空间 :
仅当符合保留策略的备份不存在时,备份优化才会让RMAN备份只读表空间
若将表空间改为可读写,则会立即对其进行备份
可用RMAN的backup命令的 skip readonly 选项跳过只读表空间或数据文件
利用全备restore, 利用archivelog restore
归档备份 :(超过保留期限)
catalog keep forever
使用RMAN创建归档备份 :
数据库处于open状态时,
keep {forever | until time [=] ‘date_string’} [restore point rsname]
标志时间点 :
scn, timestamp, sequence, restore point(还原点)
管理归档数据库备份 :
connect target /
connect catalog rman/rman@catdb
change backup tag ‘consistent_db_bkup’
keep forever;
change copy of database controlfile nokeep;
查看手册 :
数据库化身 database incarnation
当做resetlogs时,数据库会有化身
检查数据库文件
validate checklogical
默认物理检查
validate database : 校验数据库
validate backupset 22; : 校验备份集
文件丢失原因 :
用户错误
应用程序错误
介质故障
关键性与非关键性
非关键性文件丢失指数据库可以继续运行的故障
创建新文件,重建文件,恢复丢失或损坏的文件
丢失临时文件
还原active, inactive, current日志文件
清除日志文件 :
alter database clear logfile …
alter database clear unarchived logfile …
alter database clear unarchived logfile … unrecoverable datafile
DUL
ODU
有隐藏参数可以调SCN以打开SCN不一致的数据库
重新创建索引 ::
create index rname_idx on hr.regions(region_name) parallel 4 nologging;
不产生日志,restore, recover时索引不再存在
重建口令验证文件 :
orapwd file=$ORACLE_HOME/dbs/orapworcl password=ora entries=5
完全恢复 :
不完全恢复 :
冷备 :
备份控制文件 :
alter database backup controlfile to ‘/u01/backup/controlfile.bak’;
alter database backup controlfile to trace;
执行用户管理的不完全恢复 :
recover database until time ‘…’;
recover database until cancel;
NLS_TIME
SYS_DATE
恢复nologging数据库对象 :(不经过内存,直接写入数据文件里,速度很快)
create table sales_copy nologging; : 创建表并不产生日志。
insert /*+ append */ into sales_copy select * from sales_history;
note : /*+ … */ : 提示
关掉日志,插入数据会非常快
只要控制文件SCN低于数据文件,就一定会有resetlogs.
在丢失了所有控制文件副本后进行恢复 :
open resetlogs
控制文件备份 :
1. RMAN :
手工
自动
2. 用户 :
backup controlfile
生成controlfile trace文件
数据文件最重要,日志文件和控制文件就算丢失也可重建。
查看告警日志,alert.log :
查看跟踪文件,实例名_进程名_进程号.trc
fhcsq, dhcsq
手工重建控制文件 :
create controlfile reuse database “iase” noresetlogs maxinstances 8
maxloghistory 1
maxlogfiles 16
maxlogmembers 3
maxdatafiles 100
datafile
‘…’
‘…’
‘…’
‘…’
‘…’
‘…’
‘…’
‘…’
logfile group 1 (‘/…’) size 100m;
recover database;
alter database open;
select file_name , …, from
alter database rename file ‘…’ ‘…’;
确定有哪些数据文件 :
找创建数据库的脚本
在alert日志中搜ddl语句(提取出所有create tablespace语句,drop tablespace语句)
定期对告警日志做清理,拷贝
数据库打不开时,如何查看告警日志 :
cd /u01/app/oracle/diag/rdbms/enmoedu/ENMOEDU/trace/
tail -100f alert_ENMOEDU.log
cd ..
ls
ca alert/
ls
cd alert/
ls
搜lynda教程 :
人人素材网
淘宝
保留现场 :能冷备的尽量冷背
eg :
show parameter nls_date
alter session set nls_date_format = ‘yyyy-mm-dd hh24:mi:ss’;
select sysdate from dual;
alter session set nls_date_format = ‘yyyy-mm-dd ‘;
select sysdate from dual;
select table_name from dict where table_name like ‘%NLS%’;
select table_name from dict where table_name like ‘%prep%’;
vi .bash_profile
add :
删除所有数据文件,控制文件,参数文件,重做日志文件后,如何不完全备份恢复数据库 :
vi initENMOEDU.ora
db_name=‘ENMOEDU’
startup nomount; (启动伪实例,dummy)
restore spfile from autobackup;
restore spfile from ‘…’;
shut immediate; : 关闭伪实例
startup nomount :启动数据库
restore controlfile from autoback;
restore database;
select checkpoint_change# from v$datafile;
select checkpoint_change# from v$datafile_header;
select * from v$log;
alter database open resetlogs; : 若日志不存在会重新创建日志文件
enmo_day_10的更多相关文章
随机推荐
- logback文章推荐
logback 配置详解:http://www.cnblogs.com/zhuawang/p/4002975.html Logback 日志输出到 mysql:http://www.codeweblo ...
- 机器学习实战-边学边读python代码(5)
def classifyNB(vec2Classify, p0Vec, p1Vec, pClass1): p1 = sum(vec2Classify * p1Vec) + log(pClass1 ...
- Linux系统使用yum安装nodejs
先执行: yum install \ http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 再执行: su ...
- noi 2718 移动路线
题目链接: http://noi.openjudge.cn/ch0206/2718/ 右上角的方案数 f(m,n) = f(m-1,n) + f(m,n-1); http://paste.ubuntu ...
- Apache Solr 访问权限控制
Current state of affairs SSL support was added in version 4.2 (SolrCloud v4.7). Protection of Zookee ...
- 逻辑操作符---Lua: and,or,not 对比 C++:&&,||,!
lua中有三个逻辑操作符:and,or,not(逻辑与,逻辑或,逻辑非),同样c++也有类似的三个逻辑操作符:&&,||,!(逻辑与,逻辑或,逻辑非).他们的运算对象就是真和假.lua ...
- createjs 更新
使用0.8.2版本 不在需要单独 引入 MovieClip 文件了
- 《BI那点儿事》数据流转换——条件性拆分
根据条件分割数据是一个在数据流中添加复杂逻辑的方法,它允许根据条件将数据输出到其他不同的路径中.例如,可以将TotalSugar< 27.4406的输出到一个路径,TotalSugar > ...
- 转:[置顶] 从头到尾彻底理解KMP(2014年8月22日版)
[置顶] 从头到尾彻底理解KMP(2014年8月22日版)
- nodejs的第一天学习笔记
一. js的模块化 什么是模块化: 模块化的概念最早是后台,随着ajax技术的兴起,js在编程中所占的地位越来越高,同时js的文件也相应的越来越多.为了方便文件的管理和更新,提出了js文件的模块 化, ...