仅仅丢失一个普通用户数据文件的恢复B(脱机恢复)

*仅仅丢失一个普通用户数据文件的恢复B(脱机恢复)

请大家在不同的题目下跟贴,共同讨论
  
再来一个:
  
*仅仅丢失一个普通用户数据文件的恢复B(脱机恢复)
准备工作
按照下面的输入,如果全部恢复,应该可以看到insert into test1 values(13),因为insert into test1 values(14)没提交。
SQL> conn lunar/lunar
Connected.
SQL> insert into test1 values(13);
  
1 row created.
  
SQL> commit;
  
Commit complete.
  
SQL> insert into test1 values(14);
  
1 row created.
  
Shutdown immediate,然后模拟数据文件丢失
单开一个session,执行shutdown immediate(保证insert into test1 values(14);没有被隐士提交)
  
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
  
E:/>sqlplus internal
  
SQL*Plus: Release 8.1.7.0.0 - Production on 星期一 10月 21 02:36:07 2002
  
(c) Copyright 2000 Oracle Corporation.  All rights reserved.
  
连接到:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
  
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
模拟数据文件丢失,然后用热备覆盖这个文件
mount数据库
E:/>sqlplus internal
  
SQL*Plus: Release 8.1.7.0.0 - Production on Mon Oct 21 02:42:47 2002
  
(c) Copyright 2000 Oracle Corporation.  All rights reserved.
  
Connected to an idle instance.
  
SQL> shutdown immediate
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SQL> startup mount
ORACLE instance started.
  
Total System Global Area   25856028 bytes
Fixed Size                    75804 bytes
Variable Size               8925184 bytes
Database Buffers           16777216 bytes
Redo Buffers                  77824 bytes
Database mounted.
SQL>
使损坏的数据文件脱机
SQL> alter database datafile 'D:/BACKUPDB/USERS01.DBF' offline;
  
Database altered.
  
恢复数据文件
SQL> recover datafile 'D:/BACKUPDB/USERS01.DBF';
ORA-00279: change 424116 generated at 10/20/2002 20:42:04 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00001.ARC
ORA-00280: change 424116 for thread 1 is in sequence #1
  
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 424125 generated at 10/20/2002 20:44:14 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00002.ARC
ORA-00280: change 424125 for thread 1 is in sequence #2
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00001.ARC' no longer needed
for this recovery
  
ORA-00279: change 424135 generated at 10/20/2002 21:55:35 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00003.ARC
ORA-00280: change 424135 for thread 1 is in sequence #3
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00002.ARC' no longer needed
for this recovery
  
ORA-00279: change 424139 generated at 10/20/2002 21:57:42 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00004.ARC
ORA-00280: change 424139 for thread 1 is in sequence #4
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00003.ARC' no longer needed
for this recovery
  
ORA-00279: change 424143 generated at 10/20/2002 21:57:54 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00005.ARC
ORA-00280: change 424143 for thread 1 is in sequence #5
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00004.ARC' no longer needed
for this recovery
  
ORA-00279: change 444145 generated at 10/20/2002 22:01:23 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00006.ARC
ORA-00280: change 444145 for thread 1 is in sequence #6
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00005.ARC' no longer needed
for this recovery
  
ORA-00279: change 464194 generated at 10/20/2002 22:24:10 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00007.ARC
ORA-00280: change 464194 for thread 1 is in sequence #7
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00006.ARC' no longer needed
for this recovery
  
ORA-00279: change 484347 generated at 10/21/2002 00:16:14 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00008.ARC
ORA-00280: change 484347 for thread 1 is in sequence #8
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00007.ARC' no longer needed
for this recovery
  
ORA-00279: change 484401 generated at 10/21/2002 00:30:27 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00009.ARC
ORA-00280: change 484401 for thread 1 is in sequence #9
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00008.ARC' no longer needed
for this recovery
  
ORA-00279: change 484453 generated at 10/21/2002 00:33:51 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00010.ARC
ORA-00280: change 484453 for thread 1 is in sequence #10
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00009.ARC' no longer needed
for this recovery
  
ORA-00279: change 484508 generated at 10/21/2002 00:38:40 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00011.ARC
ORA-00280: change 484508 for thread 1 is in sequence #11
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00010.ARC' no longer needed
for this recovery
  
ORA-00279: change 504514 generated at 10/21/2002 00:51:00 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00012.ARC
ORA-00280: change 504514 for thread 1 is in sequence #12
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00011.ARC' no longer needed
for this recovery
  
Log applied.
Media recovery complete.
SQL>
  
使恢复的数据文件联机
SQL> alter database datafile  'D:/BACKUPDB/USERS01.DBF'  online;
  
Database altered.
  
打开数据库
SQL> alter database open;
  
Database altered.
  
SQL>
  
这时需要重新启动数据库,并完全恢复数据库
SQL> conn lunar/lunar
Connected.
SQL> select count(*) from test;
select count(*) from test
                      *
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> conn internal
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
重新启动数据库,
SQL> startup
ORACLE instance started.
  
Total System Global Area   25856028 bytes
Fixed Size                    75804 bytes
Variable Size               8925184 bytes
Database Buffers           16777216 bytes
Redo Buffers                  77824 bytes
Database mounted.
Database opened.
SQL>
用recover database再次恢复数据库
SQL>  conn internal
Connected.
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01124: cannot recover data file 1 - file is in use or recovery
ORA-01110: data file 1: 'D:/BACKUPDB/SYSTEM01.DBF'
  
重新使恢复的表空间联机
SQL> alter database datafile 'D:/BACKUPDB/USERS01.DBF'  online;
  
Database altered.
  
SQL> conn lunar/lunar
Connected.
SQL> select * from test1;
  
          A
----------
          1
          2
          3
          4
          5
          6
          7
          8
          9
         10
         11
  
          A
----------
         12
         13
  
13 rows selected.
  
SQL>
验证恢复结果:完全恢复
说明:
1.  用热备覆盖这个文件   
2.  mount数据库   
3.  使损坏的数据文件脱机   
4.  恢复数据文件   
5.  使恢复的数据文件联机   
6.  打开数据库   
7.  这时需要重新启动数据库,并完全恢复数据库   
8.  重新启动数据库,   
9.  用recover database再次恢复数据库   
10.  重新使恢复的表空间联机  

http://www.cnoug.org/viewthread.php?tid=86&highlight=%2Blunar


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
oracle9i for rhel3 install 1、 准备好所需的以下安装包: Oracle9i安装文件: [Oracle9i.Database.Release.2.--.9.2.0.4.0.for.Linux.x86].ship_9204_linux_disk1.cpio.gz [Oracle9i.Database.Release.2.--.9.2.0.4.0.for.Linux.x86].ship_9204_linux_disk2.cpio.gz [Oracle9i.Database.Release.2.--.9.2.0.4.0.for.Linux.x86].ship_9204_linux_disk3.cpio.gz RHEL3的补丁文件: p4198954_21_linux.zip 另注: 解压.gz文件的方法是: gunzip [Oracle9i.Database.Release.2.--.9.2.0.4.0.for.Linux.x86].ship_9204_linux_disk1.cpio.gz 解压cpio文件的方法是: cpio -idv < [Oracle9i.Database.Release.2.--.9.2.0.4.0.for.Linux.x86].ship_9204_linux_disk1.cpio 解压.zip文件的方法是: unzip p4198954_21_linux.zip 2、 配置内核参数: vi /etc/sysctl.conf kernel.core_uses_pid = 1 kernel.shmmax=2147483648 kernel.shmmni=4096 kernel.shmall=2097152 kernel.sem=250 32000 100 128 net.ipv4.ip_local_port_range=1024 65000 fs.file-max=65536 3、 让所修改的内核参数及时生效: sysctl -p 4、 添加安装和管理oracle软件所需的用户、组和目录: groupadd dba groupadd oinstall useradd -g oinstall -G dba oracle passwd oracle mkdir /oracle mkdir /oradata chown -R oracle:oinstall /oracle chown -R oracle:oinstall /oradata chown -R oracle:oinstall /software/ 5、 配置输出环境变量,调出oracle安装图形界面locate机器: export DISPLAY=10.1.1.1:0.0(图形界面显示到….这部机器) xhost +(本机安装!如不是在本机安装请配置IP地址) xclock(测试) 6、 安装oracle软件 su - oracle ./runInstall 一开始安装时,可能会出现这样的问题: [oracle@oracle Disk1]$ ./runInstaller [oracle@oracle Disk1]$ Initializing Java Virtual Machine from /tmp/OraInstall2009-01-07_12-33-13PM/jre/bin/java. Please wait... Error occurred during initialization of VM Unable to load native library: /tmp/OraInstall2009-01-07_12-33-13PM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference 官方说明是这样的: To install the compat-oracle-rhel4 and compat-libcwait packages you have to download the patch 4198954 from http://metalink.oracle.com. Make sure to select the Linux x86 platform for 32bit (for 64bit it would be patch 5386899). To unzip the downloaded p4198954_21_LINUX.zip file 去csdn上可以下载到以上包 p4198954_21_linux.zip 解压并安装(可能只能安装成功一个包,不过没什么关系,不会影响后来的安装工作),安装完成以后再切换到oracle用户运行./runInstall 7、 在RHEL4上安装ORACLE10G时出现的部分情况: -------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------- 在rhel4上安装oracle10g的时候,当把安装文件传到/software上后,可能部分文件的权限会发生改变,像我在装的时候就出现了一下两个问题: [oracle@test oraclelinux]$ ./runInstaller ./runInstaller: line 54: /software/oraclelinux/install/.oui: Permission denied [oracle@test oraclelinux]$ ll /software/oraclelinux/install/.oui -rw-r--r-- 1 oracle oinstall 163185 Jul 2 2005 /software/oraclelinux/install/.oui [oracle@test oraclelinux]$ chmod 777 /software/oraclelinux/install/.oui [oracle@test oraclelinux]$ ./runInstaller Starting Oracle Universal Installer... Checking installer requirements... Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2 Passed All installer requirements met. Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-01-08_10-15-51PM. Please wait ...sh: /software/oraclelinux/install/unzip: Permission denied Error in writing to directory /tmp/OraInstall2009-01-08_10-15-51PM. Please ensure that this directory is writable and has atleast 60 MB of disk space. Installation cannot continue. : Success [oracle@test oraclelinux]$ ll /software/oraclelinux/install/unzip -rw-r--r-- 1 oracle oinstall 102612 Jul 2 2005 /software/oraclelinux/install/unzip [oracle@test oraclelinux]$ chmod 777 /software/oraclelinux/install/unzip 经过以上操作以后,才能顺利的调出安装界面 -------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------- cd /tmp/ sh orainstRoot.sh(运行此脚本是为了能让用户所选的组能够有升级oracle软件的权限) cd /oracle/OraHome1 sh root.sh 8、 配置安装后环境变量: export LD_ASSUME_KERNEL=2.4.1 export ORACLE_BASE=/oracle export ORACLE_HOME=/oracle/OraHome1 #export ORACLE_SID=orcl(定义自己的数据库实例名) export ORACLE_TERM=xterm export NLS_LANG=AMERICAN export THREADS_FLAG=native export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export TNS_ADMIN=$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib export CLASSPATH=$ORACLE_BASE/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib PATH=$PATH:$HOME/bin:/$ORACLE_HOME/bin:/sbin export PATH unset USERNAME 即时应用环境变量所配置的内容: . .bash_profile 至此oracle9i安装成功,但是安装后还存在一些问题,进入oracle9i的sql环境以后,会发现方向键在sql环境是用不了,此时必须安装几个定义方向键的几个包,配置方法请参考我的另一篇文章------------------------------------在RHEL3上安装并配置oracle9i的方向键支持

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值