禾川爱玩网

oracle数据库备份与恢复,Oracle数据库备份与恢复 百度网盘

大家好,今天小编关注到一个比较有意思的话题,就是关于oracle数据库备份恢复问题,于是小编就整理了3个相关介绍oracle数据库备份与恢复的解答,让我们一起看看吧。

  1. oracletruncate怎么恢复?
  2. 如何快速实现oracle数据库中千万级大数据迁移与备份?
  3. Oracle数据库表突然没了,怎么查?

oracletruncate怎么恢复?

truncate table 是不激活回滚段的,不支持回滚。如果数据库是归档状态,有昨天的数据备份,就可以恢复昨天的数据到truncate之前的时间点;如果是非归档模式,有昨天的数据,则恢复昨天的数据吧;如果没有备份。那就无法没得回天术了。如果是业务系统,又不可进行恢复的话,结果同上。

如何快速实现oracle数据库中千万级大数据迁移与备份?

我根据实际工作中运用的Oracle迁移方法,来回答此问题。

oracle数据库备份与恢复,Oracle数据库备份与恢复 百度网盘
图片来源网络,侵删)

***定题主说的万级大数据,我理解的是有一个千万的表***设是 test用户下的 table1,需要从一个源始库A,迁移到目标库B。

针对这个千万级的表,我建议的方法是使用数据泵 (expdp, impdp ) 的方式来迁移,速度比普通的备份恢复(exp,imp) 更快。

一、 源始库 A 执行数据泵备份 expdp

oracle数据库备份与恢复,Oracle数据库备份与恢复 百度网盘
(图片来源网络,侵删)

1.使用前题 建立 directory

#sqlplus / as sysdba

SQL> create directory dump as '/opt';

oracle数据库备份与恢复,Oracle数据库备份与恢复 百度网盘
(图片来源网络,侵删)

Directory created.

千万级数据其实不算太多,方法很多

1 最简单的办法,使用db-link,方法如下:

(1)创建新的目标数据库

(2)在刚刚建好的目标数据上创建db-link,db-link指向源数据库

(3)将源数据库中的表结构在目标数据库上创建一次(注意这里不要用create table table_a select * from table_b@dblink,因为这样的话源表如果带有分区是带不过来的)

(4)使用insert into 将从源数据库导入目标数据库

这个方法的第(3)和第(4)步,如果你熟悉编程语言的话,可以用编程语言或者ETL工具来实现,不过我觉得直接用db-link是最简单高效的。


2 使用oracle的备份恢复功能

(1)还是要创建新的数据库

Oracle数据库表突然没了,怎么查?

如果Oracle数据库中的表突然消失,可以通过以下步骤进行排查和恢复:
1. 检查数据库连接:确保你正在连接正确的数据库,并且具有足够的权限来访问表。
2. 检查回收站:Oracle数据库有一个类似回收站的功能,当表被删除时,会进入这个回收站。通过查询回收站可以找回被删除的表。
```
SELECT object_name, original_name FROM recyclebin;
```
如果你找到了被删除的表,可以通过以下命令恢复表:
```
FLASHBACK TABLE <表名> TO BEFORE DROP;
```
3. 检查日志文件:Oracle数据库有一个叫做重做日志(redo log)的文件,用于记录所有对数据库操作的SQL语句。你可以查询这些日志文件来查找表被删除的操作。
```
SELECT * FROM v$log;
SELECT * FROM v$logfile;
```
如果你找到了表被删除的记录,可以使用REDO日志来恢复表。
4. 恢复备份:如果没有找到任何恢复数据的方法,最后的选择是通过数据库备份进行恢复。如果你有可用的数据库备份,可以通过将备份恢复到一个新的数据库实例,然后丢失的表导出并导入到原数据库中。
请注意,对于任何数据库故障或数据丢失情况,建议在进行任何操作之前先备份数据库,并在专业人士的指导下进行操作,以避免进一步的数据丢失。

到此,以上就是小编对于oracle数据库备份与恢复的问题就介绍到这了,希望介绍关于oracle数据库备份与恢复的3点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.hunanyunshu.com/post/20990.html

分享:
扫描分享到社交APP