我要建一个能够备份数据库存储过程,代码如下:
CREATE PROCEDURE "ZJFW"."BACKUP" begin
exp system/111111 full=y inctype=complete file=/home/oracle/db_comp.dmp
end;
但总是显示INVALID,EXP语句我放到批处理文件中试了,可以备份数据库的,请问那写的不对么?谢谢!

解决方案 »

  1.   

    EXP是操作系统命令 其实是个执行文件在存储过程中是不能够调用的
      

  2.   

    哎呀,一语惊醒,对啊,那是应该用BACKUP 么?我试试
      

  3.   

    oracle中是不是不支持SQL SERVER中的BACKUP DATABASE啊?请问想用SQL语句备份数据库应该怎么做呢?谢谢?
      

  4.   

    呵呵,双击一下批处理文件就行啦;
    建立文本文档,输入
    exp system/111111 full=y inctype=complete file=/home/oracle/db_comp.dmp后另存为backup.bat,然后客户如果要手动备份就自己双击一下就自动备份了呀
      

  5.   

    哦,linux下要用shell,跟批处理没多大区别
      

  6.   

    windows 里面写.bat文件,用任务定时执行。
    unix里面写.sh文件,用crontab定时执行。
      

  7.   

    我过去写了段小程序,做成windows服务之类的,可配置的
      

  8.   

    如果客户端允许安装oracle客户端,那么还是那个批处理,只要改成
    exp system/111111@connectstr full=y inctype=complete file=/home/oracle/db_comp.dmp
    就可以了,只要本地执行或调用一下就可以备份到客户端来;
    如果要备份到服务器的磁盘,则要通过net use命令连接到服务器,然后将file指定成目标路径下的文件名就可以了
    如:
    net use \\hostname\e$ password /user:username
    exp system/111111@connectstr full=y inctype=complete file=\\hostname\e$\home\oracle\db_comp.dmp如果你是要自己写程序实现,也只要调用这两条系统命令不过要是想调用服务器的环境执行改功能,恐怕只能你自己写一个远程连接工具或者在服务器端写一个服务程序处于随时等待状态,由客户端发送请求后服务器上的服务程序自己执行exp命令
      

  9.   

    放狗
    http://www.google.com/webhp?hl=en
    搜索
    oracle sql backup database