公司最近的客户需要在LINUX系统中做数据迁移,备份出来的内容数据库物理文件,回档日志和SpfileXXXX

客户用的是北京霆智的X8备份阵列,X8与数据库服务器都放在IDC机所,IDC机房与客户之间用VPN相连,我这边只能通过远程连接到客户办公室的一个笔记本电脑作为跳板机在远程到ORACLE服务器与ORACLE恢复机,恢复机客户的机房;

首先就是下载X8中的备份,X8每天都是备份ORACLE数据太大有时候服务器吞吐量大的时候一天愣是传不完。还好客户要的不是最新数据,我看了一下当月23号的数据,

二话不说,在恢复机上安装X8的客户端,输入用户名,下载,搞定睡觉,明天在看。。。。

诸事不顺,客户数据下载下来之后测试机放不了,磁盘满。。。。GAMEOVER

跟客户那边联系人说了一下,那边说申请加个磁盘。(汗!这个说怪我也不怪说,霆智的X8III里备份后的数据都是经过打包,压缩,分割成小块,ORACLE库物理文件+一大堆归档日志文件,我也算不出过来),最后算了一下,大约500G左右,让客户加个1T的硬盘。

过两天,客户硬盘申请完毕,开始,登录客户端,输入用户名密码,恢复,下载。睡觉!! 为什么问我总是在睡觉,因为白天在跑客户晚上才有时间远程啊,这里不得不说现在的远程工具还真方便 ,不过什么时候公司把我们家的网费报销一下?-_-|||

第二天,远程在看没下载完。。。然后就是快乐的5.1劳动节了!5.1客服放假,跳板机不知道是被关机还是被拿走了,反正我是连不上了!好吧,给自己放个假,出去带家人玩了3天,回来就生病了,这IT人员的破身体真是不行!!

不过不得不说IT人员有病也能工作,5.1开班了,继续远程,这回是白天了,上去看了一下,恢复机的下载被人中断了,备份没有下载完全。马上去X8中上月23号的备份,一看傻眼了,23号的备份被覆盖了,霆智X8III的覆盖机制是7天,这TMD都半个月了。我也是真傻眼,下载了一个最新的少的那两个文件想试试能不能恢复。

这回不知道IDC机房的网速怎么这么给力,25M/s 晚上就下载完了,下班回来看了连了一个跳板机在线,两分钟吃完饭开搞

跟我一样的小白从这里开看,上面都是啰嗦!

切换Linux用户:su - oracle

把SPfileXXXX文件复制到ORACLE_HOME/dbs/文件夹下:

CP /data2/Oracle\ Database\ Server/oracle/app/oracle/product/11.2.0/db_1/dbs/spfileXXXX.ora   /app/oracle/product/11.2.0.4.0/dbhome_1/dbs/spfileXXXX.ora

创建实例密码文件:orapwd file=/oracle/app/oracle/product/11.2.0/db_1/dbs/XXXX password=111111

设置当前实例:export ORACLE_SID=XXXX

进SQLPLUS:sqlqlus / as sysdba

创建pfileXXXX.ora:

create  /app/oracle/product/11.2.0.4.0/dbhome_1/dbs/pfileXXXX.ora  /app/oracle/product/11.2.0.4.0/dbhome_1/dbs/spfileXXXX.ora

查看一下pfile文件:

cat /app/oracle/product/11.2.0.4.0/dbhome_1/dbs/pfileXXXX.ora

主要看一里面的路径,其它一般都不用改(这次我就遇到了不一般的情况,这个一会儿在说)

看完了头疼了一下,ORACLE主目录不一样,数据文件存放路径不一样,就没有一样的;

看了一下磁盘空间

根目录 / 还有340M

tmpfs目录空间 总大小 4G,使用率80%

看完之后头疼了第二下,在难也要搞!稍微清理了一下根目录,腾出6G空间,其它全部用文件链接,linux的文件链接真是个好东西

用软链接命令 ls: ls -s 源文件 目标文件或s -s 源文件夹 目标文件夹,很长一大串的文件链接和文件夹链接,测试一下,全部OK

sqlplus / as sysdba

startup mount pfile=$ORACLE_HOME/dbs/spfileXXXX.ora; 启动实例

报错:ORA-00845

这个简单,刚才说了tmpfs目录总大小是4G,被使用了80%,说明这个Oracle里面还有其它实例,停了它 shutdown immediate;

sqlplus / as sysdba

startup mount pfile=$ORACLE_HOME/dbs/spfileXXXX.ora; 启动实例

继续报错:ORA-00845

说明4G不够,我们用的,加大到8G,这样一来,我们的根目录又小了,应该还有2G了

mount -o size=8G -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm

上面这个命令要在root用户下执行,我用shell连接的Linux,用多个命令窗口,这样方便多了,要不然来回切用户的话还要重新初始化当前Oracle实例;

sqlplus / as sysdba

startup mount pfile=$ORACLE_HOME/dbs/spfileXXXX.ora; 启动实例

继续继续报错:ORA-00845

还是不够大,看看pfileXXX.ora文件里的 memory_target 值,我的天,40多G,改吧,恢复机是没办法达到这个要求的,去掉一位数

sqlplus / as sysdba

startup mount pfile=$ORACLE_HOME/dbs/spfileXXXX.ora; 启动实例

这回成功到mount 模式下了,用命令打开一下事实,alter database open resetlogs;

system01.dbf 报错 ORA-01113

restore database;报错 一致性错误
recover database; 报错一致性错误,我想不起来错误号了,这里说明一下,我的控制文件是4月23号的,部分表空间文件是5月6号的

听说可以用recover datafile 来恢复文件介质,好像是叫不一致性恢复。反正我没试过,哪位高手用过教我一下可好?

进RMAN用归档文件恢复一下试试 :recover database until sequence=21709 thread=1;

还是报错,缺少一在堆归档日志文件。下载了最新的控制文件也不行,最新的归档日志文件,告诉我要从SCN编号为xxxxxxxxxxxxx的开始恢复

完全失败,一看时间,半夜1点多了,睡觉吧!把旧的备份文件全部删除,重新下载。3点睡吧

第二天,下载完是晚上8点半了,远程链接跳板机,一个对话框蹦出来了,电量不足,看了下笔记本,插着电源呢?看了下跳板机,天啊,没电了,发微信给客户,公司有人没,笔记本没电了,客户回:公司没人,走的时候电源接着呢,可能是客户走了之后有同事把电源拔走了;

没办法,看了一下,8%电量,抓紧时间,干吧

还好昨天晚上把软链接都建好了,什么都不用改,Pfile文件也都改好了,抓紧时间,启动

报错:控制文件不让写入

越忙越乱,忘记从X8备份阵列下载下来的文件用户跟用户组都是root了

改Linux用户及用户组命令: chown -R oracle:oinstall 目标文件夹

在启动,成功!

到RMAN里恢复归档文件

屏幕一黑,完了,跳板机没电了,现在还早,不到9点,开个博客吧,把这段经历写下来,以后回忆一下!

明天继续!

Oracle For Linux 恢复日记 霆智X8III的更多相关文章

  1. rman恢复方案和oracle异机恢复

    这篇文章主要介绍了rman恢复方案和oracle异机恢复,需要的朋友可以参考下 注:①恢复的前提是已经做好备份②完全恢复数据库是数据库遇到故障,在恢复时候没有丢失任何已经提交事物数据的恢复不完全恢复数 ...

  2. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  3. 大并发连接的oracle在Linux下内存不足的问题的分析

    大并发连接的oracle在Linux下内存不足的问题的分析 2010-01-28 20:06:21 分类: Oracle 最近一台装有Rhel5.3的40G内存的机器上有一个oracle数据库,数据库 ...

  4. Oracle Enterprise Linux 64-bit下安装apache-tomcat-7.0.53步骤

    測试环境:VMware Workstation v9.0.2软件中安装好Oracle Enterprise Linux 5.8 64-bit虚拟机 安装软件:jdk-7u40-linux-x64.rp ...

  5. Oracle Enterprise Linux 64-bit 下Oracle11g的监听配置修改及测试步骤

    测试环境:Oracle Enterprise Linux 64-bit (5.8版本) + Oracle 11g 64位 相关说明: Oracle11g64位软件的安装位置为/u01/app/orac ...

  6. Linux管理日记(二)

    14  启动内网端口转发 ### 2. 查看IP以及网卡信息 # 可以发现, eth0 的地址 inet addr:10.144.7.195, 此为内网网卡 # 公网网卡, eth1 的地址 inet ...

  7. Oracle Enterprise Linux 6.4 下挂载ISCSI 设备

    Oracle Enterprise Linux 6.4 下挂载ISCSI 设备一.发现① 要求安装iscsi客户端软件   yum install iscsi-initiator-utils ② 发现 ...

  8. Oracle 备份、恢复单表或多表数据步骤

    Oracle 备份.恢复单表或多表数据步骤,适用于 Oracle 8.9.10.        *备份单表或多表数据: exp user/password@server file=filefullpa ...

  9. Oracle Enterprise Linux 64-bit 下Oracle11g的监听配置改动及測试步骤

    測试环境:Oracle Enterprise Linux 64-bit (5.8版本号) + Oracle 11g 64位 相关说明: Oracle11g64位软件的安装位置为/u01/app/ora ...

随机推荐

  1. 我是这样手写Spring的,麻雀虽小五脏俱全

    人见人爱的Spring已然不仅仅只是一个框架了.如今,Spring已然成为了一个生态.但深入了解Spring的却寥寥无几.这里,我带大家一起来看看,我是如何手写Spring的.我将结合对Spring十 ...

  2. vue-router模式history与hash

    [重点] history与hash路由的区别 hash前端路由,无刷新 history 会去请求接口 vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 U ...

  3. 借助模板类自动实现COM连接点接收器(Sink)更新

    之前在借助模板类自动实现COM连接点接收器(Sink)中对原作者的代码进一步封装,弄清了连接点使用的原理,在看ATL代码的过程中,发现ATL本身就提供了AtlAdvise/AtlUnadvise这样的 ...

  4. IE、chrome驱动下载地址

    http://selenium-release.storage.googleapis.com/index.html IE驱动https://sites.google.com/a/chromium.or ...

  5. 架构篇 | LAMP 架构应用案例 - 部署 PHPMyAdmin 系统(二)

    作者 | JackTian 微信公众号 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066)备注:来自博客园 1.什么是 phpMyadmin 系统? ...

  6. 每天一道Rust-LeetCode(2019-06-02)

    每天一道Rust-LeetCode(2019-06-02) Z 字形变换 坚持每天一道题,刷题学习Rust. LeetCode原题 Z 字形变换 题目描述 将一个给定字符串根据给定的行数,以从上往下. ...

  7. Gym - 102056C(2018EC final) -Heretical … Möbius ——CRT

    题意 给出一个长为200的01序列,判断是否在前1e9个莫比乌斯*值中.(这里的莫比乌斯值加了绝对值) 分析 意到因为4的倍数一定是0,9的倍数一定是0……169的倍数一定是0.那么我们可以对4,9, ...

  8. 【LG3322】[SDOI2015]排序

    [LG3322][SDOI2015]排序 题面 洛谷 题解 交换顺序显然不影响答案,所以每种本质不同的方案就给答案贡献次数的阶乘. 从小往大的交换每次至多\(4\)中决策,复杂度\(O(4^n)\). ...

  9. 关于组件--React

    组件按照页面结构可以分成,头部.底部.内容部分.这样就可以写三个组件. 组件内部还可以包含下一级组件, 比如头部,可以包含登录,注册等组件. 底部 可以 包含一些链接等. 内容部分可以包含表单组件.按 ...

  10. 【HDU6216】 A Cubic number and A Cubic Number 和 广工的加强版

    题目传送门_杭电版 题目传送门_广工版 广工版的是杭电版的加强版. 题意:判断一个质数是否是两个整数的立方差 ---- 数学题 题解: 根据立方差公式:\(a^3 - b^3 = (a - b)(a^ ...