![Oracle 在同一主机上还原和恢复数据库?](https://linux22.com/image/555940/Oracle%20%E5%9C%A8%E5%90%8C%E4%B8%80%E4%B8%BB%E6%9C%BA%E4%B8%8A%E8%BF%98%E5%8E%9F%E5%92%8C%E6%81%A2%E5%A4%8D%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%9F.png)
- 我有DB1数据库服务器1。
- 我已备份。
- 之后我创建了表格测试。
- 在中插入一些值测试桌子。
- 截断的表。
并想归还我的测试表恢复到之前的状态。
- 为此,我进行了备份(数据文件、存档日志、控制文件、spfile)
我不想恢复整个数据库,只需要这个表。可以通过将数据库还原并恢复到另一台主机、从新数据库导出表并导入到现有数据库(DB1)来完成。
假设我只有一台服务器...我可以在同一台机器上使用新的数据库名称还原和恢复数据库吗?
等待您的建议,我也会尝试搜索一些东西......
答案1
这个问题的直接答案是:使用 Flashback。
如果您拥有企业版许可证,我认为启用 Flashback Query 是一种很好的做法。请记住,我们可以根据需要配置保留期,因此如果我们的系统产生大量更改或存储空间紧张,保留期可以缩短。如今,磁盘非常便宜,因此空间很少成为首要问题。如果您的服务器有足够的容量来安装完整副本您的数据库有足够的空间容纳大型闪回区域。
但是,您说您没有使用 Flashback,因此继续。
完全可以编辑备份控制文件来创建新的数据库,只要它是以正确的方式备份的:
alter database backup controlfile to trace
/
您需要更改数据库名称和所有文件的路径。我承认我还没有尝试过用此过程在同一台服务器上安装第二个数据库,但我不明白为什么它应该与将数据库克隆到另一台服务器上有什么不同。