欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

RedHat Linux上Oracle 11g从oradata恢复数据

程序员文章站 2022-05-10 14:20:54
...

首先,需要用原来的系统盘,在C机器上按着A机器(oracle挂的机器)上的设置做了一个系统。这里一定要保证机器名和IP都要一样。然

莫非定理在验证着一切存在的东西,于是自己在RedHat上装的Oracle 11g就被命中。本来安装时就小心翼翼,不敢重启机器(由于是我第一次安装,所以特别担心,),生怕出现问题,所以在安装成功后就没有关闭过机器。就在几天前,由于机房整改,导致断电。全部机器重启,这一重启,我安装的oracle就挂了。当时,心里面就凉了。那里面可有260多G的数据那。我晕。对于我这样的oracle菜鸟,可是如遭天崩。于是,快速打开度娘,搜索怎么恢复。在看了一圈之后,选定了从oradata恢复。为了保险,,我就把260多G的数据全部拷贝到B机器上。

首先,需要用原来的系统盘,在C机器上按着A机器(oracle挂的机器)上的设置做了一个系统。这里一定要保证机器名和IP都要一样。然后再用同一版本oracle安装盘在C机器上安装Oracle。在安装中要设置环境变量(即.bash_profile文件),这里的环境变量更要与A机器上一致。然后打开控制台,在sqlplus中用sys用户登陆oracle数据库,这时使用shutdown immediate命令关闭oracle数据库。

然后,把B机器上oradata数据全部拷到C机器的oracle安装目录的同名文件夹下,覆盖到C机器上的oradata文件夹。为了保险,可以用chown -R oracle:oinstall /home/app/oradata 和chown -R 775 /home/app/oradata命令设置文件的属性。到这里之后,先不要急着启动数据库。而是要把flash_recovery_area中文件全部删除。然后自己再建立与SID同名的文件夹(大小写保持一致),然后把oradata文件夹下一级文件夹下的control01.ctl文件拷贝到刚才在flash_recovery_area文件下建立的SID同名文件夹下,并重命名为control02.ctl。

做好以上的这些操作之后,这是就可以用startup命令打开数据库。如果不报错就可以正常使用了。(我在两台机器上都测试通过)

RedHat Linux上Oracle 11g从oradata恢复数据