Skip to main content

moregeek program

Oracle备份rman测试实例-多极客编程

 


一: 数据文件丢失


环境:新建表空间zhen,用户zhen,删除数据文件zhen.dbf系统报错。


错误讯息:SQL> startup;


ORACLE instance started.


 


Total System Global Area  285212672 bytes


Fixed Size                  1218992 bytes


Variable Size              92276304 bytes


Database Buffers          188743680 bytes


Redo Buffers                2973696 bytes


Database mounted.


ORA-01157: cannot identify/lock data file 5 - see DBWR trace file


ORA-01110: data file 5: '/oracle/oradata/db3/zhen.dbf'


查看报警文件:


Errors in file /oracle/admin/db3/bdump/db3_dbw0_3293.trc:


ORA-01157: cannot identify/lock data file 5 - see DBWR trace file


ORA-01110: data file 5: '/oracle/oradata/db3/zhen.dbf'


ORA-27037: unable to obtain file status


Linux Error: 2: No such file or directory


Additional information: 3


 


处理方法:


1.       Startup mount


2.       rman target /


3.       查看目前数据文件


RMAN> report schema;


 


using target database control file instead of recovery catalog


Report of database schema


 


List of Permanent Datafiles


===========================


File Size(MB) Tablespace           RB segs Datafile Name


---- -------- -------------------- ------- ------------------------


1    480      SYSTEM               ***     /oracle/oradata/db3/system01.dbf


2    45       UNDOTBS1             ***     /oracle/oradata/db3/undotbs01.dbf


3    250      SYSAUX               ***     /oracle/oradata/db3/sysaux01.dbf


4    5        USERS                ***     /oracle/oradata/db3/users01.dbf


5    100      ZHEN                 ***     /oracle/oradata/db3/zhen.dbf


 


List of Temporary Files


=======================


File Size(MB) Tablespace           Maxsize(MB) Tempfile Name


---- -------- -------------------- ----------- --------------------


1    20       TEMP                 32767       /oracle/oradata/db3/temp01.dbf


 


4 sql页面将数据文件offline


 


SQL> alter database datafile 5 offline;


 


5 恢复数据文件5的数据。


 RMAN> restore datafile 5


 


    RMAN> recover datafile 5;


6 使表空间online


SQL> alter database datafile 5 online;


 


恢复ok


 


二:临时表空间错误:


 


实验环境:shell下直接删除temp数据文件


shutdown immediate


startup


成功启动,没有报错,报警文件也没有报错。


因为临时表空间是排序用的,所以查一个表


Sql>select * from a oeder by id;


还是没有报错,奇怪


3 查看shell下,临时表空间已经自己建好。晕:实验失败。


 


三: 改实验为修改默认表空间;


  新建临时表空间;


  1 SQL> create temporary tablespace temp02 tempfile '/oracle/oradata/temp02.dbf' size 50m;


  2 查看目前临时表空间


    SQL> select * from v$tempfile;


 


     FILE# CREATION_CHANGE# CREATION_        TS#     RFILE# STATUS  ENABLED


---------- ---------------- --------- ---------- ---------- ------- ----------


     BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE


---------- ---------- ------------ ----------


NAME


--------------------------------------------------------------------------------


         1           446159 03-JUL-10          3          1 ONLINE  READ WRITE


  20971520       2560     20971520       8192


/oracle/oradata/db3/temp01.dbf


 


         2           634975 21-JUL-10          7          1 ONLINE  READ WRITE


  52428800       6400     52428800       8192


/oracle/oradata/temp02.dbf


 


3 修改默认临时表空间:


 SQL> alter database default temporary tablespace temp02;


4 删除原临时表空间


  SQL> drop tablespace temp;


5 查看目前临时表空间


SQL> select * from v$tempfile;


 


     FILE# CREATION_CHANGE# CREATION_        TS#     RFILE# STATUS  ENABLED


---------- ---------------- --------- ---------- ---------- ------- ----------


     BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE


---------- ---------- ------------ ----------


NAME


--------------------------------------------------------------------------------


         2           634975 21-JUL-10          7          1 ONLINE  READ WRITE


  52428800       6400     52428800       8192


/oracle/oradata/temp02.dbf


 


 


实验四:undo回滚表空间坏掉:


环境:删除undo表空间数据文件,强行shutdown abort


 


问题:SQL> startup;     


ORACLE instance started.


 


Total System Global Area  285212672 bytes


Fixed Size                  1218992 bytes


Variable Size              92276304 bytes


Database Buffers          188743680 bytes


Redo Buffers                2973696 bytes


Database mounted.


ORA-01157: cannot identify/lock data file 2 - see DBWR trace file


ORA-01110: data file 2: '/oracle/oradata/db3/undotbs01.dbf'


 


启动时报错:只能到mount状态


解决方法一:


本打算按老师方法,重建redu表空间,突然想到我有rman备份。


直接:


1 startup mount


2 rman target /


3 report schema查看序号为2;


4 {


   Restore datafile 2;


   Recover datafile 2;


   Sql”alter database open”


}


Ok测试成功。


方法二:重建redo,适用于没有人满备份情况。


1 关闭数据库shutdown abort


2 修改参数文件将下面两个参数注销:


#  *.undo_management='AUTO'


#*.undo_tablespace='UNDO01'


3 startup mount 启动到mount状态


4 SQL> alter database datafile 2 offline;


5 alter database open;


6 重建redo表空间。


  SQL> create undo tablespace undo02 datafile '/oracle/oradata/undo02.dbf' size 50m;


7 shutdown后,修改参数文件


  *.undo_management='AUTO'


*.undo_tablespace='UNDO02'


8 startup


测试ok。


 


实验五:重建控制文件


1 SQL> alter database backup controlfile to trace;


2  $ cat  db3_ora_414.trc


 


 


CREATE CONTROLFILE REUSE DATABASE "DB3" RESETLOGS  ARCHIVELOG


    MAXLOGFILES 16


    MAXLOGMEMBERS 3


    MAXDATAFILES 100


    MAXINSTANCES 8


    MAXLOGHISTORY 292


LOGFILE


  GROUP 1 '/oracle/oradata/db3/redo01.log'  SIZE 50M,


  GROUP 2 '/oracle/oradata/db3/redo02.log'  SIZE 50M,


  GROUP 3 '/oracle/oradata/db3/redo03.log'  SIZE 50M


-- STANDBY LOGFILE


DATAFILE


  '/oracle/oradata/db3/system01.dbf',


  '/oracle/oradata/db3/undotbs01.dbf',


  '/oracle/oradata/db3/sysaux01.dbf',


  '/oracle/oradata/db3/users01.dbf',


  '/oracle/oradata/db3/zhen.dbf',


  '/oracle/oradata/undo02.dbf'


CHARACTER SET ZHS16GBK


;

Oracle 释放过度使用的Undo表空间-多极客编程

Oracle 释放过度使用的Undo表空间 故障现象:UNDO表空间越来越大,长此下去最终数据因为磁盘空间不足而崩溃; 问题分析:产生问题的原因主要以下两点: 1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况; 2. 有较大事务没有收缩或者没有提交所导制; 说    明:本问题在ORACLE系统管理中属于比较正常的一现象,日常维护多注意对磁盘空间的监控

ORA-00845: MEMORY_TARGET not supported on this system-多极客编程

 今天晚上新装一台Oracle 11g的数据库,打算将SGA设大一点,知道 11g 中有一个新特新 MEMORY_TARGET,于是尝一下鲜,谁知报了个 ORA-00845,报错比较容易迷惑人,不借助Google真得想半天: ? 1 2 3

oracle Converting an Administrator-Managed Database to a Policy-Managed Database-多极客编程

虽然搭建过oracle 11gR2的RAC,但对RAC还是个半吊子。最近好×××的空间里有篇Converting an Administrator-Managed Database to a Policy-Managed Database 的文章勾起了我兴趣,现在对admin-managed与policy-managed做个总结,文章大部分内容来之网络和好×××,只当学习交流。 在搭建oracl

oracle sid,instance_name,db_name,oracle_sid之间的关系-多极客编程

【一】对ORACLE_SID的理解  -------------------------------------------------------------------------------- Oracle中SID的作用类似于一个“开关变量”---引导Oracle在实例启动时如何去默认位置下读取适当的参数文件并加载,以正确启动实例。 我们知道实例的启动需要指定pfile/spfile(

oracle学习笔记一-多极客编程

  一、了解oracle: 二、Oracle的安装 三、启动oracle: (1)、使用oracle中自带的sql*plus工具进入oracle。 (2)、利用sqlplus和sqlplusw打开oracle。 (3)、使用sql/pl developer进入oracle. (4)、使用oracle企业管理器 四、常用sql*plus命令: (1)、连接数据库: conn (ec

MySQL备份和恢复具体实施(上)-多极客编程

 MySQL备份类别,参考笔者上篇文章MySQL备份类别 冷备: 对于InnoDB存储引擎的冷备非常简单,只需要备份MySQL数据库的frm文件、共享表空间文件、独立表空间文件(*.ibd)、重做日志文件。--建议定期备份MySQL数据库的配置文件my.cnf 冷备的优点: a) 备份简单,只要拷贝相关文件 b) 备份文件易于在不同操作系统,不同MySQL版本进行恢复 c) 恢复相当简

做好软件验收管理从理解验收方法开始-多极客编程

  软件验收管理工作是软件质量保障交付的最后一个阶段,也是软件正式投入使用的最后一道防火墙,软件验收管理工作是软件质量保障的重要环节。 山东省软件评测中心韩庆良主任曾总结:软件项目验收管理是对软件项目成果的检验和确认,也是对软件项目范围的再确认,做好软件验收管理应从正确理解软件验收方法开始,软件验收应是一个过程的概念,包括验收前的系统测试、数据移植、系统上线和正式验收四个阶段。   1.软件

做好软件项目验收管理4步走-多极客编程

  在前面的几篇文章中,我们了解软件项目验收管理在软件质量保障中的重要性以及工作内容,怎样做好软件项目验收管理工作是本文的重点,山东省软件评测中心根据多年验收管理经验,总结了做好软件项目验收管理的一些方法,希望能给大家带来帮助。 1、在软件项目实施过程中注重里程碑的确定,制定阶段性目标   如果要做好一个软件项目,完成项目的验收条件,主要还是以业务是否可用作为衡量的。不是一定得实现所有用户的

做好软件项目验收管理4步走-多极客编程

  在前面的几篇文章中,我们了解软件项目验收管理在软件质量保障中的重要性以及工作内容,怎样做好软件项目验收管理工作是本文的重点,山东省软件评测中心根据多年验收管理经验,总结了做好软件项目验收管理的一些方法,希望能给大家带来帮助。 1、在软件项目实施过程中注重里程碑的确定,制定阶段性目标   如果要做好一个软件项目,完成项目的验收条件,主要还是以业务是否可用作为衡量的。不是一定得实现所有用户的

选杀毒软件看测试不如看实例-多极客编程

  今天上午一位网友跟我说,他通过电子邮箱的给客户发的excel文件,随后客户反映该excel文件包含病毒。这位网友用电脑中装的360杀毒软件对该excel文件进行了扫描,结果360杀毒软件没有提示发现病毒。   前两天正好看到一则题为《五款安全软件宏病毒查杀修复效果横评测试》的信息,文中称在纯净的Windows 7平台上用20个被宏病毒感染的Office文档样本(包括DOC与XLS文件)对

RHEL6 下Cfengine V3 安装测试1-多极客编程

Cfengine 是一种 GNU 开源配置管理框架,用于计算机系统自动化。此框架是轻量的,可针对几乎所有平台构建。它能运行在所有常见平台上,其中包括 AIX、Linux、UNIX、Apple 和 Windows。   cf-promises 承诺的检验者和编译者,在试图执行一套配置承诺前预先检测。 cf-agent 变化的发动者,代理是Cfengine 操作系统资源的部分。 cf-serv

DR BDR 选举测试-多极客编程

1. DR BDR 选举测试 环境: R1 与R2 已经建立了稳定的ospf 网络 R1 为DR R2 为BDR(广播型网络,大家讨论下这 时R3 加进来,R3 怎样完成DR 和BDR 的选举呢? R1: 192.168.10.1 R2: 192.168.10.2 R3: 192.168.10.3 我想一般认为R3 不会再进行选举了直接为 DR 为R1 BDR 为R2 但是根据测试,