我想从A机器把所有的表和存储过程导入到B机器
B机器已经有表了,我希望用A机器的数据覆盖掉B机器的数据

解决方案 »

  1.   

    exp a中的表 然后imp到b中
      

  2.   

    所有表??。。
    如果是用户我倒是有个想法先把b的导出,然后重建b用户,然后导入a的文件,后面再导b的文件加上 ignore=y
      

  3.   

    可以使用oracle中exp和imp命令来执行。
    比如:
    exp scott/admin@scott file=d:\exptest.dmp owner=scott ---导出数据
    imp scott/admin@scott file=d:\exptest.dmp ignore=y    ---导入数据 scott(用户名)/admin(密码)@scott(监听服务名) 
    ignore=y  即覆盖掉原先的--导入ORACLE参数
    参数    说明
    USERID    指定执行导入的用户名和密码
    BUFFER    指定用来读取数据的缓冲区大小,以字节为单位
    COMMIT    指定是否在每个数组(其大小由BUFFER参数设置)插入后进行提交
    FILE    指定要导入的二进制文件名
    FROMUSER    指定要从导出转储文件中导入的用户模式
    TOUSER    指定要将对象导入的用户名。FROMUSER与TOUSER可以不同
    FULL    指定是否要导入整个导出转储文件
    TABLES    指定要导入的表的列表
    ROWS    指定是否要导入表中的行
    PARFILE    指定传递给导入实用程序的参数文件名,此文件可以包含这里列出的所有参数
    IGNORE    导入时是否忽略遇到的错误,默认为N
    TABLESPACES    按表空间方式导入,列出要导入的表空间名