oracle基于scn的不完全恢复
下面做一个实验,使用scn进行不完全恢复(做之前要确保数据库有有效备份):首先在hh用户下创建一张表h2,在表中插入数据:SQL> create table h2(id int);Table created.SQL> insert into h2 values(1);1 row created.SQL> commit;Commit complete.SQL> insert into h2 values(2);1 row created.SQL> sel...
使用_allow_resetlogs_corruption强制打开数据库
试想一下这种情况:你的数据库异常关闭了,且current日志组丢失了,更重要的是你的数据库没有备份,那么这种情况下有什么办法可以打开数据库呢?说到这,我们有必要来了解一下oracle的一个特殊的隐含参数:_allow_resetlogs_corruption这个参数如果设置成TRUE的话,那么oracle就可以强制打开数据库,忽略一致性等问题。...
丢失活动或当前日志组的恢复
我们知道current状态的日志组是oracle正在使用的日志组,也就是LGWR在写的日志组,如果这种状态的日志组丢失了,那么我们如何来恢复呢?这里要分成两种情况,一种是数据库正常关闭,一种是数据库异常关闭。如果数据库是正常关闭的,由于此时数据库已经完成了检查点,所有提交的事务都已经被写入到数据文件中,所以不存在...
丢失非活动日志组的恢复
报错信息:SQL> startupORACLE instance started.Total System Global Area 849530880 bytesFixed Size 1339824 bytesVariable Size 520097360 bytesDatabase Buffers ...
简述oracle日志组的四种状态
可以用以下SQL语句查询oracle各日志组的状态:SQL> select group#,members,status from v$log; GROUP# MEMBERS STATUS---------- ---------- ---------------- 1 1 INACTIVE 2 &nb...
磁盘损坏导致数据文件丢失的恢复
如果磁盘损坏了,那么我们怎么将备份的数据文件恢复到新的位置呢?下面我们做个试验:报错信息:SQL> shutdown immediate;ORA-01116: error in opening database file 6ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/test01.dbf'ORA-27041: unable to open fileLinux Error: 2: No such file or directory...
数据文件丢失的恢复
报错信息:SQL> startupORACLE instance started.Total System Global Area 849530880 bytesFixed Size 1339824 bytesVariable Size 511708752 bytesDatabase Buffers ...
ORA-16014: log 1 sequence# 4 not archived, no available destinations
今天重新建了一个库,在执行alter system switch logfile;时一直夯在那里,于是查看警报日志文件,有如下信心:Thu Aug 21 19:25:30 2014Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_arc0_15710.trc:ORA-19504: failed to create file "/u01/app/archivelog/dest2/1_4_856205535.dbf"ORA-27040: ...
没有自动备份的情况下控制文件全部丢失的恢复
报错信息:SQL> startupORACLE instance started.Total System Global Area 849530880 bytesFixed Size 1339824 bytesVariable Size 515903056 bytesDatabase Buffers ...
控制文件全部丢失的恢复
报错信息:SQL> startupORACLE instance started.Total System Global Area 849530880 bytesFixed Size 1339824 bytesVariable Size 515903056 bytesDatabase Buffers ...
控制文件部分丢失的恢复
报错信息:SQL> startupORACLE instance started.Total System Global Area 849530880 bytesFixed Size 1339824 bytesVariable Size 515903056 bytesDatabase Buffers ...
获取oracle的隐含参数
下面我们逐步研究如何得到获取隐含参数的方法。我们平时通过show parameter xxx来查询的参数都属于非隐含参数,这是通过v$parameter这个动态性能视图得到的,这个动态性能视图记录了数据库运行时的信息和统计数据。 我使用的是oracle11gSQL> select * from v$version where rownum
oracle11g控制文件自动备份延迟特性
昨天发现了一个问题,在rman中开启了configure controlfile autobackup on;之后在数据库中添加了一个表空间,然后到控制文件自动备份缺省路径上去看,发现并没有产生控制文件的自动备份。在网上查了资料,才发现在oracle11gR2中已经改变了这一特性。在oracle10g,如果数据库处于自动归档模式,且configuer controlfile au...
RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece
在上一篇《spfile丢失的恢复》实验中,恢复过程出现RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece,下面我们来详细地讨论一下这个错误产生的原因和解决的方法。我们把错误再次贴出来:RMAN> restore spfile from autobackup;Starting restore at 16-AUG-14using channel ORA_DI...
spfile丢失的恢复
报错信息:SQL> startupORA-01078: failure in processing system parametersLRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'错误显示找不到参数文件,数据库无法nomount。下面我们使用rman进行恢复。[oracle@localhost ~]$ rman target / nocatalogRec...
使用rman备份的脚本
全库备份脚本:run{2> allocate channel c1 type disk;3> allocate channel c2 type disk;4> allocate channel c3 type disk;5> backup full tag 'dbfull' format6> '/u01/app/backup/fulldb_%U' 7> database;8> sql 'alter system switch logfile';9> release channel c1;10> release channel c2;11> rele...
通过oracle的脚本研究其建库过程
要想深入地了解oracle,研究其创建过程的脚本十分有用的。下面我们一起来研究一下oracle数据库在创建过程中用到的脚本。 oracle11g建库脚本是存放在目录/u01/app/oracle/admin/scripts下的(不同版本脚本有所不同)。有这么几个脚本:[oracle@localhost scripts]$ lscloneDBCreation.sql lockAccount.sql...
用户密码过期的处理
我们可以通过视图dba_users查看当前数据库的用户和状态信息:SQL> select username,account_status from dba_users;USERNAME ACCOUNT_STATUS------------------------------ --------------------------------MGMT_VIEW ...
oracle自动归档的设置
在oracle10g之前,如果我们要让数据库运行在归档模式,首先要让数据库处于mount状态,然后执行sql>alter database archivelog;此外,还必须设置参数log_archive_start这个参数值为true,才可以启动自动归档。从oracle10g开始log_archive_start就被弃用了。只要你将数据库设置成归档模式,那么数据库就会运行在自动归档...
oracle归档日志存储路径的设置
log_archive_dest和log_archive_dest_n是不能同时使用,oracle之所以保留log_archive_dest是为了向后兼容。如果我们原来使用的是log_archive_dest,现在希望使用log_archive_dest_n,那么首先我们必须不使用log_archive_dest这个参数。sql>alter system reset log_archive_dest scope=spfile sid='*';之后我们就可以设置...