Oracle SQL Developer一步一步复制数据库

时间:2012-11-07 14:58:15

标签: sql database oracle oracle-sqldeveloper database-administration

我在将Oracle数据库复制到同一服务器但使用其他名称时遇到了大麻烦,无法用作开发数据库。

我已经习惯了SQL Server,我是Oracle(11g)的新手。

我想使用SQL Developer的“数据库副本”,但我一直都会遇到错误。首先是关于缺少表空间。 然后,当我在新的空数据库中手动创建它们时,错误是关于缺少用户。 我想手动创建用户,但之后我首先需要创建缺少的角色。 当所有这一切完成后,失败的索引就失败了......

如何使用“数据库副本”复制我需要的所有内容?

非常感谢任何建议!

3 个答案:

答案 0 :(得分:4)

SQL Developer副本只会在模式之间复制对象。你想只制作一个模式的副本吗?或者是一个全新的数据库,包括所有模式

根据你的问题判断,我假设后者。如果是这样,RMAN“数据库重复”可能对您有所帮助。

请参阅Tim Hall优秀网站的http://www.oracle-base.com/articles/11g/duplicate-database-using-rman-11gr2.php

答案 1 :(得分:2)

  

最好的方法是创建一个新用户:

     

启动MSDOS Shell使用系统管理器连接到您的数据库   帐户   sqlplus / as sysdba

     

然后写下这些序列:

     

CREATE USER user2 IDENTIFIED BY user2password;

     

使用ADMIN OPTION向user2授予所有特权;

     

GRANT CONNECT TO user2;

     

向DB2授予DBA;

     

退出oracle提示

     

再次在MSDOS Shell中,导出当前用户1,如下所示:

     

exp user1 / password

     

或   exp user1 / password @ connectString

     

如果您在tnsnames.ora中指定了连接字符串   默认情况下回答所有问题,为导出文件指定名称,并指定只导出用户user1

     

然后继续在新用户2中导入转储,如下所示:

     

imp user2 / password2 fromuser = user1 touser = user2

     

默认回答所有问题,将名称命名为导出文件(如果不更改CmdShell的默认文件夹,则不必指定完整文件夹)

答案 2 :(得分:0)