SQL语句:创建备份目录
CREATE OR REPLACE DIRECTORY backup AS 'd:\tank';
GRANT READ, WRITE ON DIRECTORY backup TO tank;
以下为windows 批处理脚本,放到计划任务下。
forfiles /p "d:\tank" /d -30 /c "cmd /c echo deleting @file … && del /f @path"
cd d:\tank
set backupfile=tank_%date:~0,4%-%date:~5,2%-%date:~8,2%dmp
set logfile=tank_%date:~0,4%-%date:~5,2%-%date:~8,2%log
"expdpexe" tank/tank directory=backup dumpfile=%backupfile% logfile=%logfile% schemas=tank parallel=4
企业应用的开发库,一般使用online的备份,常用方法有
1将表空间置backup状态,然后拷贝数据文件、控制文件以及日志文件(在线、归档日志)
2rman 备份。
我见得比较多的就是这两种。
另外,offline的备份就是拷贝数据库;逻辑备份一般用于数据迁移。
使用数据泵备份;
echo 正在备份 中通钢构Oracle-CRM数据库,请稍等
expdp 用户名/密码 exclude=statistics parallel=6 dumpfile=文件名dmp logfile=文件名txt
Oracle备份分为 两种
逻辑备份:就是逻辑导出数据(expdp/impdp)只是对数据进行转存,所以恢复是只能恢复到备份时保存的数据,逻辑备份适合备份那些变化很少的表。
缺点:恢复时间长
优点:逻辑备份和平台无关,所以是数据迁移的重要手段物理备份:是指通过备份物理文件拷贝的方式对数据库进行备份
\
物理备份:又分为两种
冷备份:需要一致性停库,然后拷贝数据文件,日志文件,控制文件停库前,需要通过v$datafile,v$logfile,v$controlfile 确定文件路径非open的数据库
优点:执行简单,可靠性依存cp
缺点:停止数据库,整体备份
热备份:前提条件:数据库必须运行中处于活动中并运行归档模式分为用户管理备份和oracle管理备份
用户管理备份:是指用户通过将表空间置于热备份模式,然后通过 *** 作系统工具进行拷贝,拷贝结束后表空间热备份模式。
10g之前 只能对表空间逐备份alter tablespace 表空间名 begin backup;alter tablespace 表空间名 end backup ;
10g中可以对数据库置于热备状态 alter database begin backupalter database end backup
1表空间单独存盘
2冻结文件头 其他块继续使用此时拷贝只有文件头是好块3改变了日志的行为
1 验证表空间单独存盘
SYS@ORCL>col name for a50
SYS@ORCL>select name,checkpoint_change# from v$datafile;NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------/u01/app/oracle/oradata/ORCL/system01dbf 626426/u01/app/oracle/oradata/ORCL/undotbs01dbf 626426/u01/app/oracle/oradata/ORCL/sysaux01dbf 626426/u01/app/oracle/oradata/ORCL/users01dbf 626426/u01/app/oracle/oradata/ORCL/example01dbf 626426/u01/app/oracle/oradata/ORCL/blockdbf 6264266 rows selected
2 查看当前系统SCN号
SYS@ORCL>select dbms_flashbackget_system_change_number from dual;GET_SYSTEM_CHANGE_NUMBER
------------------------
626513
3 修改users表空间为热备状态
SYS@ORCL>alter tablespace users begin backup;Tablespace altered
4 查看当前表空间的SCN号,此时users表空间头部的SCN号已经被冻结SYS@ORCL>select name,checkpoint_change# from v$datafile;NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------/u01/app/oracle/oradata/ORCL/system01dbf 626426/u01/app/oracle/oradata/ORCL/undotbs01dbf 626426/u01/app/oracle/oradata/ORCL/sysaux01dbf 626426/u01/app/oracle/oradata/ORCL/users01dbf 626522/u01/app/oracle/oradata/ORCL/example01dbf 626426/u01/app/oracle/oradata/ORCL/blockdbf 6264266 rows selected
5 产生系统检查点 验证 users 表空间文件头SCN被冻结SYS@ORCL>alter system checkpoint;
System altered
SYS@ORCL>select name,checkpoint_change# from v$datafile;NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------/u01/app/oracle/oradata/ORCL/system01dbf 626543/u01/app/oracle/oradata/ORCL/undotbs01dbf 626543/u01/app/oracle/oradata/ORCL/sysaux01dbf 626543/u01/app/oracle/oradata/ORCL/users01dbf 626522/u01/app/oracle/oradata/ORCL/example01dbf 626543/u01/app/oracle/oradata/ORCL/blockdbf 6265436 rows selected
6 查看当前备份的文件状态,发现file# 4 文件 也就是users 表空间对应的文件活动状态,说明需要进行介质恢复SYS@ORCL>select from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- ---------1 NOT ACTIVE 0
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 ACTIVE 626522 06-MAR-14
5 NOT ACTIVE 0
6 NOT ACTIVE 0
6 rows selected
SYS@ORCL>shutdown immediate //此时用Immediate方式关库报错ORA-01149: cannot shutdown - file 4 has online backup setORA-01110: data file 4: '/u01/app/oracle/oradata/ORCL/users01dbf'
SYS@ORCL>startup force
ORACLE instance started
Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 79693392 bytes
Database Buffers 201326592 bytes
Redo Buffers 2973696 bytes
Database mounted
ORA-01113: file 4 needs media recovery
ORA-01110: data file 4: '/u01/app/oracle/oradata/ORCL/users01dbf'
7 结束users 表空间的热备状态
SYS@ORCL>alter tablespace users end backup;Tablespace altered
8查看当前备份的文件状态,此时file# 4 也就是users 表空间对应的文件已经 不在活动SYS@ORCL>select from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- ---------1 NOT ACTIVE 0
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 626522 06-MAR-14
5 NOT ACTIVE 0
6 NOT ACTIVE 0
6 rows selected
SYS@ORCL>select name,checkpoint_change# from v$datafile;NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------/u01/app/oracle/oradata/ORCL/system01dbf 626543/u01/app/oracle/oradata/ORCL/undotbs01dbf 626543/u01/app/oracle/oradata/ORCL/sysaux01dbf 626543/u01/app/oracle/oradata/ORCL/users01dbf 626543/u01/app/oracle/oradata/ORCL/example01dbf 626543/u01/app/oracle/oradata/ORCL/blockdbf 6265436 rows selected
9打开数据库
SYS@ORCL>alter database open;
Database altered
SYS@ORCL>select from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- ---------1 NOT ACTIVE 0
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 626522 06-MAR-14
5 NOT ACTIVE 0
6 NOT ACTIVE 0
6 rows selected
我的博客里有写,一步步按着 *** 作就可以了
winXP里面你可以下载一个putty远程访问linux,用安装时创建的Oracle用户登录linux然后连接到Oracle数据库就可以进PL/SQL了
另外,虚机团上产品团购,超级便宜
逻辑备份可用 expdp 来从数据库中导出, 用 impdp 来导入数据库中, 当然, 也可用 10g 以前的方法, exp 及 imp 但对于大数据量及大量cpu 的机器, expdp 及 impdp 要快很多倍
物理备份可用 rman 来进行备份与恢复 当然, 若是文件系统上的数据库, 也可直接用 *** 作系统命令来备份与恢复
以上就是关于Oracle 11g windows下 增量备份全部的内容,包括:Oracle 11g windows下 增量备份、oracle 11g企业版 数据库如何备份、Oracle 11G进行数据库备份的时候,发生报错,备份失败。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)