- 浏览: 978442 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
孤星119:
好熟悉的数据库字段啊, 上家公司做的项目每天都跟这些字段打招呼 ...
Oracle exp compress参数引起的空间浪费 -
itspace:
quxiaoyong 写道遇到个问题,网上一搜,全他妈这篇文章 ...
数据库连接错误ORA-28547 -
quxiaoyong:
遇到个问题,网上一搜,全他妈这篇文章。你转来转去的有意思吗?
数据库连接错误ORA-28547 -
hctech:
关于version count过高的问题,不知博主是否看过ey ...
某客户数据库性能诊断报告 -
itspace:
invalid 写道写的不错,我根据这个来安装,有点理解错误了 ...
AIX 配置vncserver
本次案例仅测试表空间处于read only时,如何进行全库恢复。为简化测试流程,数据库采用冷备份,控制文件采用rman在线备份
[oracle@linuxsvr ora10r2]$ cp *.dbf ../orabak
业务表空间没有增加数据文件
故障发生时业务表空间处于read only状态。
1、controlfile备份在业务表空间read only之前
14:18:38 SQL> select STATUS from dba_tablespaces where tablespace_name='ZHOU';
STATUS
---------
ONLINE
14:18:59 SQL> create user zhou identified by zhou default tablespace zhou;
User created.
14:19:33 SQL> grant dba to zhou;
Grant succeeded.
14:19:42 SQL> alter system switch logfile;
System altered.
14:19:51 SQL> /
System altered.
14:19:51 SQL> conn zhou/zhou
Connected.
14:19:56 SQL> create table test1 as select * from sys.obj$;
Table created.
14:20:15 SQL> alter system switch logfile;
System altered.
14:20:27 SQL> delete from test1 where rownum<100;
99 rows deleted.
14:20:38 SQL> commit;
Commit complete.
14:28:30 SQL> select count(*) from test1;
COUNT(*)
----------
50609
RMAN> copy current controlfile to '/tmp/before_readonly.ctl';
Starting backup at 19-DEC-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying current control file
output filename=/tmp/before_readonly.ctl tag=TAG20101219T142748 recid=1 stamp=738167269
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 19-DEC-10
RMAN> exit
14:28:35 SQL> alter system switch logfile;
System altered.
14:28:48 SQL> alter tablespace zhou read only;
Tablespace altered.
14:29:08 SQL> conn /as sysdba
Connected.
14:29:11 SQL> shutdown abort
ORACLE instance shut down.
进行datafile恢复
[oracle@linuxsvr oradata]$ mv ora10r2 ora10r2_new
[oracle@linuxsvr oradata]$ mv orabak oradata
进行controlfile恢复
cp /tmp/before_readonly.ctl ./ora10r2/control01.ctl
注意到虽然控制文件比数据文件要新,但由于controlfile为rman所备份,所以需要加后缀using backup controlfile。此部分测试将在本测试完成后再做测试
14:35:44 SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
526338
526338
526338
526338
526534
14:36:19 SQL> select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
505976
505976
505976
505976
505976
14:34:52 SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
进行数据库恢复
14:36:28 SQL> recover database using backup controlfile;
ORA-00279: change 505976 generated at 12/19/2010 14:11:04 needed for thread 1
ORA-00289: suggestion : /oradata/archlog/1_5_728482772.dbf
ORA-00280: change 505976 for thread 1 is in sequence #5
14:38:20 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
。。。
ORA-00279: change 526655 generated at 12/19/2010 14:28:48 needed for thread 1
ORA-00289: suggestion : /oradata/archlog/1_15_728482772.dbf
ORA-00280: change 526655 for thread 1 is in sequence #15
ORA-00278: log file '/oradata/archlog/1_14_728482772.dbf' no longer needed for
this recovery
ORA-00308: cannot open archived log '/oradata/archlog/1_15_728482772.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
注意到Oracle找不到1_15_728482772.dbf,这是由于redolog尚未归档所致,要进行完全恢复,只要将redolog输进即可,Oracle会进行自己匹配恢复
14:38:48 SQL> recover database using backup controlfile;
ORA-00279: change 526655 generated at 12/19/2010 14:28:48 needed for thread 1
ORA-00289: suggestion : /oradata/archlog/1_15_728482772.dbf
ORA-00280: change 526655 for thread 1 is in sequence #15
14:38:57 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oradata/ora10r2_new/redo02.log
Log applied.
Media recovery complete.
由于用了using backup controlfile,必须要用 resetlogs选项打开。
14:40:53 SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
14:41:28 SQL> alter database open NORESETLOGS;
alter database open NORESETLOGS
*
ERROR at line 1:
ORA-01588: must use RESETLOGS option for database open
14:41:33 SQL> alter database open RESETLOGS;
Database altered
查看表空间状态和业务数据,并未丢失数据。
14:42:20 SQL> select status from dba_tablespaces where tablespace_name='ZHOU';
STATUS
---------
READ ONLY
14:56:00 SQL> conn zhou/zhou
Connected.
14:56:09 SQL> select count(*) from test1;
COUNT(*)
----------
50609
[oracle@linuxsvr ora10r2]$ cp *.dbf ../orabak
业务表空间没有增加数据文件
故障发生时业务表空间处于read only状态。
1、controlfile备份在业务表空间read only之前
14:18:38 SQL> select STATUS from dba_tablespaces where tablespace_name='ZHOU';
STATUS
---------
ONLINE
14:18:59 SQL> create user zhou identified by zhou default tablespace zhou;
User created.
14:19:33 SQL> grant dba to zhou;
Grant succeeded.
14:19:42 SQL> alter system switch logfile;
System altered.
14:19:51 SQL> /
System altered.
14:19:51 SQL> conn zhou/zhou
Connected.
14:19:56 SQL> create table test1 as select * from sys.obj$;
Table created.
14:20:15 SQL> alter system switch logfile;
System altered.
14:20:27 SQL> delete from test1 where rownum<100;
99 rows deleted.
14:20:38 SQL> commit;
Commit complete.
14:28:30 SQL> select count(*) from test1;
COUNT(*)
----------
50609
RMAN> copy current controlfile to '/tmp/before_readonly.ctl';
Starting backup at 19-DEC-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying current control file
output filename=/tmp/before_readonly.ctl tag=TAG20101219T142748 recid=1 stamp=738167269
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 19-DEC-10
RMAN> exit
14:28:35 SQL> alter system switch logfile;
System altered.
14:28:48 SQL> alter tablespace zhou read only;
Tablespace altered.
14:29:08 SQL> conn /as sysdba
Connected.
14:29:11 SQL> shutdown abort
ORACLE instance shut down.
进行datafile恢复
[oracle@linuxsvr oradata]$ mv ora10r2 ora10r2_new
[oracle@linuxsvr oradata]$ mv orabak oradata
进行controlfile恢复
cp /tmp/before_readonly.ctl ./ora10r2/control01.ctl
注意到虽然控制文件比数据文件要新,但由于controlfile为rman所备份,所以需要加后缀using backup controlfile。此部分测试将在本测试完成后再做测试
14:35:44 SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
526338
526338
526338
526338
526534
14:36:19 SQL> select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
505976
505976
505976
505976
505976
14:34:52 SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
进行数据库恢复
14:36:28 SQL> recover database using backup controlfile;
ORA-00279: change 505976 generated at 12/19/2010 14:11:04 needed for thread 1
ORA-00289: suggestion : /oradata/archlog/1_5_728482772.dbf
ORA-00280: change 505976 for thread 1 is in sequence #5
14:38:20 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
。。。
ORA-00279: change 526655 generated at 12/19/2010 14:28:48 needed for thread 1
ORA-00289: suggestion : /oradata/archlog/1_15_728482772.dbf
ORA-00280: change 526655 for thread 1 is in sequence #15
ORA-00278: log file '/oradata/archlog/1_14_728482772.dbf' no longer needed for
this recovery
ORA-00308: cannot open archived log '/oradata/archlog/1_15_728482772.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
注意到Oracle找不到1_15_728482772.dbf,这是由于redolog尚未归档所致,要进行完全恢复,只要将redolog输进即可,Oracle会进行自己匹配恢复
14:38:48 SQL> recover database using backup controlfile;
ORA-00279: change 526655 generated at 12/19/2010 14:28:48 needed for thread 1
ORA-00289: suggestion : /oradata/archlog/1_15_728482772.dbf
ORA-00280: change 526655 for thread 1 is in sequence #15
14:38:57 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oradata/ora10r2_new/redo02.log
Log applied.
Media recovery complete.
由于用了using backup controlfile,必须要用 resetlogs选项打开。
14:40:53 SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
14:41:28 SQL> alter database open NORESETLOGS;
alter database open NORESETLOGS
*
ERROR at line 1:
ORA-01588: must use RESETLOGS option for database open
14:41:33 SQL> alter database open RESETLOGS;
Database altered
查看表空间状态和业务数据,并未丢失数据。
14:42:20 SQL> select status from dba_tablespaces where tablespace_name='ZHOU';
STATUS
---------
READ ONLY
14:56:00 SQL> conn zhou/zhou
Connected.
14:56:09 SQL> select count(*) from test1;
COUNT(*)
----------
50609
发表评论
-
buffer cache 的内部结构
2020-03-18 14:21 576BUFFER CACHE作为数据块的 ... -
Oracle OMC介绍
2020-03-18 13:19 484Oracle管理云服务(OMC)的大数据平台,自动收集的企业 ... -
参加Oracle勒索病毒防范专题培训会议
2019-09-27 17:15 5112019年7月22日,受邀参加Oracle勒索病毒防范专题培训 ... -
记一次内存换IO的Oracle优化
2019-09-27 16:50 826某客户数据库从P595物理 ... -
如何定位Oracle SQL执行计划变化的原因
2019-07-03 14:49 1458性能优化最难的是能够 ... -
如何定位Oracle SQL执行计划变化的原因
2018-10-30 09:24 1185性能优化最难的是能够 ... -
数据库性能优化目标
2018-10-08 10:59 518从数据库性能优化的场 ... -
数据库无法打开的原因及解决办法
2018-10-05 20:45 2117数据库的启动是一个相当复杂的过程。比如,Oracle在启动之前 ... -
怎么样彻底删除数据库?
2018-09-18 11:10 598Oracle提供了drop database命令用来删除数据库 ... -
Oracle减少日志量的方法
2018-09-10 10:17 865LGWR进程将LOG BUFFER中的 ... -
如何快速关闭数据库
2018-09-09 13:14 1231“一朝被蛇咬,十年怕井绳”。在没被“蛇”咬之前,很多DBA喜欢 ... -
关于《如何落地智能化运维》PPT
2018-05-17 10:19 1128在DTCC 2018发表《如何落地智能化运维》演讲,主要内容如 ... -
记录在redhat5.8平台安装oracle11.2容易忽视的几个问题
2018-05-11 19:58 577问题一:ping不通问题 在虚拟机上安装好linux系统后, ... -
《Oracle DBA实战攻略》第一章
2018-05-11 10:42 945即日起,不定期更新《OracleDBA实战攻略》一书电子版,请 ... -
Oracle 12c新特性
2018-05-11 10:33 898查询所有pdb [oracle@gj4 ~]$ sqlplu ... -
关于修改memory_target的值后数据库无法启动的问题
2017-02-28 12:24 3981操作系统:RHEL6.5 数据库版本:11.2.0.4 ... -
10g rac安装error while loading shared libraries libpthread.so.0 问题
2017-02-28 12:22 69311g rac安装在二节点跑脚本一般会报此错误: 解决这个问 ... -
记一次Oracle会话共享模式故障处理过程
2017-02-27 19:16 798故障简述 XXX第八人民医院HIS数据库7月13日11点左右从 ... -
RESMGR:cpu quantum等待事件处理过程
2017-02-27 18:23 2615由于数据库上线过程中出现大量的RESMGR:cpu quant ... -
谈谈log file sync
2014-03-19 14:18 1757数据库中的log file sync等待事件指的是,当user ...
相关推荐
rman> alter tablespace '表空间名' read only; ``` 6. **还原数据文件**: RMAN会自动还原相关数据文件,但有时可能需要指定具体文件: ``` rman> restore datafile '/path/to/datafile.dbf'; ``` 7. **...
尽管文档指出,READ ONLY表空间的数据文件不可删除,但实际测试表明这是可行的。 接着,我们讨论`OFFLINE`和`OFFLINE DROP`的区别。`OFFLINE`命令只是将数据文件设置为离线状态,不会实际删除它,而`OFFLINE DROP`...
创建和管理UNDO表空间的方法与普通表空间类似,但需要注意的是,系统通常有一个默认的UNDO表空间,且在打开状态下只能有一个UNDO表空间处于活动状态。若需切换,须执行: ``` ALTER SYSTEM SET undo_tablespace=...
为了确保数据库能够正常运行,SYSTEM 和 SYSAUX 表空间都必须处于在线状态。 C. Both tablespaces can be used for temporary storage if no temporary tablespace is defined. - **解释**: 这个选项也是不正确的...
- 在进行增量备份之前确保所有表空间都处于一致状态。 - 对于非常大的数据库,建议增加`rollparallel`的值以加快滚前速度。 - 仔细检查并验证目标环境的所有配置选项。 - 在最终切换前进行充分的数据校验以确保数据...
- **选项C**: 执行表空间时间点恢复 (TSPITR): 可行,能够将包含 `emp` 表的表空间恢复到某个时间点。 - **选项D**: Flashback Transaction Backout: 不适用于此场景,因为它只能撤销特定事务。 - **选项E**: ...
- 表空间状态:表空间可以处于online(在线)和read write(读写)状态,还可以是offline(离线)或read only(只读)状态。 - 数据字典组成:数据字典由一系列只读的数据字典表和数据字典视图构成。 - DML操作:...
当某个表空间处于离线状态时,如果存在正在进行的事务涉及该表空间中的数据,那么相关的回滚信息会被暂时保存在系统回滚段中。这种机制被称为DEFERED回滚段。一旦表空间重新上线,Oracle会从系统回滚段中提取相应的...
- 在 NOARCHIVELOG 模式下,即使数据库处于打开状态,也无法只备份 SYSTEM 表空间。 综上所述,这些知识点覆盖了 Oracle 数据库管理员在备考 1Z0-052 认证过程中需要了解的核心概念和技术细节,对于提高数据库管理...
在描述中提到的“STARTUP”命令是用来启动Oracle数据库实例的,而“READ ONLY”则是指使数据库处于只读状态。最佳的操作方案是B:`STARTUP MOUNT; ALTER DATABASE READ ONLY;`。这个步骤首先启动实例并挂载数据库,...
- 在只读模式下,大部分的DDL操作会被禁止,例如创建表空间、添加日志文件等。 - 允许的DDL操作包括:离线/在线数据文件、切换归档模式等。 - 查看当前数据库的状态,可以查询`V$DATABASE`视图中的`OPEN_MODE`字段。...
- 备用数据库(Standby Database):用于在主数据库出现故障时接管的数据库,它可以是开放读取的备用(Read-Only Standby)或冷备用(Cold Standby)。 2. **创建物理备用数据库**: 创建物理备用数据库的第一步...
在使用Eclipse过程中,可能会遇到某些插件处于Read-Only状态,导致无法进行修改或更新。此时,重置Eclipse至初始状态可能是一个有效的解决策略。具体操作包括删除`configuration`和`p2`目录下的相关文件,尤其是`...
21. 一个表空间具有离线(OFFLINE)、在线(ONLINE)、只读(READ ONLY)、读写(READ WRITE)状态。 二、选择 1.在全局存储区SGA中,哪部分内存区域是循环使用的?( B ) A.数据缓冲区 B.日志缓冲区 C. 共享池 D...
`命令检查所有表空间的状态,确保没有表空间处于OFFLINE或READ ONLY状态。 - **日志文件是否正常**: - 确认日志文件是否正确生成并记录,这对于故障排查非常重要。 **2. 日常工作 - 每隔一周的工作内容** - **...
在Oracle数据库环境中,Active Data Guard (ADG) 是一种高可用性和灾难恢复解决方案,它允许在主数据库处于活动状态时创建一个实时同步的备用数据库。本文将深入探讨在Oracle 11g环境下如何构建单实例ADG的过程,...
- `OPEN <READ {ONLY|WRITE [RECOVER]} | RECOVER> <database_name>`: 完全打开数据库,可能包括恢复操作。 - **关闭数据库**: - `shutdown [NORMAL|ABORT|IMMEDIATE|TRANSACTIONAL [LOCAL]]`: 不同的选项提供...
**创建一个表空间,增加一个自动扩展到最大值的数据文件** 创建一个带有自动扩展功能的新表空间: ```sql CREATE TABLESPACE new_tbs DATAFILE '/path/to/newdatafile.dbf' SIZE 100M AUTOEXTEND ON MAXSIZE ...
EEPROM,全称Electrically Erasable Programmable Read-Only Memory,是一种非易失性存储器,即使断电也能保持数据。在微控制器中,EEPROM常用于存储配置参数、固件更新或用户设置等信息。由于其可以进行电擦除和...