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的更多相关文章

随机推荐

  1. Azure web role, work role 以及其他role

    Azure web role, work role 以及其他role 如果没有创建过web role 和work role的话可以参考如下文章来创建一下web role 和work role. htt ...

  2. UBI系统原理-中【转】

    转自:http://blog.chinaunix.net/uid-28236237-id-4217118.html UBI 文件头位置 EC头都放置在擦除块的开始偏移位置,占用64字节空间.之后防止V ...

  3. atomic vs. nonatomic

    Declaring a property atomic makes compiler generate additional code that prevents concurrent access ...

  4. phpcms无法读取index.html的解决步骤

    代码如下: phpcms\modules\content\classes\html.class.php 查找 复制代码 代码如下: /** * 更新首页 */ public function inde ...

  5. LeetCode----8. String to Integer (atoi)(Java)

    package myAtoi8; /* * Implement atoi to convert a string to an integer. Hint: Carefully consider all ...

  6. androidService总结

    2.服务 2-1:启动服务 2-1-1:创建服务 extends Service 2-1-2:注册 <service android:name="com.firefly.style_s ...

  7. Java 利用初学知识 写出自己的名字

  8. noi 9271 奶牛散步

    题目链接:http://noi.openjudge.cn/ch0206/9271/ 同noi 踩方格,但是题目有问题,%12345,我也是看了discuss才知道的. #include <bit ...

  9. ASP.NET Core + EF6

    微软推出了全新的 .Net Core,于是我就想着在目前接手的项目中使用这项新技术.但是因为预算的原因,我们所用的数据库是 MySql .但是最新的 EF Core 并不支持 MySql ,所以目前我 ...

  10. EventBus使用详解(一)——初步使用EventBus

    一.概述 EventBus是一款针对Android优化的发布/订阅事件总线.主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间 ...