怎么执行多行指令?比如说,telnet 到某一个服务器,做一些操作以后再exit 然后再ftp 到某个服务器 get一些文件
还有就是rman能不能实现远程备份,比如说从数据库服务器A备份到本地B机上。一定要关闭A吗?
也许问的比较傻,希望各位高人不吝赐教。

解决方案 »

  1.   

    不好意思,名字写错 是Java.lang.Runtime.exec
      

  2.   

    试试用shell处理多行指令rman需要数据库至少在mount的状态下,不用关机的
      

  3.   

    shell怎么用呢?
    能写一个telnet的例子么?
      

  4.   

    如果从windows平台上telnet,可以启动一个telnet工具(比如secure CRT, netterm之类的)调用vbscript脚本文件进行登录以及执行后续的命令。可以上网搜索一下。ftp就简单了,因为ftp命令支持
    ftp -s:脚本文件.txt 主机或IP
    这样的形式,即可以把ftp的命令放在脚本文件.txt文件中,直接由ftp命令调用。
      

  5.   

    谢谢cc,刚试了一下啊,rman也存在版本兼容问题,这样一来,imp,exp和用rman做备份是不是就差不多了,而且rman还要数据库处于归档模式下,这样不是更麻烦了吗?苦恼,因为在项目中我需要用quartz去实现任务的调度,这样一来,就只能用脚本了,各位还有没有好一些的建议,小弟我拜求各位高人指点。
      

  6.   


    1)用脚本执行多行指令,不同的OS环境 SHELL不同。
    2)RMAN不可以备份到远程。可以用EXP
      

  7.   

    主要是我不知道怎么说呢。具体情况是这样的:
    我的项目是BS模式的,web服务器是windows操作系统吧,数据库服务器是linux系统,而且web服务器上装的数据库和数据库服务器的数据库版本不一样,前者是10g,后者是9i,现在,我要做批处理程序,就是每周对数据库进行一次全备,但现在还不知道备到哪里,我就想测试一下,怎么能从数据库服务器备份到本地。
    exp虽然可以远程备份,但是版本不一样貌似也不可以备的,所以我就想的先要telnet到数据库服务器,进行数据备份,然后退出,再ftp上去把备份get过来。而且,我需要用到quartz去做任务的调度。也就是我要把备份功能写成一个可以用quartz调度的方法。楼上说的用脚本执行多行指令,不同的os环境 shell不同,
    我有点不明白,如果说我从windows的命令提示符下telnet到linux系统,那样是不是又得换个shell呢?
    这个问题问的可能很白痴,不好意思,让大家见笑了,
      

  8.   

    可以换个思路,不用telnet到linux上。直接在linux上写个备份脚本,做成crontab定时任务。然后再在windows上写个ftp的脚本,通过任务计划也做成定时任务。两个定时任务的间隔时间估计一下,足够备份完成就可以了。这样估计简单多了。或者在windows上开个ftp,crontab定时任务里面把备份文件上将传到windows.
      

  9.   

    嗯,这个我也想过,这样做的话,感觉两者的关系怪怪的。好像缺一不可,又好像两个没有什么关系。
    好像也没有比较好的方法了,我问下项目负责人,看这样行不行。
    在这里,我要谢谢大家的帮忙,
    谢谢cc,tomac,lpc,oraclelogan的帮助和hdhai的路过,
    谢谢管理员大叔删除了广告贴,
    谢谢csdn给我发帖的权利,
    谢谢家人给我生存的条件,
    谢谢娘子给我生活得动力。
      

  10.   

    如果要两个动作的关系比较紧密,可以这样:
    1)WINDOWS系统开启FTP SERVER服务。
    1)建立RMAN备份的脚本
    2)在LINUX系统建立SHELL SCRIPT, 调用RMAN备份脚本,完成后再执行FTP上传 FTP SERVER.当然,如果你需要详细的代码,也可以给你贴出来的。谢谢!