13.1 恢复密码文件 密码文件(linux 为例)在$ORACLE_HOME/dbs目录下,文件名的前缀是orapw,后接数据库实例名. [oracle@DSI backup]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs/ -rw-r----- 1 oracle oinstall     1536 Jul 25 10:15 orapworcl 该文件只为两个权限服务:SYSDBA和SYSOPER 密码文件的丢失或损坏导致需要访问该文件的相关操作都失败…
13.5 恢复临时文件 临时文件没有也不应该备份.通过V$TEMPFILE可以找到所有的临时文件. 此类文件的损坏会造成需要使用临时表空间的命令执行失败,不至于造成实例崩溃或session中断.由于临时表空间不用保存永久性数据,所以RMAN不会对其备份,一旦损坏采用的恢复策略是替换或者重建. SQL> ALTER TABLESPACE TEMP ADD TEMPFILE ... 13.6 恢复在线重做日志 所谓恢复在线日志是指其损坏后,创建新的日志取代受损的日志,最终的目的是能够让LGWR进程和…
13.3无备份恢复控制文件 没有备份恢复控制文件其实就是在nomount状态,create control创建一个新的控制文件. dba必须知道4个信息才能正确的创建:数据库名.在线日志路径及其大小.在线的可读/写数据文件路径.数据库字符集 其中指定数据库字符集是为了在打开数据库之前执行recover tablespace  ..或restore tablespace时可以正确解析表空间名称 --之前在dsi系列介绍了使用bbed查看数据文件头的方式来确定字符集,数据库名等方法. --maxlo…
UNDO表空间存储着DML操作数据块的前镜像数据,在数据回滚,一致性读,闪回操作,实例恢复的时候都可能用到UNDO表空间中的数据.如果在生产过程中丢失或破坏了UNDO表空间,可能导致某些事务无法回滚,数据库无法恢复到一致性的状态,Oracle实例可能宕机,之后实例无法正常启动:如果有多个UNDO表空间数据文件,丢失其中一个数据文件数据库实例可能不会导致实例宕机,数据库无法干净的关闭(只能SHUTDOWN ABORT),数据库实例能正常的重启,但所有未回滚的数据块依然无法处理,尝试新建UNDO表空…
搞了一天,终于成功迁移.由于一开始就没备份过程实在很曲折. 希望本篇对那些没有备份习惯的朋友们有所帮助. 准备工作: sudo vim /etc/fstab 在文件中加入: /dev/sdb8       /home            ext4    user,rw 0       2 这里其实有问题的,后面会提到 一个新的linux分区,这里我的新分区是sdb8,个人不尽相同.我用的是ext4格式,注意要新的,不要有坏块,最好重新格式化下.我就是因为没格式化,吃过亏,logo界面就提示挂载…
公司有个同事在未打招呼的情况下把公司服务器进行重新装系统,崩溃啊.SVN之前未备份,还好SVN的库(Repositories)还在,如下图: 恢复办法如下: 由于之前安装的就是VisualSVN-Server,所以我下载了最新版的VisualSVN-Server.下载及安装方法参考svnmanager的安装,我安装的是VisualSVN-Server-4.1.3-x64这个版本. 安装完成后.我把新安装的库文件Repositories名称进行更改为Repositories_new进行了备份.把之…
本文主要描述Oracle备库日志与主库日志之间有gap,切主库这部分gap的归档日志已经删除或丢失,如何在不重建备库的情况下,恢复备库. 欢迎转载,请注明作者.出处. 作者:张正 blog:http://space.itpub.net/26355921  QQ:176036317 如有疑问,欢迎联系. 在dataguard环境中,由于主库archivelog丢失,且尚未同步到standby,问如何在避免 重建standby的情况下来将standby恢复成功的. 下面是我的测试过程,供参考! —-…
Oracle redo 日志损坏的几种情况下的恢复 第一:损坏的redo为非正在使用的redo log 1.归档模式,不是当前正在日志损坏,数据库打开模式. 模拟损坏:SQL> select * from v$log;    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME--------…
创建实验表postgres# create table t (n_id int primary key,c_name varchar(300));CREATE TABLEpostgres# insert into t select id,(id*1000)::text as name fromgenerate_series(1,1000) id;INSERT 0 1000postgres# delete from t where n_id =1000;DELETE 1postgres# upda…
ORACLE数据库不同故障下的恢复总结1. 非归档模式下丢失或损坏的文件--1.1 数据文件--启动数据库的状态到MOUNT--恢复方法:通过之前创建的数据库完整备份,修复整个数据库,不过备份之后发生的所有修改将丢失:修复数据库之后不需要进行RECOVER操作.(由于没有归档,也无从RECOVER),直接通过RESETLOGS方式打开数据库即可. --1.2 数据文件及联机重做日志文件--启动数据库的状态到MOUNT--恢复方法(同上):通过之前创建的数据库完整备份,修复整个数据库,不过备份之后…