感觉网上的人写的 遮遮掩掩的 很多细节都不写清楚 对于新手来说 看了等于没看,所有为此 经过本人学习测试
成功后做了详细步骤 试验记录
环境:win7
首先将数据库的日志归档模式设为开启
然后我先来弄冷备份
--先开启日志归档模式
--改变日志操作模式的方法
--查询日志 操作模式
select * from log_mode from v$database;
shutdown immediate
--开启mount状态
startup mount;
--
alter database archivelog;
alter database open
这个还不够 要检查 自动归档
archive log list;
--启用自动归档
alter system set log_archive_start=true scope=spfile;
然后重新启动数据库 因为log_archive_start为静态参数,所以修改了该初始化参数后,必须重启数据库
shutdown immediate
startup open
然后弄冷备份
--冷备份:关闭数据库(包括服务)后的备份备份所有数据文件和控制文件冷备份不仅适用于归档日志模式也适用于非归档日志模式
(1)
--列出数据文件:
selectnamefromv$datafile;
--C:\ORACLE\ORADATA\ORCL\TEST.ORA
/usr/app/oracle/oradata/orcl/system01.dbf
/usr/app/oracle/oradata/orcl/undotbs01.dbf
/usr/app/oracle/oradata/zjvio/ZJVIO_img1.ora
...
--列出控制文件
selectnamefromv$controlfile;
/usr/app/oracle/oradata/orcl/control01.ctl
/usr/app/oracle/oradata/orcl/control02.ctl
/usr/app/oracle/oradata/orcl/control03.ctl
connsys/oracleassysdba
shutdownimmediate
hostcopyc:\test\*.dbfe:\bck\
hostcopyc:\test\*.ctle:\bck\
hostcopyc:\test\*.orae:\bck\--有些
也可也根据这些目录手动去copy
(4)启动例程
connsys/oracleassysdba
startupopen
测试环境我建了一个账号xnzqb
表空间是test_data
表空间对应的数据文件时test.ora
这个可以通过--取得表空间和数据文件的对应关系
selectfile_namefromdba_data_fileswheretablespace_name='TEST_DATA'查询出来
我先冷备份test.ora文件
然后我在xnzqb数据库里随便删掉一个表
然后我shutdownimmediate
然后开启数据库startupopen;
发现那个表还是没有恢复
我复原以上操作
这次我冷备份所有orcl目录下的所有.dbf.ora和重做日志文件
然后我在xnzqb数据库里随便删掉一个表
然后我shutdownimmediate
然后开启数据库startupopen;
发现删掉的那个表回来了
包括里面的数据都在
selectnamefromv$datafile;
如上图
M
不过以上只是在同一个机子上试的
但是就是费解为什么oracle为什么要那么多文件我如果只是想备份test用户下的所有数据库光备份test所在的表空间对应的数据文件就不行哎这样也太麻烦了