Oracle教程:用户可管理的备份
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle教程:用户可管理的备份,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2512字,纯文字阅读大概需要4分钟。
内容图文
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。
内容总结
以上是互联网集市为您收集整理的Oracle教程:用户可管理的备份全部内容,希望文章能够帮你解决Oracle教程:用户可管理的备份所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。