视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle教程:用户可管理的备份
2020-11-09 11:58:43 责编:小采
文档


SQLgt;host 操作系统命令;在sql*plus执行操作系统命令。用户管理的备份全备:数据文件、控制文件、redo log或归档文件(可选)

SQL>host 操作系统命令;在sql*plus执行操作系统命令。
用户管理的备份
全备:
数据文件、控制文件、redo log或归档文件(可选)、参数文件、口令文件

得到数据库文件信息以待备份
v$datafile
select name,status from v$datafile;
v$controlfile
select name from v$controlfile;
v$logfile
select member from v$logfile;
DBA_DATA_FILES
select file_name,tablespace_name from dba_data_files;

查询数据文件对应的表空间
select t.name tablespace, f.name datafile
from v$tablespace t,v$datafile f
where t.ts# = f.ts#
order by t.name;

非归档模式只能冷备(关闭数据库备份),归档模式可冷备和热备。

冷备脚本(linux下)
set feedback off heading off verify off trimspool off
set pagesize 0 linesize 200
define dir='/tmp/wb'
define ws='/tmp/ws.sql'
spool &ws
select '! cp' || name || '&dir' from v$datafile order by 1;//order by 1:按第一个列排序
select '! cp' || member || '&dir' from v$logfile order by 1;
select '! cp' || name || '&dir' from v$controlfile order by 1;
select '! cp' || name || '&dir' from v$tempfile order by 1;
spool off
shutdown immediate
@&ws
startup

热备:
数据文件、控制文件、归档文件、参数文件、口令文件

热备表空间三部曲
一、alter tablespace xxwz begin backup;
二、备份表空间对应的数据文件
三、alter tablespace xxwz end backup;
最好还备份归档文件和控制文件。

alter tablespace xxwz begin backup语句做了3件事
1.表空间被checkpoint
2.这个表空间对应的数据文件的头的SCN停止增长
3.改变的数据块整个都会被写入redo log

SQL>select dbms_rowid.rowid_block_number(rowid) blk,name from bbk;使用PL/SQL查看记录的块位置;
$ dd if=example.dbf ibs=8192 skip=1011 count=2 | string;用指定大小的块拷贝一个文件。

v$backup查询备份状态

热备表空间时突然断电,数据库只能启动到mount状态,用v$backup查询备份状态,end正在备份的表空间。alter database datafile 'xxx.dbf' end backup或者alter database end backup。

只读表空间的备份
alter tablespace xxx read only;设为只读,此时控制文件被改变
备份数据文件和控制文件;

热备控制文件的备份(控制文件改变时)
alter database backup controlfile to 'D:/xxxx.ctl';

alter database backup controlfile to trace as 'd:/xxx.sql';会丢失一些信息

使用DBVERIFY检查备份文件是否损坏
dbv file=xxwz_data.dbf feedback=100 //检测数据文件
检测表的损坏
先用select segment_name,tablespace_id,header_file,header_block from sys_dba_segs where segment_name like '%FRUIT%'; FRUIT为表名,,要大写
再用dbv userid=sys/sys segment_id=4.3.395 //4为tablespace_id,3为,header_file,395为header_block。

下载本文
显示全文
专题