最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python+cx_Oracle安装及一个简单示例(归档下热备数据文件)

来源:动视网 责编:小采 时间:2020-11-09 12:15:39
文档

Python+cx_Oracle安装及一个简单示例(归档下热备数据文件)

Python+cx_Oracle安装及一个简单示例(归档下热备数据文件):系统环境:[root@nich4 cx_Oracle-py]# uname -aLinux nich4 2.6.18-1.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i38 系统环境:[root@nich4 cx_Oracle-py]# uname -aLinux nich4 2.6.18
推荐度:
导读Python+cx_Oracle安装及一个简单示例(归档下热备数据文件):系统环境:[root@nich4 cx_Oracle-py]# uname -aLinux nich4 2.6.18-1.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i38 系统环境:[root@nich4 cx_Oracle-py]# uname -aLinux nich4 2.6.18


系统环境:[root@nich4 cx_Oracle-py]# uname -aLinux nich4 2.6.18-1.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i38

系统环境:
[root@nich4 cx_Oracle-py]# uname -a
Linux nich4 2.6.18-1.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux

python版本:
[root@nich4 cx_Oracle-py]# python -V
Python 2.4.3

oracle版本:
oracle database 10.2.0.5 x86

cx_Oracle简介:
cx_Oracle 是一个 Python 扩展模块,通过使用所有数据库访问模块通用的数据库 API 来实现 Oracle 数据库的查询和更新。为使用一些专为 Oracle 设计的特性,还加入了多个通用数据库 API 的扩展。

cx_Oracle 的开发历时十多年,涵盖了大多数需要在 Python 中访问 Oracle 的客户的需求。2008 年 12 月,,一个新的主要版本解决了早期版本的众多,并增添了对 Python 3.0 和 Oracle 新推出的一些特性的支持。

cx_Oracle官方及下载:

下载与python版本对应的cx_Oracle版本,一般选择非UNICODE版本就行了.
我选择的是CentOS 5 i386 RPM (Oracle 10g, Python 2.4)

下载之后rpm -ivh 安装.
修改oracle环境变量,加入:
export LD_LIBRARY_PATH=/opt/oracle/10g\:/opt/oracle/10g/network/lib

连接数据库示例:
以下是一个在归档数据库下热备份数据文件的脚本.
#!/bin/env python
# -*- coding: UTF-8 -*-
# Modified: 20101012-23:25:43 by nich4@msn.com
# Filename: hotbak.py
#
import subprocess
import cx_Oracle
import os

db_username = 'sys'
db_passwd = 'oracle123'
db_sid = 'sol10g'
bak_dir = '/u01/app/oracle/oradata/bak/sol10g/'

db = cx_Oracle.connect(db_username,db_passwd,db_sid,cx_Oracle.SYSDBA)
print "连接数据库成功!"
curs = db.cursor()

sql = r'''select 'cp '||name||' %s' from v$datafile''' % bak_dir
res = []
for rs in curs.execute(sql):
res.append(rs[0])

curs.execute('alter database begin backup')
print "开始备份数据文件..."
for i in res:
fname = i.split()[1].split('/')[-1].strip()
print "正在备份%s 到 %s ..." % (fname,bak_dir)
subprocess.call(i,shell=True)
print "数据文件%s 备份完成!" % fname

curs.execute('alter database end backup')
db.close()
print "备份完成!"

注: 该脚本在solaris-10+oracle-10gR2下测试. 这个脚本没有使用python的shutil模块来执行文件的拷贝.仅为演示用.

文档

Python+cx_Oracle安装及一个简单示例(归档下热备数据文件)

Python+cx_Oracle安装及一个简单示例(归档下热备数据文件):系统环境:[root@nich4 cx_Oracle-py]# uname -aLinux nich4 2.6.18-1.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i38 系统环境:[root@nich4 cx_Oracle-py]# uname -aLinux nich4 2.6.18
推荐度:
标签: 一个 文件 安装
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top