python oracle数据库备份脚本

简介:

学习python,将shell备份脚本改成了python脚本练手.python oracle备份脚本一例如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/env python  
# -*- coding: utf-8 -*- 
import  time
import  os
#配置oracle环境变量参数
os.environ[ "NLS_LANG" =  "Simplified Chinese_china.ZHS16GBK"
os.environ[ 'ORACLE_HOME' =  '/u01/app/oracle/product/10.2.0/db_1'
os.environ[ 'PATH' =  "/u01/app/oracle/product/10.2.0/db_1/bin"  +  ":"  +  os.environ[ 'PATH' ]
os.environ[ 'ORACLE_SID' =  "orcl"
os.environ[ 'LANG' =  "en_US"
#打印提示信息。
exp_node1  =  "\n成功备份文件到目录...."
exp_node2  =  "备份失败"
cls_node1  =  "数据库备份数据清除成功,删除语句如下...."
cls_node2  =  "数据库备份清除失败"
#配置导出的数据库信息
data_path  =  '/tmp/'
db_username  =  'abc'
db_password  =  'abc'
db_name  =  'abc'
"""
print os.getenv('NLS_LANG')
print os.getenv('ORACLE_HOME')
print os.getenv('ORACLE_SID')
"""
def  oracle_exp():
      exp_command  =  "exp %s/%s file=%s%s_%s-%s-%s_%s%s%s.dmp log=%s%s_%s-%s-%s_%s%s%s.log"   %  (db_username,db_password,data_path,db_name,time.strftime( '%Y' ),time.strftime( '%m' ),time.strftime( '%d' ),time.strftime( '%H' ),time.strftime( '%M' ),time.strftime( '%S' ),data_path,db_name,time.strftime( '%Y' ),time.strftime( '%m' ),time.strftime( '%d' ),time.strftime( '%H' ),time.strftime( '%M' ),time.strftime( '%S' ))
      exp_note  =  "数据库备份执行语句...."
      print  "\033[1;31;40m%s\033[0m"  %   exp_note
      print  "\033[1;31;40m%s\033[0m"  %   exp_command
      if  os.system(exp_command)  = =  0 :
         print  "\033[1;32;40m%s\033[0m"  %  exp_node1
      else :
         print  "\033[1;31;40m%s\033[0m"  %  exp_node2
 
def  backup_clear():
      cls_command1  =  '/usr/bin/find %s -mtime +1 -name "*.dmp" -exec rm -rf {} \;'  %  data_path
      cls_command2  =  '/usr/bin/find %s -mtime +1 -name "*.log" -exec rm -rf {} \;'  %  data_path
      if  os.system(cls_command1)  = =  0  and  os.system(cls_command2)  = =  0 :
         print  "\n\033[1;32;40m%s\033[0m"  %  cls_node1
      else :
         print  "\n\033[1;31;40m%s\033[0m"  %  cls_node2
      print  "%s"  %  cls_command1
      print  "%s\n"  %  cls_command2
 
def  main(): 
      oracle_exp() 
      backup_clear()
if  __name__  = =  "__main__"
      main()

执行结果:

image

image




本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1438673,如需转载请自行联系原作者

相关文章
|
14天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
56 7
|
27天前
|
Linux Shell Python
Linux执行Python脚本
Linux执行Python脚本
27 1
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(3)
Oracle数据库基本概念理解(3)
18 2
|
14天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
41 5
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据库基本概念理解(2)
Oracle数据库基本概念理解(2)
13 1
|
7天前
|
存储 Oracle 关系型数据库
Oracle的模式与模式对象:数据库的“城市规划师”
【4月更文挑战第19天】在Oracle数据库中,模式是用户对象的集合,相当于数据库的城市规划,包含表、视图、索引等模式对象。模式对象是数据存储结构,如表用于存储数据,视图提供不同查看角度,索引加速数据定位。良好的模式与模式对象设计关乎数据效率、安全和稳定性。规划时需考虑业务需求、性能、安全和可扩展性,以构建高效数据库环境,支持企业业务发展。
|
14天前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
35 7
|
17天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
23天前
|
存储 监控 异构计算
【Python】GPU内存监控脚本
【Python】GPU内存监控脚本
|
23天前
|
Ubuntu Unix Linux
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
【Linux/Ubuntu】Linux/Ubuntu运行python脚本

推荐镜像

更多