求一oracle中备份数据库的存储过程,希望各位高手能给我个测试通过的,不胜感激!!!

解决方案 »

  1.   

    /*备份数据库的存储过程*/
    if exists(
     select * from sysobjects
      where name='pr_backup_db' and xtype='p'
              )
    begin
     drop proc pr_backup_db
    end
    gocreate proc pr_backup_db
    @flag varchar(20) out,
    @backup_db_name varchar(128),
    @filename varchar(1000)  --路径+文件名字
    as
    declare @sql nvarchar(4000),@par nvarchar(1000)
    if not exists(
     select * from master..sysdatabases
      where name=@backup_db_name
      )
    begin
     select @flag='db not exist'  /*数据库不存在*/
     return
    end
    else
    begin
     if right(@filename,1)<>'\' and charindex('\',@filename)<>0
     begin
      select @par='@filename varchar(1000)'
      select @sql='BACKUP DATABASE '+@backup_db_name+' to disk=@filename with init'
      execute sp_executesql @sql,@par,@filename
      select @flag='ok'
      return
     end
     else
     begin
      select @flag='file type error'  /*参数@filename输入格式错误*/
      return
     end
    endGO
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/haojialin/archive/2006/03/30/645004.aspx
      

  2.   

    to:fatfoxz
    你的这个存储过程创建可以,但是执行的时候报错!   pr_backup_db无效!
      

  3.   

    上面的是sqlserver 的备份吧 用Rman好吗  很方便 cmd > rman target /  --没有使用恢复目录
    rman> run{
    allocate channel c2 --分配通道
    device type disk    --指定是备份到硬盘
    format='c:\backup\' --指定位置
    backup database plus archivelog --热备
    }
      

  4.   

    to:sql_xep
        我现在想实现的是数据库的定时备份,你说的这个Rman能实现吗???
      

  5.   


    肯定可以啦,Google下有很多
      

  6.   


    楼主大哥,你到时把SQL的那两个参数换成你用的啊
    pr_backup_db又不是你用的名,当然无效了
      

  7.   

    我已经换了啊,在oracle中就是报   pr_procedure(我的存储过程名)无效 ,你发个你在oracle中测试通过的例子吧,谢了!!
      

  8.   

    备份数据库的procedure???怎么不用物理备份和逻辑备份呀,他们都可以用shell脚本实现的呀。
      

  9.   

    可以用PLSQL Developer工具来备份。
      

  10.   


    小数据量可以用plsql中的exp备份但是大数据量需要用RMAN备份
      

  11.   

    到网上找个DBBackRestore.exe,这个专门做ORACLE数据库的备份及恢复
      

  12.   

    谁有Rman定时备份oracle的例子给发个,快来帮帮忙啊!
      

  13.   

    大家都是怎么实现oracle定时备份数据库的??给个例子。。