ORACLE学习笔记 第三天
参数文件备份
自动备份
Backup命令
Backup spfile;放在快速恢复区
Backup spfile fromat ‘/u01/backup/spfile _%T_%U’ –参数文件被备份两次,手工、自动
List backup --备份查看
List backup of spfile;
参数文件恢复
Restore命令
Restore spfile 恢复到默认的目录下
Restore spfile from autobackup;
Restore spfile tag ‘tag名称’
Restrore spfile from ‘文件名称’
参数文件位置固定:$ORACLE_HOME/dbs
参数文件备份/恢复步骤
备份参数文件
查看备份
模拟故障,先关闭数据库,删除参数文件(出现故障时恢复参数文件)
RMAN 中执行shutdown
Cd $ORACLE_HOME/dbs
Mv 参数文件 新的参数文件
恢复过程
参数文件丢失时候,可以用RMAN启动实例,采用的模板参数文件,不是最终看的实例,作用是恢复参数文件。
Export ORACLE_SID = db01
Rman target /
RMAN 中执行startup nomount
新终端RMAN同时连接两个实例 rman target sys/1234@db01 catalog rcowner/1234@testdb
Restore spfile from autobackup;
参数文件恢复后必须Shutdown
控制文件备份
自动备份
与其他文件一起备份
Backup tablespace users include current controlfile;
单独备份控制文件
Backup current controlfile;--放在快速去
Backup current controlfile format ‘/u01/backup/con_%T_%U’
控制文件恢复
List backup; --列出备份
Restore controlfile;
Restore controlfile from autobackup;
Restore controlfile form tag ‘tag名称’
Restore controlfile form tag ‘文件名称
Show parameter control_file; --查找控制文件在什么地方;
控制文件备份/恢复示例
对控制文件备份
Rman 同时连接两个数据库
Backup current controlfile format ‘u01/backup/con_%T_%U’
查看备份
List backup of controlfile
关闭数据库,模拟故障,模拟破坏控制文件
Shutdown
Cd 进入控制文件路径
Mv 改名
恢复
Startup 观察错误
警告文件所在目录 show paramrter user_dump_dest
.log文件为警告文件
.trc文件为跟踪文件
Restore controlfile from autobackup;
RMAN中Alter database mount --还不能打开,原因是SCN三者不一样
RMAN中重做日志也需要更新 recover database;
Sqlplus中Alter database open resetlogs;把重做日志清空,必须清空。
数据文件备份
Backup database; --对数据库做full备份
Backup tablespace users
Backup datafile ‘XX’
Backup full database;
Backup as backupset database;
Backup database format ‘db_full_%T_%U’ tag ‘XX’
Backup incremental level 0 database format ‘XXX’
%T:YYYYMMDD %U随机的字符串 %p备份片的编号 每个备份片是一个文件 一个备份集可以对用多个备份片 %c备份的拷贝(可以放在多个地方)
Backup incremental level 0 tablespace users fromat ….
。。。。。。。。。。。。。Datafile ‘XXX’ 。。。。。。。
Backup incremental level 1 database format ‘XXX’
Backup incremental level 1 tablespace users fromat ….
。。。。。。。。。。。 1 datafile ‘XXX’ 。。。。。。。
Report schema;
数据文件备份/恢复(针对表空间users)
进行full或者0级备份
Backup full database users fromt ‘’
List backup of tablespace users;
关闭数据库,模拟故障,删除数据库文件
恢复
查看故障视图 show patameter control_file
Desc v$diag_info
Select name,value,from v$diag_info
Trace跟踪 alert警告
Shutdown;
Pwd
Startup 观察错误;普通表空间故障不影响数据库打开
数据文件的恢复状态
MOUNT:SYSTEM 表空间,或者整个数据库
OPEN :恢复普通表空间。
数据文件故障判断
Sqlplus 或者RMAN
使用EM
动态性能视图 v$recover_file 需要sqlplus
Select file#,error from v$recover_file
Desc Dba_data_files
警告文件和跟踪文件
Vi alert_orcl.log
Vi 跟踪文件
文件状态改为OFFLINE
RMAN中 Sql ‘Alter database datafile 4 offline’
RMAN中 Alter database open;
RMAN中 Restore tablespace users;
RMAN中 Recover tablespace users;
RMAN中 Sql ‘alter database datafile 4 online’
恢复原理:
备份恢复restore
重作日志恢复recover
存储设备损坏恢复
进行full或者0级备份
Backup full database users fromt ‘’
List backup of tablespace users;
关闭数据库,模拟故障,删除数据库文件
恢复
Startup 观察错误;普通表空间故障不影响数据库打开
文件状态改为OFFLINE
RMAN中 Sql ‘Alter database datafile 4 offline’
RMAN中 Alter database open;
Run{
Allocate channel ch1 device type disk;
Set newname for datafile 4 to '/u02/orcl/users01.dbf';
Restore datafile 4;
Switch datafile 4;
Recover datafile 4;
Sql 'alter database datafile 4 online';
Release channel ch1;
}
Linux任务调度
At:一次性,时间确定;
Crontab:周期性(用的较多)
Batch:没有具体时间
测试增量备份、恢复(针对表空间users)
进行0级备份
Sys用户 rman连接两个数据库
Run{
allocate channel ch1 device type disk;
backup incremental level 0 tablespace users format '/u01/backup/users_0_%T_%U';
release channel ch1;
}
List backup of tablespace users;--查看备份
以scott用户登录target,在表空间中创建t20,写入数据10/20
Conn scott/tiger
Create table T20(id number) tablespace users;
Insert into T20 values(100);
Insert into T20 values(200);
Commit
进行1级备份
Run{
Allocate channel ch1 device type disk;
Backup incremental level 1 tablespace users format '/u01/backup/users_1_%T_%U';
Release channel ch1;
}
List backup of tablespace users;--查看备份
以scott用户向表t20写入新数据30/40
Insert into T20 values(300);
Insert into T20 values(400);
Commit;
进行2级备份
Run{
Allocate channel ch1 device type disk;
Backup incremental level 2 tablespace users format '/u01/backup/users_2_%T_%U';
Release channel ch1;
}
List backup of tablespace users;--查看备份
以scott用户向表t20写入新数据50/60
Insert into T20 values(500);
Insert into T20 values(600);
Commit
关闭数据库,模拟故障(文件故障、硬盘故障)
Shutdown;
Cd /u02/orcl
Mv users01.dbf users01.dbfz
Rmna 中 startup
report schema; --看数据文件路径
Sql 'alter database datafile 4 offline';
Alter database open;
恢复
run{
Allocate channel ch1 device type disk;
Restore tablespace users;
Recover tablespace users;
Sql 'alter database datafile 4 online';
Release channel ch1;
}
整个数据库备份
针对整个数据库进行0级备份;
Run{
Allocate channel ch1 device type disk;
Backup incremental level 0 database format '/u01/backup/users_0_%T_%U';
Release channel ch1;
}
向数据库写入数据;(不在备份,依靠重作日志备份)
Insert into T20 values(700);
Insert into T20 values(800);
Commit;
模拟故障;
Rm 删除
恢复数据库;
Alter database open;
恢复
run{
Allocate channel ch1 device type disk;
Restore database;
Recover database;
Alter database open;
Release channel ch1;
}
Oracle 11g数据库管理员指南 机械工业出版社
Oracle RAC 11g实战指南 机械工业出版社
Oracle数据库备份、恢复与迁移 机械工业出版社 刘宪军
800
update:800--->900 commit
update:900--->1000 commit
snapshot too old
SELECT empno,ename,sal FROM emp
AS OF TIMESTAMP TO_TIMESTAMP('2019-05-16 00:50:00','YYYY-MM-DD HH24:MI:SS')
UPDATE dept
SET loc =(
SELECT loc FROM dept
AS OF TIMESTAMP TO_TIMESTAMP
('2019-05-16 01:06:43', 'yyyy-mm-dd hh24:mi:ss')
WHERE deptno=40)
WHERE deptno = 40
SELECT versions_xid, loc FROM dept
VERSIONS BETWEEN TIMESTAMP
TO_TIMESTAMP ('2019-05-16 01:06:43', 'yyyy-mm-dd hh24:mi:ss')
and
TO_TIMESTAMP ('2019-05-16 01:14:43','yyyy-mm-dd hh24:mi:ss')
WHERE deptno=40;
FLASHBACK TABLE dept TO TIMESTAMP
TO_TIMESTAMP('2019-05-16 01:20:50','YYYY-MM-DD?HH24:MI:SS');
purge table t1;
purge index idx1;
purge tablepspace users;
purge user smith
drop table xyz;
ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=2880
ALTER DATABASE FLASHBACK ON;
logminer
FLASHBACK DATABASE TO TIME =
"TO_DATE('2019-05-16 01:57:36', 'YYYY-MM-DD HH24:MI:SS')";
SELECT estimated_flashback_size, flashback_size
FROM V$FLASHBACK_DATABASE_LOG;
SELECT oldest_flashback_scn,
to_char(oldest_flashback_time,'YYYY-MM-DD HH24:MI:SS')
FROM V$FLASHBACK_DATABASE_LOG;

浙公网安备 33010602011771号