收藏 分享(赏)

oracle自动备份分析汇总.docx

上传人:天天快乐 文档编号:431136 上传时间:2018-04-05 格式:DOCX 页数:15 大小:215.53KB
下载 相关 举报
oracle自动备份分析汇总.docx_第1页
第1页 / 共15页
oracle自动备份分析汇总.docx_第2页
第2页 / 共15页
oracle自动备份分析汇总.docx_第3页
第3页 / 共15页
oracle自动备份分析汇总.docx_第4页
第4页 / 共15页
oracle自动备份分析汇总.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、Oracle 自动备份分析汇总 一、 冷备份(即 exp expdp 命令对指定的某个对象进行数据导出) 弄了半天 总以为有多难 看了不少 不过 看的都是基于linux 的 oracle 备份操作,比如 rman 等 什么冷备份 热备份 逻辑备份 基本知识补了一堆,不过基于 windows 的 到时很简单 只需要写一些执行语句的 bat 文件,然后 再将bat 文件加到 windows 就有的触发器上。 我书写的 批处理 bat 文件如下: Test.bat 1. echo off 2. echo 正在备份 Oracle 数据库,请稍等 . 3. exp ems/emsorcl file=c/

2、bak/gzepbmotor_%date:0,4%date:5,2%date:8,2%.dmp log=c/bak/gzepbmotor_%date:0,4%date:5,2%date:8,2%.log owner=ems 4. echo 任务完成! 好不容易看到了了可以自动备份了 ,可是问题有出来的 , oracle 数据库导出 的表只有有数据的 ,而我们的空表去无法导出,这很令人郁闷啊 悲催的 那好吧 没办法 咱们找谷老师总可以吧,一查 原来 不只 我遇到了这个问题 别人也有,这个是 oracle11g 的特有功能 oracle11g 的新特性,数据条数是 0 时不分配 segment,所

3、以就不能被导出。 我去 太坑爹了 好吧 我可以改 更改如下代码: 先查询一下哪些表是空的: Sql 代码 select table_name from user_tables where NUM_ROWS=0; 下面我们通过 select 来生成修改语句: Sql 代码 select alter table |table_name| allocate extent; from user_tables where num_rows=0 Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected

4、as ems SQL select table_name from user_tables where NUM_ROWS=0; TABLE_NAME - CAMERA EMERGENCY_INFO EQUIPMENT EVENTOPERATOR_INFO MATERIALS PERSON_LOCUS PERSON_RELATION POLICECAR POLICEFORCE POLICEOFFICER SITUATION PFORCE_PCAR PFORCE_POFFICER T_CATEGORY DYNAMICLAYERSTREE_INFO KEY_PERSONNEL_INFO KEY_SU

5、BJECT_INFO 17 rows selected SQL select alter table |table_name| allocate extent; from user_tables where num_rows=0 2 ; ALTERTABLE|TABLE_NAME|ALL - alter table CAMERA allocate extent; alter table EMERGENCY_INFO allocate extent; alter table EQUIPMENT allocate extent; alter table EVENTOPERATOR_INFO all

6、ocate extent; alter table MATERIALS allocate extent; alter table PERSON_LOCUS allocate extent; alter table PERSON_RELATION allocate extent; alter table POLICECAR allocate extent; alter table POLICEFORCE allocate extent; alter table POLICEOFFICER allocate extent; alter table SITUATION allocate extent

7、; alter table PFORCE_PCAR allocate extent; alter table PFORCE_POFFICER allocate extent; alter table T_CATEGORY allocate extent; alter table DYNAMICLAYERSTREE_INFO allocate extent; alter table KEY_PERSONNEL_INFO allocate extent; alter table KEY_SUBJECT_INFO allocate extent; 17 rows selected SQL SQL a

8、lter table CAMERA allocate extent; Table altered SQL alter table EMERGENCY_INFO allocate extent; Table altered SQL alter table EQUIPMENT allocate extent; Table altered SQL alter table EVENTOPERATOR_INFO allocate extent; Table altered SQL alter table MATERIALS allocate extent; Table altered SQL alter

9、 table PERSON_LOCUS allocate extent; Table altered SQL alter table PERSON_RELATION allocate extent; Table altered SQL alter table POLICECAR allocate extent; Table altered SQL alter table POLICEFORCE allocate extent; Table altered SQL alter table POLICEOFFICER allocate extent; Table altered SQL alter

10、 table SITUATION allocate extent; Table altered SQL alter table PFORCE_PCAR allocate extent; Table altered SQL alter table PFORCE_POFFICER allocate extent; Table altered SQL alter table T_CATEGORY allocate extent; Table altered SQL alter table DYNAMICLAYERSTREE_INFO allocate extent; Table altered SQ

11、L alter table KEY_PERSONNEL_INFO allocate extent; Table altered SQL alter table KEY_SUBJECT_INFO allocate extent; Table altered SQL 这样我们就可以导出我们的空表了 ok 到此 我们真正的成功了 二、 热备份 (在这里介绍 oracle rman) 具体步骤如下: 1. 检查数据库模式: sqlplus /nolog conn /as sysdba archive log list (查看数据库是否处于归档模式中 ) 由于在起初的时候就已调成归档模式,所以就不用在调

12、整了,如果在显示出的模式是非归档模式,那么我们就需要先关闭数据库 shutdown immediate 修改数据库归档模式。 startup mount alter database archivelog alter database open 修改完成后,重新回到起始出然后运行 rman 命令: 在连接到后 重新连接数据库 connect target / (例如: connect target sys/systemorcl ) 连接到以后 用 list backupset 命令查看有没有备份的东西 Rmanlist backupset 他列出的需要备份的数据 ; 注: 常用备份命令 备份全

13、库: RMAN backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志 ) 备份表空间: RMAN backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志 ) 备份归档日志: RMAN backup archivelog all delete input; =对整个数据库进行备份 = 1.对整个数据库进行全备份 (full backup)。 只要输入命令 : backup d

14、atabase; 2.list backupset 查看备份的具体信息 3.rman 中缺省的参数,可以通过 show all ; 来进行查看 (RMAN configuration parameters),我们在使用 backup database 命令中,可以把这些 default value 用固定的值来进行替代 . 4.我们可以把备份的文件才备份的目录中拷贝到磁带上,然后删除备份目录下面的备份文件,如果下次需要恢复的话,只要把文件重新拷回到用来的备份目录就可以了 5.查看 control file 文件中的备份信息 (因为我们做的备份是在 nocatalog 模式下 ),control

15、 file 在 /u01/oracle/oradata/ora10g 目录下 ,由于 control file 是个二进制文件,要查看 control file 文件中的内容,用 strings control03.ctl,发现 control03.ctl 中有 rman 备份的信息了 ; =0 级增量备份 = 概念:全备份和 0 级增量备份。 全备份和 0 级增量备份几乎是一样的 。唯一的区别, 0 级增量备份能作为增量备份的基础,而全备份不能作为增量备份的基础。其它方面完全一致 1.backup incremental level=0(level=0) database;(增量为 0 的备

16、份 ) 2.backup incremental level=1(level=1) database;(增量为 1 的备份 ) 在上面的备份中,我们备份了 datafile,controlfile 和 parameter file.没有备份的文件有归档日志,重做日志和口令文件没有备份 .口令文件不需要备份,我们用 orapw 来创建一个 新的口令文件 .rman 在 nocatalog 模式下,不能够对 redo log file 进行备份 =备份 archivelog 在 nocatalog 模式下 = 命令 :backup database plus archivelog delete i

17、nput(delete input 的意思在备份完成后,删除 archivelog 文件,这个选项可要可不要,这个命令也可以用 backup incremental level=0(1,2.)来进行备份 ) =备份表空间 = backup tablespace tablespacename 如果我们不知道 tablespace 的名字,在 rman 中,可要通过 report schema 命令,来查看表空间的名字 MAN report schema; Report of database schema List of Permanent Datafiles = =备份控制文件 = backup current controlfile backup database include current controlfile =备份镜像 = 在 rman 的备份中有两种方式 :备份集 (backupset)和备份镜像 (image copies).镜像备份主要是文件的拷贝 :copy datafile . to . 我们在 rmanreport schema;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 论文指导/设计

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报