我在服务器A上有个oracle数据库,里面有个表空间a(属于用户Aa),其中包含的表供程序使用。
现在我想在服务器B上(已经安装oracle数据库)搭建一个测试环境(即将服务器A上的表空间a里的所用表拷贝过来,并且也建立用户Aa)。现在我已经在数据库B上建立了表空间(名称为a)和用户Aa,请问高手,我通过什么脚本可以把服务器A上的表空间a里的表完全拷贝到服务器B上呢?
谢谢!

解决方案 »

  1.   

    http://blog.csdn.net/wh62592855/archive/2009/09/29/4614003.aspx通过EXP/IMP 导入导出来实现
    具体方法可以看看上面的文章
    里面的"用户模式"比较符合你的要求
    照着那个命令格式输入就可以了还有 纠正你一个概念
    表空间是不属于某个用户的
      

  2.   


    按用户导出导入就可以.表模式备份: ­
    [oracle@roy orcl]$ exp david/david rows=y indexes=n compress=n buffer=65536 file=exp_tianle_090101.dmp log=exp_tianle_090101.log tables=david.tianle; ­用户模式备份: ­
    [oracle@roy orcl]$ exp david/david owner=david rows=y indexes=n compress=n buffer=65536 file=exp_david__090101.dmp log=exp_david_090101.log; ­完全模式备份: ­
    [oracle@roy orcl]$ exp david/david rows=y indexes=n compress=n buffer=65536 full=y file=exp_fulldatabase_090101.dmp log=exp_fulldatabase_090101.log; ­表模式恢复: 
    [oracle@roy orcl]$ imp david/david fromuser=david touser=david rows=y indexes=n commit=y   buffer=65536 file=exp_tianle_090101.dmp log=imp_tianle_090101.log; ­用户模式恢复: ­
    [oracle@roy orcl]$ imp david/david fromuser=david touser=david rows=y indexes=n commit=y buffer=65536 file=exp_tianle_090101.dmp log=exp_tianle_090101.log; ­全库模式恢复: ­
    [oracle@roy orcl]$ imp david/david rows=y indexes=n commit=y  full=y ignore=y buffer=65536 file=/tmp/exp_fulldatabase_090101.dmp log=/tmp/imp.log;­.....http://blog.csdn.net/tianlesoftware/archive/2009/10/24/4718366.aspx
    ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716 
      

  3.   


    表空间是一个逻辑概念,数据时存储在表空间中的,一个用户只能对应一个表空间,一个表空间能对应多个用户。
    比如:create user test identified by test default tablespace tabs01;
    --建一个用户 test 密码 test 默认表空间是 tabs01,当然我还可以再建n个用户 默认表空间都是 tabs01
    --这样建表的时候如果不特殊指定,表中的数据就是存储在tabs01表空间中的。