我习惯使用SQL Server,当我想在那里复制数据库时,我只需要在向导中点击几下即可...完整的数据库副本,而不会使源数据库脱机
我们现在也有一台Oracle 11g,因为有些机器需要它,我想制作数据库的副本。只需在同一台服务器上复制一份,作为我的软件开发的测试数据库。
我发现的所有指令都是充满步骤的页面,使用或不使用RMAN,您必须编写脚本,使用命令行内容...我很惊讶使用Oracle时这种常见任务的效率低下。
有没有简单的方法来复制数据库?也许只是将所有内容导出到SQL文件,然后编辑它以使用另一个数据库名称,然后再次执行它?
我在SQL Developer中看到,您可以从“工具”菜单中选择“数据库复制...”,但它会询问目标连接。如何在创建目标数据库时选择目标是运行向导的重点?或者是与DB不同的连接?
感谢您帮助我!
答案 0 :(得分:1)
您通常需要一个新数据库来复制数据,并且可以使用数据泵导出/导入复制数据。我担心的解决方法并不多,但您可能考虑的一个选择是更多地使用VM,例如Oracle自己的VirtualBox,因为它们可以非常容易地克隆,具有绝对确定的字节顺序 - 保真。
顺便提一下,制作数据库的逻辑副本(通过导出/导入)的一个问题是,很容易最终得到与表和索引不同的物理模式,这可能导致查询优化中的意外差异。