`
usenrong
  • 浏览: 517550 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

oracle数据库自动定时备份脚本 ruby脚本 需要安装ruby

阅读更多
require 'net/http'
require 'Win32API'
class Getdatabasebackup    
  
  def deleteoldfile()
    @savefilecount=8
    #保留最后7份备份
    @orcle_path="D:/oracle/product/10.2.0/db_1/BIN/exp.exe"
    @user="demo/demo"
    @backup_path="e:/swiage/test/"
    #@backup_path="\\\\192.168.10.65/share/"
    #备份到网络路径下
    log=File.open("c:/log.txt","a")
    temp=0
    minfilename=""
    mincreate=0
    filecount=Dir.entries(@backup_path).length
    if(filecount>@savefilecount)
      Dir.foreach(@backup_path) do |f| 
       if(f.size>2)
        create=File.ctime(@backup_path+f).to_i
        if(mincreate==0)
          mincreate=create
          minfilename=f
        end 
        temp=create        
        if(mincreate>temp)
           mincreate=temp
           minfilename=f
        end
       end
      end 
      begin
        File.delete(@backup_path+minfilename)
        log<<Time.now.to_s+" delete file "+minfilename+"\n"
      rescue  
        log<<Time.now.to_s+" delete file "+minfilename+" error!\n"       
      end        
    end  
    result="error"
    while(result=="error")
       result=databasebackup(@orcle_path,@user,@backup_path) 
    end
    log<<Time.now.to_s+" backup database file "+result+"\n"
  end
  
  def databasebackup(toolspath,database,filepath)
     system = Win32API.new("msvcrt","system",['p'],'i')
     @filepath=filepath
     @toolspath=toolspath
     @database=database     
     filename="backup_"+Time.now.strftime("%Y_%m_%d_%H%M")+".dmp"
     stut =system.call(@toolspath+" "+@database+" GRANTS=Y file="+@filepath+ filename) 
     system=nil
     if(stut==0)
       return filename
     else
       return "error"
     end
  end
end

Getdatabasebackup.new.deleteoldfile()
    

 

Oracle_backup.rb

数据库备份程序,用于自动备份完整的数据库

 

 

脚本执行需要Ruby编译内核的支持即需要安装Ruby开发包。

分享到:
评论

相关推荐

    巧用Ruby配备Oracle数据库

    安装完成后,你可以通过一个简单的Ruby脚本来测试Oracle连接和查询功能。例如,设置Oracle SID,然后运行如下代码: ```bash set oracle_sid=xeruby -r oci8 -e "OCI8.new('hr', 'password').exec('SELECT * FROM ...

    ruby-oracle相关的数据库操作的gems包

    使用`ruby-oci8` Gem前,需要确保已安装Oracle客户端,因为Gem本身并不包含Oracle数据库的运行时库。安装宝石时,可以通过`gem install`命令,例如`gem install ruby-oci8-2.1.0.gem`,然后按照提示完成配置。在...

    巧用Ruby配备Oracle数据库.doc

    4. **连接和查询Oracle**:可以使用以下Ruby脚本连接并查询Oracle数据库。这段代码示例展示了如何使用OCI8连接到具有HR模式的数据库,并执行SQL查询,展示jobs表的所有记录。 ```ruby set oracle_sid=xeruby -r oci...

    centos下安装oracle 10g教程

    - 完成安装后,根据需要配置环境变量,以便正确地运行 Oracle 数据库。 5. **验证安装结果:** - 使用 SQL*Plus 或其他工具连接到刚刚创建的数据库实例,验证安装是否成功。 通过上述步骤,您可以顺利完成在 ...

    使用ROR编写ORACLE WEB应用

    在Rails中配置Oracle数据库,你需要安装特定的Oracle数据库驱动,如ruby-oci8或 ActiveRecord-OraAdapter。这些驱动使Rails能够与Oracle数据库进行通信,并支持SQL语句的执行。 在描述中提到的博文链接可能详细介绍...

    ruby-plsql-master

    - 在企业级应用中,可能需要与已有的Oracle数据库进行集成,此时`ruby-plsql-master`库可以提供方便的桥梁。 - 开发者可以使用Ruby编写业务逻辑,通过这个库与PL/SQL进行通信,处理数据库操作。 - 此外,对于那些...

    oracle12C依赖包.zip

    - **Perl/Python/Ruby等脚本语言**:用于自动化安装、配置和管理任务。 3. **安装步骤**: - **系统需求检查**:确保操作系统、硬件资源和网络配置满足Oracle 12c的最低要求。 - **依赖包安装**:根据操作系统...

    Oracle_11gR2依赖的RPM包

    5. **Perl/Python/Ruby**:这些脚本语言的解释器,Oracle的安装和管理脚本可能需要用到它们。 6. **OpenSSL**:提供安全套接层(SSL)和传输层安全(TLS)协议,用于加密通信,保护数据库的敏感数据。 7. **JRE/...

    PHP、Python、Ruby的(数据库、文件)比较(原创)

    在数据库方面,Python有强大的DB-API(Python Database API),兼容多种数据库,如SQLite、MySQL、Oracle等。此外,ORM(对象关系映射)框架,如SQLAlchemy,让Python数据库操作更加面向对象。Python在文件处理上...

    ruby watir教程

    下面是一个简单的示例,展示了如何使用Ruby Watir编写自动化测试脚本: ```ruby require 'watir' # 定义待测试的网站地址 test_site = 'http://www.aaawang.com/reg.asp?action=reg' # 初始化一个新的IE浏览器...

    无涯教程(LearnFk)-Ruby教程完整离线版.pdf

    程序员可以轻松地将Ruby程序与多种数据库(如DB2、MySQL、Oracle和Sybase)连接,利用Ruby直接在脚本中实现数据库操作。 Ruby对于初学者而言非常友好,它拥有许多与C++和Perl等语言相似的语法特性,这减少了学习...

    oracle-call-interface-programmers-guide(19c).pdf

    OCI也被领先的脚本语言驱动程序使用,例如Node.js的node-oracledb,PHP OCI8,ruby-oci8,Perl DBD :: Oracle,Python cx_Oracle和统计编程语言R的ROracle驱动程序。 包括财富500强客户和ISV在内的广泛客户直接在...

    ruby命令集合(一些有用的命令)

    - `-d, database=xxx`:用于指定使用的数据库类型(如mysql、oracle、postgresql、sqlite2、sqlite3等),默认为sqlite3。 - `-r, ruby-path=`:用于指定Ruby的安装路径,如果没有指定,则使用环境中的Ruby。 - `...

    solaris 10 install oracle 10

    关于提供的标签"源码 工具",在安装 Oracle 10g 过程中可能涉及源码编译,例如如果需要编译额外的驱动或工具来与数据库交互。此外,标签可能暗示了在 Solaris 10 上操作 Oracle 数据库时,可能需要使用特定的管理...

    ruby-libs-2.0.0.648-35.el7_6.i686.rpm

    Ruby 是开源的,在Web 上免费提供,但需要一个许可证。 Ruby 是一种通用的、解释的编程语言。 Ruby 是一种真正的面向对象编程语言。 Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。 Ruby 可以用来编写通用...

    w3school ruby教程 飞龙整理 20141001

    它支持多种GUI工具,如Tcl/Tk、GTK和OpenGL,同时可以方便地连接到各种数据库系统,如DB2、MySQL、Oracle和Sybase。Ruby的内置函数丰富,使得开发者可以直接在脚本中使用,无需额外的库或模块。 对于新手而言,学习...

    Ruby语言笔记包括简介、主要特性、命令行选项、环境变量、基础语法等

    - **数据库兼容性**:Ruby能够轻易地连接到DB2、MySQL、Oracle和Sybase等多种数据库。 - **内置函数**:Ruby提供了丰富的内置函数集合,可以直接在脚本中使用。 #### 三、Ruby的命令行选项 Ruby通常通过命令行启动...

Global site tag (gtag.js) - Google Analytics