我用数据泵备份,每天都用导出备份的数据,现在我想写个脚本,把数据传送到异地。谁有个代码,能否发一个?

解决方案 »

  1.   

    到网上拉一个ftp的代码就可以了,然后加点自己自动判断的代码,一切ok,我以前写了一个,现在不知道扔什么地方了,呵呵
      

  2.   

    利用expdp的network_link参数,通过建立database_link,可以将远程的数据导出到本地,只要将expdp脚本设为自动执行的就可以了
      

  3.   

    这种那就比较简单了嘛,先每天设置自动备份,然后在远程设置为FTP的目录,然后在备份的脚本中增加通过FTP传数据过去就OK啦!
      

  4.   

    要是Linux的话,写个SHELL,可能还要用到EXPECT
      

  5.   


    这个方法有个前提,备份机上要建立一个Oracle10数据库,用此数据库通过数据泵导出目标数据库数据到备份机上.
    例如,本地是个windows系统,有一个数据库,我们想导出远程Linux系统scott用户下的所有数据,其方法为1. 利用net manager在本地建立一个对远程数据库的连接字符串,设其名称为linux
    2. 在本地scott用户下建立一个连接远程数据库的database link,注意database link名称要和远程数据库的db_name一致,我们这里设远程数据库的db_name为dblx
       create database link dblx connect to scott identified tiger using 'linux';
    3. 测试此database link
       在本地执行
        select * from global_name@dblx;
       如果返回以dblx开头的字符串,则创建成功
    4. 在本地导出远程scott用户的数据   expdp scott/tiger directory=data_pump_dir dumpfile=data.dmp logfile=data.log network_link=dblx
      

  6.   

    3. 测试此database link 
      在本地执行 
        select * from global_name@dblx;
    我执行了这句能返回关于dblx开头的字符串。到第四步,我如何导出远程的数据库啊!
    我本地192.168.0.189有一个Oracle10数据库,需要导出局域网中的数据IP:192.168.0.1881、create database link rfiduser connect to scott identified by tiger using 'linux';2、select * from global_name@rfid; 3、expdp rfiduser/jky_rfid_hxxj directory=rfidnew dumpfile=myusertab1.dmp logfile=myusertab1.log tables=zswtest network_link=rfid执行最后一句语句时没有导出来啊!只能到处本地的192.168.0.189的,我想导出的192.168.0.188的导不出来。
          而且我一直没有明白,他通过create database link dblx connect to scott identified tiger using 'linux'; 这条语句就能和远程的链接起来吗?假如有几个名字都是一样的数据库,那不是不知道是导出那一个数据库了!