![在 Oracle 11 服务器上恢复 Oracle 9 备份?](https://linux22.com/image/795352/%E5%9C%A8%20Oracle%2011%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%81%A2%E5%A4%8D%20Oracle%209%20%E5%A4%87%E4%BB%BD%EF%BC%9F.png)
我们有一位客户在旧服务器上使用 Oracle 9i,他们想在新服务器上切换到 Oracle 11。
他们想备份旧数据库并在新服务器上恢复。这可以直接执行吗,还是需要先将旧服务器升级到 11?
两台服务器都是 Windows,因此不需要处理任何操作系统转换。
答案1
一个解决方案是使用导出/导入。根据数据库的大小,这可能会很慢。
将数据库从 9i 升级到 11g 也可能很痛苦。
编辑:有了这么多数据,升级可能会更快。我不知道从 9i 到 11g 的路径是什么,但您可能需要升级两次(9i->10g,然后 10g->11g)。它仍然可能更快,因为它通常不需要对您的数据进行太多处理。无论您如何做,这都不会是一个小时的工作 ;-) 客户能承受太多的停机时间吗?
答案2
实际上你可以做到这一点。你不必升级旧服务器。
如果升级服务器上的数据库,则必须执行以下步骤:
1) 在服务器上安装新软件
2) 为升级准备新环境(例如 spfile)
3) 为升级准备旧数据库
4) 关闭旧数据库
5) 在新环境中启动数据库(启动升级)
6) 将升级过程应用于新数据库
如果恢复新服务器进行升级,请执行以下步骤:
1) 在新服务器上安装新软件
2) 为升级准备新环境(例如 spfile)
3) 为升级准备旧数据库
4) 将数据库恢复到新服务器到您想要的时间点(但在升级准备完成的时间点之后)但不要打开它
5) 在新环境中打开数据库(alter database open upgrade;)
6) 将升级过程应用于新数据库
因此,RMAN 可帮助您将数据库传输到新服务器,但无法帮助您避免升级步骤。您可以保持旧数据库打开,但恢复到的时间点之后所做的所有更改仍保留在旧数据库中,因此会丢失。
Oracle 支持中有一些文档涵盖了此主题
- 关于在不同版本和平台之间恢复或复制的常见问题 (文档 ID 369644.1)
- 手动升级至 11gR2 的完整清单(文档 ID 837570.1)
- 将数据库恢复到更高的补丁集(文档 ID 558408.1)
答案3
假设你仅有的这里讨论数据库:
因为您要移动到新机器,所以 rman 是可行的方法。导出然后导入。
如果您不打算迁移到新机器,那么升级数据库将是最佳选择。
如果您有任何 Oracle 应用程序,则需要升级而不是导出/导入。