oracle中怎么实现日志恢复功能

66次阅读
没有评论

共计 2042 个字符,预计需要花费 6 分钟才能阅读完成。

今天就跟大家聊聊有关 oracle 中怎么实现日志恢复功能,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

 
1. 创建用户
SQL create tablespace lits datafile e:\dbf\li01.dbf size 50m;
 
Tablespace created.
 
SQL create user li identified by li default tablespace lits;
 
User created.
 
SQL grant connect to li;
 
Grant succeeded.
– 允许用户 li 任意使用 lits 表空间
SQL alter user li quota unlimited on lits;
 
User altered.
 
SQL
 
 
2. 关库,删除 dbf 文件,模拟数据文件丢失或者损坏
SQL shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
– 删除 li01.dbf
 
 
3. 重启
SQL startup
ORACLE instance started.
 
Total System Global Area  171966464 bytes
Fixed Size  787988 bytes
Variable Size  145488364 bytes
Database Buffers  25165824 bytes
Redo Buffers  524288 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 11 – see DBWR trace file
ORA-01110: data file 11: E:\DBF\LI01.DBF
– 数据文件丢失只能启动到 mount 模式,如果要系统正常启动,可以先把丢失的文件 offline,其他正常的数据文件正常启动数据库
SQL select file#,ts#,name from v$datafile;
 
  FILE#  TS# NAME
———- ———- ———————————————————-
  1  0 E:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\SYSTEM01.DBF
  2  1 E:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS01.DBF
  3  2 E:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\SYSAUX01.DBF
  4  4 E:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\USERS01.DBF
  5  6 E:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\EXAMPLE01.DBF
  6  7 E:\DBF\MYTABLESPACE.DBF
  7  7 E:\DBF\MYTABLESPACE01.DBF
  8  7 E:\DBF\MY02
  9  8 E:\DBF\MYTS03
  10  9 E:\ORACLE\RMAN\RMANTS01.DBF
  11  10 E:\DBF\LI01.DBF
 
11 rows selected.
 
 
4.datafile offline 启动系统
 
SQL alter database datafile 11 offline;
 
Database altered.
 
SQL alter database open;
 
Database altered.
 
SQL
SQL
 
 
 
5. 删除原来损坏的新建 dbf,li01.dbf 必须是原来的同名
– 还有另外一种恢复方式,在备份前提下 把备份拷贝到 datafile 同名的数据文件进行恢复
SQL alter database create datafile e:\dbf\li01.dbf
 
Database altered.
 
 
 
6. 把日志同步到新的 dbf
SQL recover datafile e:\dbf\li01.dbf
Media recovery complete.
 
– 查不到表
SQL select * from li.li01;
select * from li.li01
  *
ERROR at line 1:
ORA-00376: file 11 cannot be read at this time
ORA-01110: data file 11: E:\DBF\LI01.DBF
SQL
 
 
7.datafile online
SQL alter database datafile 11 online;
 
Database altered.
 
SQL select * from li.li01;
 
  LID
———-
  1
  2
  3
 
SQL
– 查询结果是 commit 之前的结果。
SQL

看完上述内容,你们对 oracle 中怎么实现日志恢复功能有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计2042字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)